跳到主要内容

第3章 SQL语言入门

3.1 SQL的基本语法

3.1.1 SQL的特点

SQL(Structured Query Language,结构化查询语言)是一种用于管理关系型数据库的标准语言。以下是SQL的一些主要特点:

  1. 不区分大小写:SQL语句中的关键字通常不区分大小写,但通常建议将关键字大写以提高代码的可读性。
  2. 语句结束符:SQL语句通常以;结尾。
  3. 格式简洁:SQL语句的格式较为简洁,便于阅读和编写。

3.1.2 SQL的基本结构

SQL语句通常由以下几个部分组成:

  1. SELECT:用于从数据库中查询数据。
  2. FROM:指定数据来源的表。
  3. WHERE:用于过滤数据。
  4. GROUP BY:用于对数据进行分组。
  5. ORDER BY:用于对查询结果进行排序。
  6. INSERT INTO:用于插入数据。
  7. UPDATE:用于更新数据。
  8. DELETE FROM:用于删除数据。

3.1.3 SQL的注释

SQL支持单行注释和多行注释,注释的内容不会被数据库执行。

  • 单行注释:使用 --/* */(仅占一行)。
  • 多行注释:使用 /* */

示例:

-- 这是一个单行注释
/* 这也可以作为一个
单行注释 */

3.2 数据查询(SELECT)

3.2.1 基本SELECT语法

SELECT语句用于从数据库中查询数据。其基本语法如下:

SELECT 列名1, 列名2, ... FROM 表名;

如果要查询表中所有列,可以使用*

SELECT * FROM 表名;

3.2.2 示例

假设有一个名为students的表,包含以下列:

  • id:学号
  • name:姓名
  • age:年龄
  • gender:性别
  • score:成绩

示例1:查询所有学生的信息

SELECT * FROM students;

示例2:查询学生姓名和年龄

SELECT name, age FROM students;

示例3:使用WHERE子句过滤数据

WHERE子句用于筛选满足条件的记录。

SELECT name, score FROM students WHERE score > 90;

示例4:使用ORDER BY子句排序

ORDER BY子句用于对查询结果进行排序。

SELECT name, score FROM students ORDER BY score DESC;
  • DESC表示降序排序,ASC表示升序排序(默认为升序)。

3.2.3 分组查询(GROUP BY)

GROUP BY用于对数据进行分组,常与聚合函数(如SUMAVGCOUNT等)结合使用。

示例:统计每个性别的人数

SELECT gender, COUNT(*) AS total FROM students GROUP BY gender;

3.3 数据操作(INSERT、UPDATE、DELETE)

3.3.1 插入数据(INSERT)

INSERT语句用于向表中插入新数据。其基本语法如下:

INSERT INTO 表名 (1,2, ...) VALUES (1,2, ...);

示例:插入一条学生记录

INSERT INTO students (id, name, age, gender, score) VALUES (1001, '张三', 20, '男', 89);

3.3.2 更新数据(UPDATE)

UPDATE语句用于更新表中已有的数据。其基本语法如下:

UPDATE 表名 SET1 =1,2 =2, ... WHERE 条件;

示例:更新某学生的成绩

UPDATE students SET score = 90 WHERE id = 1001;

3.3.3 删除数据(DELETE)

DELETE语句用于从表中删除数据。其基本语法如下:

DELETE FROM 表名 WHERE 条件;

示例:删除某学生记录

DELETE FROM students WHERE id = 1001;

总结

本章介绍了SQL语言的基本语法,包括数据查询(SELECT)、数据插入(INSERT)、数据更新(UPDATE)和数据删除(DELETE)。通过这些语句,可以实现对数据库的基本操作。下一章我们将继续深入学习SQL的高级功能,包括子查询、连接查询等。