MySQL数据事务语言(DTL)和数据控制语言(DCL)

    Python编程 wuya 136次浏览 已收录 0个评论

    数据事务语言(DTL)

    • 说明:用于测试的表的存储引擎必须支持事务(InnoDB)
    • 开启事务:禁止自动提交
      • set autocommit=0;
    • 提交事务:在整个事务过程没有问题时执行
      • commit;
    • 操作回滚:事务处理过程中出现问题时执行
      • rollback;
    • 代码操作
      # 开启事务
      try:
          # 执行事务的操作
      except Exception as e:
          # 操作回滚
      else:
          # 提交事务

    数据控制语言(DCL)

    • 查看用户
      select Host, User from mysql.user;
    • 查看授权
      • 格式:show grants [for 'user'@'host'];,省略用户默认查看当前登录的用户
      • 示例:show grants [for 'root'@'localhost';]
    • 创建用户
      • 格式:create user 'user'@'host' identified by 'password'
      • 示例:create user 'dahua'@'10.8.162.%' identified by '123456';
      • 说明:%表示任意的
    • 用户授权
      • 格式:grant 权限 privileges on 库.表 to 'user'@'host' [identified by 'password']
      • 示例:grant all privileges on test.* to 'dahua'@'10.8.162.%';
      • 说明:
        • 权限:insert、delete、update、selectall表示所有权限
        • %:表示任意的主机
        • *:表示所有的库或表
    • 刷新权限:flush privileges;
    • 取消授权:
      • 格式:revoke 权限 privileges on 库.表 from 'user'@'host';
      • 示例:revoke all privileges on test.* from 'dahua'@'10.8.162.%';
    • 删除用户:
      • 格式:drop user 'user'@'host';
      • 示例:drop user 'dahua'@'10.8.162.%';

    练习:

    • star表中查找年龄大于30的明星,然后按照省份进行分组,保留人数大于1的省份,找到人数第二多的省份及个数
    • 请选出哪些商品没有被购买过
      • 请选出哪类商品的总销量最多​

    学海无涯 , 版权所有丨如未注明 , 均为原创丨转载请注明MySQL数据事务语言(DTL)和数据控制语言(DCL)
    喜欢 (0)
    发表我的评论
    取消评论
    表情 加粗 删除线 居中 斜体 签到

    Hi,您需要填写昵称和邮箱!

    • 昵称 (必填)
    • 邮箱 (必填)
    • 网址