Structured Query Language(SQL) 中命令很多,在沟通交流时都会说简称,比如DDL等,都不清楚是什么,所以查询了一些文章,进行简单的记录一下。
SQL命令主要分为五大类:
- DDL - Data Definition Language (数据定义语言)
- DQL - Data Query Language (数据查询语言)
- DML - Data Manipulation Language (数据操作语言)
- DCL - Data Control Language (数据控制语言)
- TCL - Transaction Control Language

1. DDL(Data Definition Language)
DDL(数据定义语言)用于定义数据库对象的结构,修改,删除等操作。
比如create,drop,alter,rename等。
create
- 创建数据库
CREATE DATABASE database_name;
- 创建表
CREATE TABLE table_name
(
column1 data_type(size),
column2 data_type(size),
column3 data_type(size),
....
);
drop
drop被用于删除整个数据库或者表。drop语句销毁对象比如一个存在的数据库,表,索引,视图。
DROP object object_name
- 删除表
DROP TABLE table_name;
- 删除数据库
DROP DATABASE database_name;
alter
alter主要用于对表的列的增,删,改,以及增加约束条件。
- 增加列
ALTER TABLE table_name
ADD (Columnname_1 datatype,
Columnname_2 datatype,
…
Columnname_n datatype);
- 删除列
ALTER TABLE table_name
DROP COLUMN column_name;
- 修改列类型
--oracle,mysql,mariadb
ALTER TABLE table_name
MODIFY column_name column_type;
--sql server
ALTER TABLE table_name
ALTER COLUMN column_name column_type;
rename
- 重命名表名
-- oracle, mysql, mariadb
ALTER TABLE table_name
RENAME TO new_table_name;
- 重命名列名称
-- mysql, oracle
ALTER TABLE table_name
RENAME COLUMN old_name TO new_name;
--mariadb
ALTER TABLE table_name
CHANGE COLUMN old_name TO new_name;
2. DQL (Data Query Language)
数据查询语言,主要就是select,通过各种条件,查询满足条件的数据。
select
SELECT column1,column2 FROM table_name
3. DML (Data Manipulation Language)
处理数据的命令,其中大部分的命令都属于此范围。比如insert,update,delete等命令。
insert
insert into 语句用于向表中插入新的记录。
- SQL中只有值,所以value的个数必须和字段个数和位置对应
INSERT INTO table_name VALUES (value1, value2, value3,…);
- 指定列名和值
INSERT INTO table_name (column1, column2, column3,..) VALUES ( value1, value2, value3,..);
- 从源表中插入所有的列的数据
INSERT INTO first_table SELECT * FROM second_table;
- 从源表中插入具体列的数据
INSERT INTO first_table(names_of_columns1) SELECT names_of_columns2 FROM second_table;
- 从源表中复制满足条件的具体行数据
INSERT INTO table1 SELECT * FROM table2 WHERE condition;
- 单个语句插入多行数据
INSERT INTO table_name(Column1,Column2,Column3,.......)
VALUES (Value1, Value2,Value3,.....),
(Value1, Value2,Value3,.....),
(Value1, Value2,Value3,.....),
............................. ;
update
更新表中的列值。
UPDATE table_name SET column1 = value1, column2 = value2,...
WHERE condition;
delete
删除表中的数据。
DELETE FROM table_name WHERE some_condition;
4. DCL (Data Control Language)
DCL主要是用于对数据库、对象和数据的访问权限以及授权控制等操作。主要命令比如grant, revoke,其中grant和revoke是一对相反操作的命令,grant授权,revoke收回权限。
5. TCL (Transaction Control Language)
TCL主要是用于事务相关的操作命令。比如begin,commit,rollback,savepoint等。
commit
事务执行完成后,进行提交,将数据持久化。
COMMIT;
rollback
当事务执行过程中出现错误,则需要部分执行的进行回滚,恢复到执行事务之前的状态。
ROLLBACK;
savepoint
在事务中创建回滚点,可以在将事务回滚到此位置,而不必将整个事务都回滚。
创建savepoint
SAVEPOINT SAVEPOINT_NAME;
执行回滚到savepoint
ROLLBACK TO SAVEPOINT_NAME;
参考https://www.geeksforgeeks.org/sql-ddl-dql-dml-dcl-tcl-commands/
本文详细介绍了SQL中的五种主要命令类别:DDL(数据定义语言),如create、drop、alter、rename等用于数据库和表的结构管理;DQL(数据查询语言)以select为主,用于数据查询;DML(数据操作语言)包括insert、update、delete,用于数据的增、删、改;DCL(数据控制语言)涉及权限管理,如grant和revoke;TCL(事务控制语言)如commit、rollback和savepoint,用于事务操作。
1325

被折叠的 条评论
为什么被折叠?



