SQL(Structured Query Language)是一种用于与数据库交互的编程语言,它允许执行特定的任务、函数和数据查询。SQL能够执行多种任务,例如创建表、向表中添加数据、删除表、修改表以及为用户设置权限。本文将介绍不同的SQL命令及其语法,以便快速回顾和参考。
根据SQL代码将执行的操作,SQL命令可以分为以下五种类型:
DDL用于改变表的结构,例如创建表、删除表和修改表。所有DDL命令都是自动提交的,意味着它们会永久保存数据库中的所有更改。以下是DDL命令及其语法:
CREATE TABLE:创建数据库中的新表。它允许指定表的名称和表中每个列的名称。
CREATE TABLE table_name (column_1 datatype, column_2 datatype, column_3 datatype);
ALTER TABLE:允许根据需要修改表。例如,可以添加、删除和重命名列。
-- 添加列
ALTER TABLE table_name ADD column_name datatype;
-- 删除列
ALTER TABLE table_name DROP COLUMN column_name;
-- 重命名列
ALTER TABLE table_name CHANGE COLUMN old_name new_name;
此外,ALTER命令还可以更改表名本身。
ALTER TABLE old_table_name RENAME TO new_table_name;
DROP TABLE:用于删除表的结构和存储在表中的记录。
DROP TABLE table_name;
TRUNCATE TABLE:用于删除表中的所有行并释放包含表的空间。
TRUNCATE TABLE table_name;
DML命令用于自定义数据库,负责数据库中所有形式的更改。DML命令不是自动提交的,意味着它们不能永久保存数据库中的所有更改,它们可以被回滚。以下是DML命令及其语法:
INSERT:用于向表中添加新行。
INSERT INTO table_name (column_1, column_2, column_3) VALUES (value_1, value_2, value_3);
UPDATE:允许编辑表中的行。
UPDATE table_name SET column_name = value WHERE condition;
DELETE:用于从表中删除行。
DELETE FROM table_name WHERE some_column = some_value;
DCL命令用于授予和撤销数据库用户的权限。它的作用如下:
GRANT:用于给用户访问数据库的权限。
GRANT SELECT, UPDATE ON My_TABLE TO FIRST_USER, SECOND_USER;
REVOKE:用于从用户那里撤销权限。
REVOKE SELECT, UPDATE ON My_TABLE TO FIRST_USER, SECOND_USER;
事务控制语言,顾名思义,用于控制其他非自动提交命令(如INSERT、DELETE和UPDATE)执行的动作。由于DML命令不是自动提交的,因此可以使用TCL命令与DML命令一起使用。以下是常用的TCL语句:
COMMIT:用于将每笔事务保存到数据库。
DELETE FROM VENDOR WHERE AGE = 29; COMMIT;
ROLLBACK:此命令旨在撤销尚未保存到数据库的事务。
DELETE FROM VENDOR WHERE AGE = 29; ROLLBACK;
SAVEPOINT:用于将事务返回到特定点,而不影响整个事务。
SAVEPOINT SAVEPOINT_NAME;
DQL用于从数据库中检索数据。SELECT是唯一且基本的命令,被所有数据分析师和科学家广泛使用。
SELECT:此语句的主要目的是从数据库中获取数据。每个查询将以SELECT开始,后跟想要从表中获取的列名。
SELECT column_name FROM table_name;
SELECT * FROM table_name;