介绍

MySQL数据操作: DML

========================================================

在MySQL管理软件中,可以通过SQL语句中的DML语言来实现数据的操作,包括

  1. 使用INSERT实现数据的插入
  2. UPDATE实现数据的更新
  3. 使用DELETE实现数据的删除
  4. 使用SELECT查询数据以及。

=========================================================

主要内容包括:

插入数据     更新数据     删除数据     查询数据

插入(增加)数据insert

  1. 插入完整数据(顺序插入)

    • 语法一:INSERT INTO 表名(字段1,字段2,字段3…字段n) VALUES(值1,值2,值3…值n);指定字段来插入数据,插入的值要和你前面的字段相匹配
    • 语法二:INSERT INTO 表名 VALUES (值1,值2,值3…值n);不指定字段的话,就按照默认的几个字段来插入数据
  2. 指定字段插入数据

    • 语法:INSERT INTO 表名(字段1,字段2,字段3…) VALUES (值1,值2,值3…);

    • 插入多条记录 语法:#插入多条记录用逗号来分隔

      INSERT INTO 表名 VALUES
          (值1,值2,值3…值n),
          (值1,值2,值3…值n),
          (值1,值2,值3…值n);
    • 插入查询结果 语法:

      INSERT INTO 表名(字段1,字段2,字段3…字段n) 
                      SELECT (字段1,字段2,字段3…字段n) FROM 表2
                      WHERE …;

      将从表2里面查询出来的结果来插入到我们的表中,但是注意查询出来的数据要和我们前面指定的字段要对应好

更新(修改)数据UPDATE

  • 语法:

    ```python

    UPDATE 表名 SET 字段1=值1, # 注意语法,可以同时来修改多个值,用逗号分隔 字段2=值2, WHERE CONDITION; # 更改哪些数据,通过where条件来定位到符合条件的数据 ```

删除数据delete

  • 语法:

    DELETE FROM 表名 
            WHERE CONITION; # 删除符合条件的一些记录
        DELETE FROM 表名;

    如果不加where条件,意思是将表里面所有的内容都删掉,但是清空所有的内容,一般我们用truncate ,能够将id置为零,delete不能将id置零,再插入数据的时候,会按照之前的数据记录的id数继续递增 示例:

    DELETE FROM mysql.user 
            WHERE password='zhaohaiyu';

查询数据SELECT

https://www.cnblogs.com/zhaohaiyu/articles/11446756.html

权限管理

授权表

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

创建用户

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

针对所有库的授权:.

grant select on . to 'zhy'@'localhost' identified by '123'; #只在user表中可以查到egon1用户的select权限被设置为Y
#针对某一数据库:db1.*
grant select on db1.* to 'zhy'@'%' identified by '123'; #只在db表中可以查到egon2用户的select权限被设置为Y
#针对某一个表:db1.t1
grant select on db1.t1 to 'zhy'@'%' identified by '123'; #只在tables_priv表中可以查到egon3用户的select权限
#删除权限
revoke select on db1.* from 'zhy'@'%';
```