俗话说的好,基础不牢地动山摇,昨天做数据开发的笔试竟然连最基础的SQL的DML是什么都忘记了,那么今天就来好好回顾一下SQL的四种语言类型
DDL Data Define Language 数据定义语言
数据定义语言,就是定义关系模型、删除关系、修改关系模式以及创建数据库表中的各种对象,比如表、聚簇(主键)、索引、视图、函数、存储过程和触发器
语法
CREATE
# 创建表
create table student(
);
#
ALTER
# 修改表 增加一个字段
alter table student add age int null
# 修改表 删除一个字段
alter table student drop Column age
DROP
# 删除表
drop student
TRUNCATE
# 清空表数据,但保留表结构
turncate table student
DML Data Manipulation Language 数据操纵语言
主要进行插入元素、删除元组、修改元素 也就是Insert,delete,update
等
语法
Insert
# 向student表中插入数据
insert into student (name,course,grade)
values('a','c1',90),
('b','c2',99)...
Update
# 更新某某的成绩
update student set grade = '18' where name = '张三'
delete
# 删除某某行数据
delete from student where name = '张三'
DQL Data Query Language 数据查询语言
也就是在查询数据的时候会使用到的语言 select , where , having
等
DCL Data Control Language 数据控制语言
数据控制语言用于收券或者回收访问数据库的某种权限,并控制数据库操纵事务发生的时间以及效果,能够对数据库进行监视
例如:授权、取消授权、回滚、提交 grant , revoke , rollback , commit
语法
- 创建 CREATE
# 创建用户
create user user_name@ip_address identified by 'password';
# 创建索引
create
- 授权 GRANT
# 授权用户对xx表的select,insert权限
GRANT SELECT, INSERT ON database_name.* TO 'user_name'@'localhost' IDENTIFIED BY 'password';
- 撤销 REVOKE
# 撤销已授予给用户对于xx表的权限
REVOKE INSERT ON database_name.* FROM 'user_name'@'localhost';
- 查看用户权限
# 查看用户的权限
show grants for user_name;
show grants for user_name@ip_address;
- 删除用户
# 删除用户
drop user user_name@ip_address;
- 修改用户密码
# 修改用户密码 use mysql; update user set password = password(‘密码’) where user = ‘user_name’ and host = ‘ip_address’; flush privileges