SQL(Structured Query Language)是一种用于处理关系型数据库管理系统的标准计算机语言。它的语法规则简洁且易于理解,功能十分强大,被广泛应用于各种数据处理场景中。
SQL 语句分为五种类型:DQL(Data Query Language)、DML(Data Modification Language)、DDL(Data Definition Language)、DCL(Data Control Language)和 TCL(Transaction Control Language),下面我们来详细介绍这些 SQL 语句的使用方法。
DQL 用于查询数据库中的数据,常见的 DQL 命令有 SELECT 和 FROM。
• SELECT 语句
SELECT 语句用于从表格中选择需要查询的字段。常用语法格式如下:
SELECT column1, column2, … FROM table_name;
其中,column1, column2 等是需要查询的字段名,用逗号隔开,table_name 是表格名。
例如,查询 Employee 表格中的所有员工姓名和薪水可以写成如下 SQL 语句:
SELECT Name, Salary FROM Employee;
• WHERE 子句
WHERE 子句用来对查询条件进行限制。例如,查询薪水高于 5000 的员工:
SELECT Name, Salary FROM Employee WHERE Salary > 5000;
• ORDER BY 子句
ORDER BY 子句用来对查询结果进行排序。例如,按照薪水降序查询员工:
SELECT Name, Salary FROM Employee ORDER BY Salary DESC;
DML 用于对数据库中的数据进行修改,常见的命令有 INSERT、UPDATE 和 DELETE。
• INSERT 语句
INSERT 语句用于向表格中插入新的数据。常用语法格式如下:
INSERT INTO table_name (column1, column2, …) VALUES (value1, value2, …);
例如,向 Employee 表格中插入一条新的员工记录:
INSERT INTO Employee (Name, Age, Salary) VALUES ('张三', 25, 6000);
• UPDATE 语句
UPDATE 语句用于更新表格中已有的数据。常用语法格式如下:
UPDATE table_name SET column_name = value WHERE condition;
例如,将 Employee 表格中薪水低于 5000 的员工进行加薪:
UPDATE Employee SET Salary = Salary * 1.1 WHERE Salary < 5000;
• DELETE 语句
DELETE 语句用于从表格中删除数据。常用语法格式如下:
DELETE FROM table_name WHERE condition;
例如,删除 Employee 表格中年龄大于 30 岁的员工:
DELETE FROM Employee WHERE Age > 30;
DDL 用于对数据库中的结构进行定义和修改,常见的命令有 CREATE、ALTER 和 DROP。
• CREATE 语句
CREATE 语句用于创建新的表格。常用语法格式如下:
CREATE TABLE table_name (column1 datatype, column2 datatype, …);
例如,创建一个名为 Employee 的表格,包含姓名、年龄和薪水三个字段:
CREATE TABLE Employee (Name VARCHAR(20), Age INT, Salary DECIMAL(10,2));
• ALTER 语句
ALTER 语句用于修改表格的结构。常用语法格式如下:
ALTER TABLE table_name ADD column_name datatype;
例如,向 Employee 表格中添加新的联系方式字段:
ALTER TABLE Employee ADD Phone VARCHAR(20);
• DROP 语句
DROP 语句用于删除表格。常用语法格式如下:
DROP TABLE table_name;
例如,删除 Employee 表格:
DROP TABLE Employee;
DCL 用于控制数据库中的访问权限和安全性,常见的命令有 GRANT 和 REVOKE。
• GRANT 语句
GRANT 语句用于授权其他用户对数据库中的对象进行操作。常用语法格式如下:
GRANT privilege_type ON object_name TO user_name;
例如,将 SELECT 权限授予给用户 jerry:
GRANT SELECT ON Employee TO jerry;
• REVOKE 语句
REVOKE 语句用于收回已经授权的权限。常用语法格式如下:
REVOKE privilege_type ON object_name FROM user_name;
例如,收回用户 jerry 的 SELECT 权限:
REVOKE SELECT ON Employee FROM jerry;
TCL 用于对数据库中的事务进行控制,常见的命令有 COMMIT、ROLLBACK 和 SAVEPOINT。
• COMMIT 语句
COMMIT 语句用于提交事务并保存所有已经执行的操作。常用语法格式如下:
COMMIT;
例如:
BEGIN TRANSACTION;
UPDATE Employee SET Salary = Salary * 1.1 WHERE Salary < 5000;
COMMIT;
• ROLLBACK 语句
ROLLBACK 语句用于撤销尚未提交的事务,并恢复到事务开始之前的状态。常用语法格式如下:
ROLLBACK;
例如:
BEGIN TRANSACTION;
UPDATE Employee SET Salary = Salary * 1.1 WHERE Salary < 5000;
ROLLBACK;
• SAVEPOINT 语句
SAVEPOINT 语句用于在当前事务中设置一个保存点,以便后续可以回滚到该点的状态。常用语法格式如下:
SAVEPOINT savepoint_name;
例如:
BEGIN TRANSACTION;
UPDATE Employee SET Salary = Salary * 1.1 WHERE Salary < 5000;
SAVEPOINT upgrade;
UPDATE Employee SET Salary = Salary * 1.2 WHERE Salary < 6000;
ROLLBACK TO upgrade;
COMMIT;
以上就是 SQL 语句的基本使用方法和语法规则。在实际应用中,需要根据具体需求进行灵活运用,以便达到最佳的查询、修改和控制效果。