介绍
MySQL数据操作: DML
========================================================
在MySQL管理软件中,可以通过SQL语句中的DML语言来实现数据的操作,包括
- 使用INSERT实现数据的插入
- UPDATE实现数据的更新
- 使用DELETE实现数据的删除
- 使用SELECT查询数据以及。
=========================================================
主要内容包括:
插入数据 更新数据 删除数据 查询数据
插入(增加)数据insert
插入完整数据(顺序插入)
- 语法一:INSERT INTO 表名(字段1,字段2,字段3…字段n) VALUES(值1,值2,值3…值n);指定字段来插入数据,插入的值要和你前面的字段相匹配
- 语法二:INSERT INTO 表名 VALUES (值1,值2,值3…值n);不指定字段的话,就按照默认的几个字段来插入数据
指定字段插入数据
语法: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'@'%';
```