常用SQL语句整理

发布于:2025-07-25 ⋅ 阅读:(21) ⋅ 点赞:(0)

在数据库操作中,SQL 语句是与数据库交互的重要工具。无论是数据查询、添加、修改还是删除,都离不开各种 SQL 语句。本文将对常用的 SQL 语句进行系统整理,方便大家学习和查阅。

一、SQL 基本概念

SQL(Structured Query Language,结构化查询语言)是一种用于管理关系型数据库的标准语言。它可以对数据库进行查询、插入、更新、删除等操作,也可以用于创建、修改和删除数据库对象(如数据库、表等)。

二、数据查询语句(SELECT)

SELECT 语句是 SQL 中最常用的语句之一,用于从数据库表中查询数据。

1. 查询所有字段

语法:SELECT * FROM 表名;

说明:*代表表中的所有字段。

示例:查询student表中的所有字段

SELECT * FROM student;

2. 查询指定字段

语法:SELECT 字段1, 字段2, ... FROM 表名;

说明:字段之间用逗号分隔,用于指定需要查询的字段。

示例:查询student表中的id和name字段

SELECT id, name FROM student;

3. 带条件的查询(WHERE 子句)

语法:SELECT 字段列表 FROM 表名 WHERE 条件;

说明:WHERE 子句用于指定查询条件,只有满足条件的记录才会被查询出来。

  • 常用运算符:
    • 比较运算符:=(等于)、!=或<>(不等于)、>(大于)、<(小于)、>=(大于等于)、<=(小于等于)
    • 逻辑运算符:AND(与)、OR(或)、NOT(非)
    • 特殊运算符:IN(在指定集合中)、BETWEEN...AND(在指定范围内)、LIKE(模糊匹配)

示例:

  • 查询student表中年龄大于 18 的学生信息
SELECT * FROM student WHERE age > 18;
  • 查询student表中年龄在 18 到 22 之间的学生信息
SELECT * FROM student WHERE age BETWEEN 18 AND 22;
  • 查询student表中姓名包含 “张” 的学生信息(%代表任意字符)
SELECT * FROM student WHERE name LIKE '%张%';
  • 查询student表中姓名以 “李” 开头且长度为 2 的学生信息(_代表单个字符)
SELECT * FROM student WHERE name LIKE '李_';

4. 排序查询(ORDER BY)

语法:SELECT 字段列表 FROM 表名 [WHERE 条件] ORDER BY 字段名 [ASC|DESC];

说明:ASC表示升序(默认),DESC表示降序。

示例:查询student表中所有学生信息,按年龄降序排列

SELECT * FROM student ORDER BY age DESC;

5. 分组查询(GROUP BY)

语法:SELECT 字段列表 FROM 表名 [WHERE 条件] GROUP BY 字段名 [HAVING 条件];

说明:GROUP BY用于将数据按指定字段分组,HAVING用于对分组后的结果进行筛选(与WHERE的区别是HAVING可以使用聚合函数)。

示例:查询student表中各班级的学生人数,且人数大于 30

SELECT class, COUNT(*) AS student_count FROM student GROUP BY class HAVING student_count > 30;

三、数据操纵语句

1. 插入数据(INSERT)

  • 插入一条数据

语法:INSERT INTO 表名 (字段1, 字段2, ...) VALUES (值1, 值2, ...);

示例:向student表中插入一条学生信息

INSERT INTO student (id, name, age, class) VALUES (1, '张三', 18, '高一(1)班');
  • 插入多条数据

语法:INSERT INTO 表名 (字段1, 字段2, ...) VALUES (值1, 值2, ...), (值1, 值2, ...), ...;

示例:向student表中插入多条学生信息

INSERT INTO student (id, name, age, class) VALUES (2, '李四', 19, '高一(2)班'), (3, '王五', 18, '高一(1)班');

2. 更新数据(UPDATE)

语法:UPDATE 表名 SET 字段1 = 值1, 字段2 = 值2, ... [WHERE 条件];

说明:若不添加WHERE条件,将更新表中所有记录,使用时需谨慎。

示例:将student表中 id 为 1 的学生年龄更新为 19

UPDATE student SET age = 19 WHERE id = 1;

