目录
DML
什么是DML?
Data Manipulation Language(DML)在SQL(结构化查询语言)中用于管理和操作关系数据库中的数据,是数据操纵语言,以INSERT,UPDATE,DELETE三种指令为核心,分别用于插入,更新,删除。
DML基本操作
1.添加数据
insert into 表名(字段1,字段2...)values (值1,值2...);
演示:
假如表名为emp,表中有依次有:(name,age,school)三个信息,需要插入的信息为(姓名:懒羊羊,年龄:3,学校:大肥羊学校),则可以写出如下两种代码:
insert into emp values('懒羊羊',3,'大肥羊学校');
insert into emp(name,age,school) values ('懒羊羊',3,'大肥羊学校');
当然,如果只需要插入name 信息,可以用如下代码表示:
insert into emp(name) values ('懒羊羊');
2.修改数据
update 表名 set 字段1=值1,字段2=值2 where 条件;
接下来将通过例子来演示:
- 表emp中存在id,name,age 三个信息,现在需要在id=1的位置插入name为‘美羊羊’,以及age为5的数据,代码如下:
update emp set name='美羊羊',age=5 where id='1';
- 将所有人的学校改为‘大肥羊学校’
update emp set school='大肥羊学校';
3.删除数据
delete from 表名 where 条件
示例:
假设需要删除表emp中age为2的数据;
delete from emp where age=2;
删除表里面的所有数据:
delete from 表名;
delete from emp;
DCL
什么是DCL?
DCL英文全称是Data Control Language(数据控制语言),用来管理数据库用户,控制数据库的访问权限。
DCL-管理用户
1.查询用户
USE mysql;
SELECT * FROM user;
2.创建用户
CREATE USER '用户名'@'主机名' IDENTIFIED BY '密码';
示例:
#创建用户hostw,只能在当前主机localhost访问,访问密码为123456;
create user 'hostw'@'localhost' identified by '123456';
#创建用户hostr,可以在任意主机访问数据库,密码为‘123456’;
create user 'hostr'@'%' identified by '123456';
3.修改用户密码
ALTER USER '用户名'@'主机名' IDENTIFIED WITH mysql_native_password BY '新密码';
示例:
#修改hostr的密码为12345
alter user 'hostr'@'%' identified with mysql_native_password by '12345';
4.删除用户
DROP USER '用户名'@'主机名';
示例:
#删除hostw用户
drop user 'hostw'@'localhost';
DCL权限控制
1.查询权限
SHOW GRANTS FOR '用户名'@'主机名';
示例:
show grants for 'hostr'@'%';
2.授予权限
GRANT 权限列表 ON 数据库名.表名 TO '用户名'@'主机名';
示例:
grant all on hostw.* to 'hostr'@'%';
3.撤销权限
REVOKE 权限列表 ON 数据库名.表名 FROM '用户名'@'主机名';
示例:
revoke all on hostw.* from 'hostr'@'%';
注:授权时,数据库名和表名可以使用*进行通配,代表所有。