MySQL数据库中DDL,DML,DQL,DCL的区别

SQL(Structure Query Language)语言, 它共分为四大类:数据定义语言DDL,数据操纵语言DML,数据查询语言DQL,数据控制语言DCL。

1. 数据定义语言DDL(Data Definition Language)
DDL操作是隐性提交的!不能rollback
1) CREATE,创建表、视图、索引、同义词、聚簇等
如:CREATE TABLE/VIEW/INDEX/SYN/CLUSTER

例如: create table user(
        int uid(11),
        varchar(20),
        int uage(11)
        );

2)ALTER 修改表结构

    #新增列
    alter table user add(
    sex varchar(2),
    password varchar(20)
    )
    #删除列
    alter table user drop sex;

2 .数据操纵语言DML(Data Manipulation Language)
数据操纵语言DML主要有三种形式:
1) 插入:INSERT

   insert into user('uname','uage') values('君之魂','38'),('珈蓝那时雨','21');

2) 更新:UPDATE

 update user  set  age='18',name='qwer' where name='君之魂';

3) 删除:DELETE

  delete from user where name='君之魂';

3. 数据查询语言DQL(Data Query Language)
数据查询语言DQL基本结构是由SELECT子句,FROM子句,WHERE子句组成的查询块:
SELECT <字段名表>
FROM <表或视图名>
WHERE <查询条件>

例如:   select * from user where name='君之魂';

4. 数据控制语言DCL(Data Control Language)
数据控制语言DCL用来授予或回收访问数据库的某种特权,并控制数据库操纵事务发生的时间及效果,对数据库实行监视等。如:
1) GRANT:授权。

GRANT 权限1, 权限2... ON 数据库名.表名 TO '用户名'@'主机名';
grant create,alter,insert,update,select on test.* to 'HappyLiu'@'localhost';

2) REVOKE :回收权限

REVOKE  权限1, 权限2... ON 数据库.表名 FROM '用户名'@'主机名';
revoke all on test.* from 'HappyLiu'@'localhost';

5.还有事务控制语句TCL(Transaction Control Language)
1) ROLLBACK:回退到某点,
ROLLBACK [WORK] TO [SAVEPOINT]:回退到某一点。
回滚命令使数据库状态回到上次最后提交的状态。其格式为:

SQL>ROLLBACK

2) COMMIT:提交事务
SET TRANSACTION:设置当前事务的特性,它对后面的事务没有影响
3) SAVEPOINT:保存点

猜你喜欢

转载自blog.csdn.net/weixin_42251413/article/details/81913862