• 记录的增删改查和权限管理


    主要内容:

      一、插入数据--insert

      二、更新数据--update

      三、删除数据--delete

      四、权限管理

    1️⃣  插入数据--insert

     1、插入完整的数据
            语法一(指定字段插入):
                insert into 表名(字段1,字段2,...字段n) values(值1,值2,值3...值n);
            语法二(整体插入):
                insert into 表名 values(值1,值,...值n);
        2、插入多条记录
            语法:
                insert into 表名 values
                    (值1,值2,值3...),
                    (值1,值2,值3...),
                    (值1,值2,值3...);
        3、插入查询结果
            语法:
                insert into 表名(字段1,字段2,...)
                                select(字段1,字段2,字段3...) from 表2 where ...;

    2️⃣  更新数据--update

    语法:
            update 表名 set
                    字段1=值1,
                    字段2=值2,
                    where condition;
        例如:update mysql.user set password=password('123')
                                    where user='root' and host='localhost';

    3️⃣  删除数据--delete 

     语法:
            delete from 表名 where condition;
        示例:
            delete from mysql.user where password='';

    4️⃣  权限管理 

      1、授权表 

    user #该表放行的权限,针对:所有数据,所有库下所有表,以及表下的所有字段
    db #该表放行的权限,针对:某一数据库,该数据库下的所有表,以及表下的所有字段
    tables_priv #该表放行的权限。针对:某一张表,以及该表下的所有字段
    columns_priv #该表放行的权限,针对:某一个字段

      2、创建用户

    create user 'cc'@'1.1.1.1' identified by '123';
    create user 'cc'@'192.168.1.%' identified by '123';
    create user 'cc'@'%' identified by '123';

      3、授权:对文件夹,对文件,对文件某一字段的权限

    查看帮助:help grant
    常用权限有:select,update,alter,delete
    all可以代表除了grant之外的所有权限 
    #针对所有库的授权:*.*
    grant select on *.* to 'cc1'@'localhost' identified by '123'; #只在user表中可以查到cc1用户的select权限被设置为Y
    
    #针对某一数据库:db1.*
    grant select on db1.* to 'cc2'@'%' identified by '123'; #只在db表中可以查到cc2用户的select权限被设置为Y
    
    #针对某一个表:db1.t1
    grant select on db1.t1 to 'cc3'@'%' identified by '123';  #只在tables_priv表中可以查到cc3用户的select权限
    
    #针对某一个字段:
    mysql> select * from t3;
    +------+-------+------+
    | id   | name  | age  |
    +------+-------+------+
    |    1 | cc1   |   18 |
    |    2 | cc2   |   19 |
    |    3 | cc3   |   29 |
    +------+-------+------+

     grant select (id,name),update (age) on db1.t3 to 'cc4'@'localhost' identified by '123'; 

      4、可以在tables_priv和columns_priv中看到相应的权限

    mysql> select * from tables_priv where user='cc4'G
    *************************** 1. row ***************************
           Host: localhost
             Db: db1
           User:cc4
     Table_name: t3
        Grantor: root@localhost
      Timestamp: 0000-00-00 00:00:00
     Table_priv:
    Column_priv: Select,Update
    row in set (0.00 sec)
    
    mysql> select * from columns_priv where user='cc4'G
    *************************** 1. row ***************************
           Host: localhost
             Db: db1
           User:cc4
     Table_name: t3
    Column_name: id
      Timestamp: 0000-00-00 00:00:00
    Column_priv: Select
    *************************** 2. row ***************************
           Host: localhost
             Db: db1
           User: cc4
     Table_name: t3
    Column_name: name
      Timestamp: 0000-00-00 00:00:00
    Column_priv: Select
    *************************** 3. row ***************************
           Host: localhost
             Db: db1
           User: cc4
     Table_name: t3
    Column_name: age
      Timestamp: 0000-00-00 00:00:00
    Column_priv: Update
    rows in set (0.00 sec)

    5️⃣删除权限

    revoke select on db1.* to 'alex'@'%';

      

  • 相关阅读:
    [Dynamic Language] Python Django: 模板引擎(3)模板标签和过滤器
    [Linux] Ubuntu: 登陆界面无法输入密码
    [Dynamic Language] Python Exec & Compile
    [Dynamic Language] Python: 类基本结构和继承
    [Linux] VIM 代码折叠
    [Database] MongoDB (2) 高级查询条件操作符
    [Dynamic Language] Python: unindent does not match any outer indentation level
    [Linux] VMware 配置linux后出现提示:Failed to initialize remote display subsystem
    [Database] Redis (2) redispy API Reference
    [Database] MongoDB (1) 基本连接、操作、查询
  • 原文地址:https://www.cnblogs.com/schut/p/9061994.html
Copyright © 2020-2023  润新知