3. 删除数据(DELETE)

语法:DELETE FROM 表名 [WHERE 条件];

说明:若不添加WHERE条件,将删除表中所有记录。DELETE与TRUNCATE的区别:TRUNCATE会删除表中所有记录并重置自增列,而DELETE可以删除指定记录,且TRUNCATE的执行效率更高,但不能回滚。

示例:删除student表中 id 为 3 的学生信息

DELETE FROM student WHERE id = 3;

四、数据定义语句

1. 创建数据库(CREATE DATABASE)

语法:CREATE DATABASE 数据库名;

示例:创建名为school的数据库

CREATE DATABASE school;

2. 创建表(CREATE TABLE)

语法:CREATE TABLE 表名 (字段1 数据类型 约束, 字段2 数据类型 约束, ...);

常见数据类型:INT(整数)、VARCHAR(n)(字符串,n 为长度)、DATE(日期)、TIME(时间)、DATETIME(日期时间)等。

常见约束:PRIMARY KEY(主键)、NOT NULL(非空)、UNIQUE(唯一)、FOREIGN KEY(外键)等。

示例:创建student表

CREATE TABLE student (
id INT PRIMARY KEY,
name VARCHAR(20) NOT NULL,
age INT,class VARCHAR(20));

3. 修改表结构(ALTER TABLE)

  • 添加字段

语法:ALTER TABLE 表名 ADD 字段名 数据类型 约束;

示例:向student表中添加gender字段

ALTER TABLE student ADD gender VARCHAR(2);
  • 修改字段类型

语法:ALTER TABLE 表名 MODIFY 字段名 新数据类型;

示例:将student表中age字段的类型修改为VARCHAR(3)

ALTER TABLE student MODIFY age VARCHAR(3);
  • 删除字段

语法:ALTER TABLE 表名 DROP 字段名;

示例:删除student表中的gender字段

ALTER TABLE student DROP gender;

4. 删除数据库或表(DROP)

  • 删除数据库

语法:DROP DATABASE 数据库名;

示例:删除school数据库

DROP DATABASE school;
  • 删除表

语法:DROP TABLE 表名;

示例:删除student表

DROP TABLE student;

五、数据控制语句

1. 授予权限(GRANT)

语法:GRANT 权限 ON 数据库对象 TO 用户;

示例:授予用户user1对student表的查询权限

GRANT SELECT ON student TO user1;

2. 收回权限(REVOKE)

语法:REVOKE 权限 ON 数据库对象 FROM 用户;

示例:收回用户user1对student表的查询权限

REVOKE SELECT ON student FROM user1;

六、常用函数

1. 聚合函数

  • COUNT(字段):统计记录数
  • SUM(字段):计算字段值的总和
  • AVG(字段):计算字段值的平均值
  • MAX(字段):获取字段值的最大值
  • MIN(字段):获取字段值的最小值

示例:查询student表中学生的总人数

SELECT COUNT(*) FROM student;

2. 字符串函数

  • CONCAT(字符串1, 字符串2, ...):拼接字符串
  • LENGTH(字符串):获取字符串长度
  • UPPER(字符串):将字符串转换为大写
  • LOWER(字符串):将字符串转换为小写

示例:将student表中name字段的值转换为大写

SELECT UPPER(name) FROM student;

3. 日期函数

  • NOW():获取当前日期时间
  • CURDATE():获取当前日期
  • CURTIME():获取当前时间
  • DATE_FORMAT(日期, 格式):格式化日期

示例:获取当前日期时间

SELECT NOW();

七、使用 SQL 语句的注意事项

  • SQL 语句不区分大小写,但为了规范,关键字通常大写。
  • 每条 SQL 语句以分号结尾。
  • 使用UPDATE和DELETE语句时,一定要谨慎添加WHERE条件,避免误操作。
  • 创建表时,合理设置字段的数据类型和约束,保证数据的完整性和一致性。
  • 复杂的查询可以使用别名简化语句,提高可读性。

以上就是常用 SQL 语句的整理,希望能对大家的学习和工作有所帮助。在实际应用中,还需要根据具体需求灵活运用这些语句。


网站公告

今日签到

点亮在社区的每一天
去签到