SQL命令和查询概览

SQL(Structured Query Language)是一种用于与数据库交互的编程语言,它允许执行特定的任务、函数和数据查询。SQL能够执行多种任务,例如创建表、向表中添加数据、删除表、修改表以及为用户设置权限。本文将介绍不同的SQL命令及其语法,以便快速回顾和参考。

SQL命令的分类

根据SQL代码将执行的操作,SQL命令可以分为以下五种类型:

  1. 数据定义语言(DDL)
  2. 数据操作语言(DML)
  3. 数据控制语言(DCL
  4. 事务控制语言(TCL)
  5. 数据查询语言(DQL)

数据定义语言(DDL)

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命令不是自动提交的,意味着它们不能永久保存数据库中的所有更改,它们可以被回滚。以下是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

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;

事务控制语言(TCL)

事务控制语言,顾名思义,用于控制其他非自动提交命令(如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;
  • 数据定义语言(DDL)帮助定义数据库结构或模式。
  • 数据操作语言(DML)允许通过插入、更改和删除数据来修改数据库实例。
  • 数据控制语言(DCL)包括GRANT和REVOKE等命令,帮助授予“权限”。
  • 事务控制语言(TCL)命令处理数据库内的事务。
  • 数据查询语言(DQL)用于从数据库中检索数据。
沪ICP备2024098111号-1
上海秋旦网络科技中心:上海市奉贤区金大公路8218号1幢 联系电话:17898875485