
SQL 查询语句大全及实例
SQL(Structured Query Language)是用于管理和操作关系数据库的标准编程语言。以下是一些常用的SQL查询语句及其示例,涵盖了数据定义、数据操纵和数据控制等多个方面。
一、数据定义语言 (DDL)
DDL 语句用于定义和管理数据库结构或模式。
创建数据库
CREATE DATABASE 数据库名; -- 实例:创建一个名为 "SchoolDB" 的数据库 CREATE DATABASE SchoolDB;删除数据库
DROP DATABASE 数据库名; -- 实例:删除名为 "SchoolDB" 的数据库 DROP DATABASE SchoolDB;创建表
CREATE TABLE 表名 ( 列名 数据类型 [约束], ... ); -- 实例:创建一个名为 "Students" 的表 CREATE TABLE Students ( StudentID INT PRIMARY KEY, FirstName VARCHAR(50), LastName VARCHAR(50), Age INT, Gender CHAR(1) );删除表
DROP TABLE 表名; -- 实例:删除名为 "Students" 的表 DROP TABLE Students;修改表结构
- 添加列ALTER TABLE 表名 ADD 列名 数据类型 [约束]; -- 实例:在 "Students" 表中添加一列 "Email" ALTER TABLE Students ADD Email VARCHAR(100);
- 删除列ALTER TABLE 表名 DROP COLUMN 列名; -- 实例:从 "Students" 表中删除 "Email" 列 ALTER TABLE Students DROP COLUMN Email;
- 修改列数据类型或约束ALTER TABLE 表名 MODIFY COLUMN 列名 新数据类型 [新约束]; -- 实例:将 "Age" 列的数据类型改为 BIGINT ALTER TABLE Students MODIFY COLUMN Age BIGINT;
二、数据操纵语言 (DML)
DML 语句用于对数据库中的数据进行增删改查操作。
插入数据
INSERT INTO 表名 (列1, 列2, ...) VALUES (值1, 值2, ...); -- 实例:向 "Students" 表中插入一条记录 INSERT INTO Students (StudentID, FirstName, LastName, Age, Gender) VALUES (1, 'John', 'Doe', 20, 'M');更新数据
UPDATE 表名 SET 列1 = 新值1, 列2 = 新值2, ... WHERE 条件; -- 实例:将 "Students" 表中 StudentID 为 1 的学生的年龄更新为 21 UPDATE Students SET Age = 21 WHERE StudentID = 1;删除数据
DELETE FROM 表名 WHERE 条件; -- 实例:删除 "Students" 表中 StudentID 为 1 的学生 DELETE FROM Students WHERE StudentID = 1;查询数据
- 基本查询SELECT 列1, 列2, ... FROM 表名 WHERE 条件; -- 实例:查询 "Students" 表中的所有学生信息 SELECT * FROM Students;
- 使用聚合函数SELECT 聚合函数(列名) FROM 表名 WHERE 条件; -- 实例:计算 "Students" 表中学生的平均年龄 SELECT AVG(Age) AS AverageAge FROM Students;
- 分组查询SELECT 列名, 聚合函数(列名) FROM 表名 GROUP BY 列名 HAVING 条件; -- 实例:按性别分组并计算每组的平均年龄 SELECT Gender, AVG(Age) AS AverageAge FROM Students GROUP BY Gender;
- 排序查询SELECT 列1, 列2, ... FROM 表名 ORDER BY 列名 [ASC|DESC]; -- 实例:按年龄降序排列查询 "Students" 表中的学生信息 SELECT * FROM Students ORDER BY Age DESC;
- 连接查询SELECT A.列名, B.列名 FROM 表A A INNER JOIN 表B B ON A.公共列 = B.公共列; -- 实例:连接 "Students" 和 "Courses" 表,查询选修课程的学生信息 SELECT S.FirstName, S.LastName, C.CourseName FROM Students S INNER JOIN Courses C ON S.StudentID = C.StudentID;
三、数据控制语言 (DCL)
DCL 语句用于设置或更改数据库用户访问权限。
授予权限
GRANT 权限 ON 对象 TO 用户; -- 实例:授予用户 "user1" 对 "Students" 表的 SELECT 权限 GRANT SELECT ON Students TO user1;撤销权限
REVOKE 权限 ON 对象 FROM 用户; -- 实例:撤销用户 "user1" 对 "Students" 表的 SELECT 权限 REVOKE SELECT ON Students FROM user1;
以上只是SQL查询语句的一部分内容,实际应用中可能还需要结合事务处理、索引管理、视图创建等高级功能来实现更复杂的数据库操作。希望这些示例能帮助你更好地理解和使用SQL。
