SQL - 四大分类(DDL、DML、DQL、DCL)详细介绍

1. 数据定义语言 DDL(Data Definition Language):

- CREATE:创建数据库对象(表、视图、索引等)

-- 创建user表
create table user(
       id int primary key,
       name varchar(50),
       email varchar(50)
     );

- ALTER:修改数据库对象的结构

-- 添加一列
alter table user
    add column age int;

- DROP:删除数据库对象

-- 删表
drop table user;

- TRUNCATE:清空表中的数据

truncate table user;

2. 数据操作语言 DML(Data Manipulation Language):

- INSERT:向数据库中插入新数据

insert into user(id,name,email)
    values(1,'Alice','xxxx@xx');

- UPDATE:更新数据库中的数据

update user 
    set email='[email protected]'
    where id=1;

- DELETE:从数据库中删除数据

delete from user 
    where id=2;

3. 数据查询语言 DQL(Data Query Language):

- SELECT:从数据库中检索数据

select * from user;

4. 数据控制语言 DCL( Data Query Language):

- GRANT:授予用户访问权限

-- 添加用户查询、添加权限
grant select,insert on user to user1;

- REVOKE:撤销用户的访问权限

-- 撤销用户查询、添加权限
revoke select,insert on user to user1;

其他: 事务控制语言 TCL (Data Control Language):

- COMMIT:提交事务

-- 开始事务
begin transaction;
-- 执行操作
update user set email='[email protected]' where id=1;
-- 提交事务
commit;

- ROLLBACK:回滚事务

-- 开始事务
begin transaction;

-- 执行操作
update user set email='[email protected]' where id=1;

-- 操作发生错误,回归事务
rollback;

- SAVEPOINT:设置保存点,可以在事务中进行部分回滚

-- 开始事务
begin transaction;

-- 执行操作
update user set email='[email protected]' where id=1;

-- 设置保存点sp1
savepoint sp1;

-- 发生错误回滚到sp1
rollback to savepoint sp1;

-- 继续执行其他操作
update user set name='lindow' where id=1;

-- 提交事务
commit;

你可能感兴趣的:(MySQL数据库,sql,oracle,数据库)