zoukankan      html  css  js  c++  java
  • mysql创建用户视图 事务存储过程 触发器 约束的打怪

    创建用户
    create user 用户名@主机名 identified by '密码’
    在这里插入图片描述
    说明:
    1)Create user 关键字
    2)用户名 //登录数据库服务器的名称 mysql –h主机名 –u用户名 –p密码
    3)主机名 //可以是域名或IP地址或 ‘%’, 代表任意主机名可以登录数据库服务器
    4)“@” //用户名与主机名之间分隔符
    5)Identified by //在创建用户时候设置的密码 , 注意设置密码时候 必须 加 引号
    在这里插入图片描述
    查看本机的所有用户

    在mysql数据库的user表中

    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    修改用户密码
    1)自己修改密码
    set password = password(‘新密码’)
    在这里插入图片描述

    1)为普通用户修改密码
    Set password for 用户名@主机 = password(‘新密码’);
    在这里插入图片描述
    4.删除用户
    drop user 用户@主机
    在这里插入图片描述

    二、权限管理

    1.分配权限
    Grant 权限列表 on 库.表 to 用户@主机
    说明:
    1)Grant 授权
    2)权限列表: 设置用户可以操作数据库或的权限,如select,update,delete…. , 如果all 代表所有权限.
    3)On 库.表名; // on 关键字, 库名.表名 : 对哪个数据库下的表进行设置权限.
    4)如果库名.* //库中所有的表
    5)如果 all //代表数据库服务器中所有的数据库
    6)To //为哪个用户授权.
    在这里插入图片描述
    在这里插入图片描述
    使用select 执行查询如下图:
    在这里插入图片描述
    在这里插入图片描述

    2.取消权限
    Revoke 权限列表 on 库.表 from 用户@主机

    说明:
    1)Revoke 关键字 取消授权
    2)From 从哪个用户将权限收回.
    在这里插入图片描述
    在这里插入图片描述

    三、数据库备份与恢复

    1.为什么要备份
    有不可抗拒的因素,导致数据库损坏. 如果有了备份则可以通过备份的数据进行恢复.
    2.使用备份与恢复的命令
    1)备份: mysqldump
    2)恢复: mysql
    3)注意: 以上两个命名是 cmd下执行的. (不用登录数据库服务器)
    3.mysqldump单表备份与恢复
    备份: mysqldump –h主机 –uroot –proot 库名 表名 > 路径.sql
    说明:
    1)“>” 将备份的数据放到哪个SQL文件中 “*.sql “
    2)在备份单表时, 注意写法, 库名 空格 表名; (不是库名.表名)

    在这里插入图片描述
    恢复:mysql –uroot –proot 库名 < 路径.sql
    说明:

    1. 使用 mysql 这个命令行恢复
      2)注意 “<”
      3)注意, 在恢复时, 直接写库名 (在恢复是不加表名);

    将tb_stu表删除:
    在这里插入图片描述
    恢复一下:
    在这里插入图片描述
    在这里插入图片描述
    4.mysqldump整个数据库备份与恢复
    备份: mysqldump –uroot –proot 库名 > 路径.sql
    在这里插入图片描述
    恢复:mysql –uroot –proot 库名 <路径.sql
    删除数据库:
    在这里插入图片描述
    将db_mytest.sql数据库文件中所有数据进行恢复
    在恢复时候,要创建一个新空库, 库名自定义;
    Create database db_mytest;
    在这里插入图片描述
    使用mysql进行恢复:
    在这里插入图片描述
    登录数据库服务器查看所有数据库:
    在这里插入图片描述
    在这里插入图片描述
    四、视图(view)
    1.视图的概念
    数据库中的视图指的是一个虚拟表,其内容由查询定义。同真实的表一样,视图也是由行与列构成的。视图的数据来源由SQL语句查询得到,不存储数据。
    2.视图的创建方法
    格式:
    Create view 视图的名称 as select 查询 ;
    创建一个视图: tb_stu表中 age小于25的所有记录
    Create view v_age as select * from tb_stu where age <25;
    在这里插入图片描述
    在这里插入图片描述
    3.查看视图创建语句在这里插入图片描述
    4.查看视图结构
    Desc 视图名称
    在这里插入图片描述
    5.显示所有视图
    Select * from information_schema.views G
    在这里插入图片描述
    6.修改视图
    Alter view 视图名称 as select 查询在这里插入图片描述
    查询(使用)视图
    在这里插入图片描述
    7.更新视图中数据
    在这里插入图片描述
    8.删除视图
    Drop view 视图的名称在这里插入图片描述
    9.视图算法
    概述: 指的是一个视图是在什么时候执行,依据哪些方式执行
    1)Merge合并
    合并的执行方式,每当执行的时候,先将视图的sql语句与外部查询视图的sql语句,合并在一起再执行;
    格式: create ALGORITHM=MERGE view 视图名称 as SQL查询;
    说明: Algorithm 视图定义算法的关键字
    在这里插入图片描述
    2)Temptable临时表
    临时表模式,每当查询的时候,将视图所使用的select语句生成一个结果的临时表,再在当前的临时表内进行查询。(先执行视图中的SQL语句虚拟表,然后再从这个虚拟表中再执行查询)

    格式: create ALGORITHM= TEMPTABLE view 视图名称 as SQL查询;
    在这里插入图片描述
    3)Merge, Temptable算法的差异:
    实例: 统计表: tb_phone , 同类手机的最高价格的产品?在这里插入图片描述
    在这里插入图片描述
    10.视图的应用场景
    1)应用复杂的SQL语句进行简化语句输入
    在这里插入图片描述2)隐藏某些字段,保护数据在这里插入图片描述
    五、事务
    1.事务的概念
    事务(transaction)是一组SQL语句操作,组成这组操作的各个SQL语句,都必须全部执行成功,才有结果. 任意一个SQL语句执行失败,最终结果将不会真正执行.
    2.事务与存储引擎在这里插入图片描述
    3.事务处理
    1)开启事务

    式: start transaction ; 或 begin transaction;
    Mysql默认SQL语句结束符为 “;”, 由于事务中有多条SQL语句,事务还没有结束,此时不能执行SQL语句. 在事务当中,要修改一个默认的SQL语句的结束符;
    修改的方法: delimiter 语句结束符 , 语句结束符,可以自己定义, 如: //, ,,$,??,???
    当事务所有SQL语句完成之后,再将结束符修改回来, 再修改结束符为 “;”

    Delimiter // 开始
    写多条
    SQL语句1;
    SQL语句2;
    ……
    // 结束

    Delimiter ; 再将结束符修改回来

    Delimiter //
    Sql;
    Sql;
    //
    Delimiter 空格 ;
    

    2)提交事务

     delimiter //
     update icbc set money=money-500 where name = 'tom';
     update icbc set money=money+500 where name = 'jerry';
     //
    Delimiter ; 
    

    在这里插入图片描述
    在这里插入图片描述
    原理: 事务中所有的SQL语句执行成功, 这个修改只是在内存中发生变化 ,而实际数据并没有改变. 对于事务修改原始数据,必须提交的过程, commit ;在这里插入图片描述
    再使用另一个窗口查询:在这里插入图片描述
    3)回滚事务在这里插入图片描述
    在这里插入图片描述在这里插入图片描述在这里插入图片描述

    4.事务的特点(ACID)
    1)原子性(Atomicity):事务是由一个或一组相互关联的SQL语句组成,这些语句被认为是一个不可分割的单元。
    2)一致性(Consistency):对于数据库的修改是一致的,数据库从一个状态到另一个状态
    3)隔离性(Isolation):每个事务都有自己的空间,一个事务的执行不被其它事务所干扰
    4)持久性(Durability):提交了这个事务之后对数据的修改更新就是永久的。

    六、MySQL中函数
    1)系统函数
    函数的调用方法: select 函数名称([参数])
    now();

    在这里插入图片描述

  • 相关阅读:
    聊聊mysql中的int(1)
    如何有效防止sql注入
    微信小程序WXML页面常用语法(讲解+示例)
    Spring Boot 2.x基础教程:使用集中式缓存Redis
    基于.NetCore3.1系列 —— 日志记录之自定义日志组件
    精讲RestTemplate第10篇-使用代理作为跳板发送请求
    使用Java API进行tar.gz文件及文件夹压缩解压缩
    精讲RestTemplate第9篇-如何通过HTTP Basic Auth认证
    精讲RestTemplate第8篇-请求失败自动重试机制
    精讲RestTemplate第7篇-自定义请求失败异常处理
  • 原文地址:https://www.cnblogs.com/liuqun/p/12655186.html
Copyright © 2011-2022 走看看