### SQL数据库语句基本语法详解
在数据库管理系统中,SQL(Structured Query Language,结构化查询语言)是用于管理(如检索、插入、更新和删除)关系数据库的标准编程语言,无论是初学者还是经验丰富的数据库管理员,掌握SQL的基本语法都是至关重要的,本文将详细介绍SQL数据库语句的基本语法,帮助读者更好地理解和应用SQL。
#### 一、SQL语句概述
SQL语句通常可以分为以下几类:
1. **数据定义语言(DDL)**:用于定义或修改数据库结构,如表、索引、视图等,常见的DDL语句有CREATE、ALTER、DROP等。
2. **数据操纵语言(DML)**:用于查询或修改数据,常见的DML语句有SELECT、INSERT、UPDATE、DELETE等。
3. **数据控制语言(DCL)**:用于控制用户对数据库的访问权限,常见的DCL语句有GRANT、REVOKE等。
#### 二、数据定义语言(DDL)
1. **创建表(CREATE TABLE)**
CREATE TABLE 表名 ( 列名1 数据类型 [约束], 列名2 数据类型 [约束], ... );
CREATE TABLE Employees ( ID INT PRIMARY KEY, Name VARCHAR(50), Age INT, Salary DECIMAL(10, 2) );
2. **修改表(ALTER TABLE)**
* 添加列:
sql`ALTER TABLE 表名 ADD 列名 数据类型 [约束];`
* 删除列:
sql`ALTER TABLE 表名 DROP COLUMN 列名;`
* 修改列数据类型:
sql`ALTER TABLE 表名 MODIFY 列名 新数据类型;`
* 添加主键约束:
sql`ALTER TABLE 表名 ADD PRIMARY KEY (列名);`
* 删除主键约束:
sql`ALTER TABLE 表名 DROP PRIMARY KEY;`
(注意:删除主键约束时,如果该主键是自增的,需要先删除自增属性)
* 添加外键约束:
sql`ALTER TABLE 表名 ADD FOREIGN KEY (列名) REFERENCES 另一表名(列名);`
* 删除外键约束:
sql`ALTER TABLE 表名 DROP FOREIGN KEY 外键约束名;`
(注意:需要先知道外键约束的名称,可以使用`SHOW CREATE TABLE 表名;`查看)
3. **删除表(DROP TABLE)**
DROP TABLE 表名;
#### 三、数据操纵语言(DML)
1. **查询数据(SELECT)**
* 基本查询:
sql`SELECT 列名1, 列名2, ... FROM 表名;`
* 条件查询:
sql`SELECT 列名1, 列名2, ... FROM 表名 WHERE 条件;`
* 排序查询:
sql`SELECT 列名1, 列名2, ... FROM 表名 ORDER BY 列名 [ASC|DESC];`
* 分组查询:
sql`SELECT 列名1, COUNT(列名2), ... FROM 表名 GROUP BY 列名1;`
* 聚合函数:如COUNT()、SUM()、AVG()、MAX()、MIN()等。
* 连接查询:如INNER JOIN、LEFT JOIN、RIGHT JOIN等。
* 子查询:将一个查询的结果作为另一个查询的条件或数据源。
2. **插入数据(INSERT INTO)**
INSERT INTO 表名 (列名1, 列名2, ...) VALUES (值1, 值2, ...);
INSERT INTO Employees (ID, Name, Age, Salary) VALUES (1, '张三', 25, 5000.00);
3. **更新数据(UPDATE)**
UPDATE 表名 SET 列名1 = 值1, 列名2 = 值2, ... WHERE 条件;
UPDATE Employees SET Salary = 6000.00 WHERE ID = 1;
4. **删除数据(DELETE FROM)**
```sql