数据库之各类Language

本文详细介绍了SQL中的五种主要命令类别:DDL(数据定义语言),如create、drop、alter、rename等用于数据库和表的结构管理;DQL(数据查询语言)以select为主,用于数据查询;DML(数据操作语言)包括insert、update、delete,用于数据的增、删、改;DCL(数据控制语言)涉及权限管理,如grant和revoke;TCL(事务控制语言)如commit、rollback和savepoint,用于事务操作。
摘要由CSDN通过智能技术生成

Structured Query Language(SQL) 中命令很多,在沟通交流时都会说简称,比如DDL等,都不清楚是什么,所以查询了一些文章,进行简单的记录一下。
SQL命令主要分为五大类:

  1. DDL - Data Definition Language (数据定义语言)
  2. DQL - Data Query Language (数据查询语言)
  3. DML - Data Manipulation Language (数据操作语言)
  4. DCL - Data Control Language (数据控制语言)
  5. 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/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值