第3章 SQL语言入门
3.1 SQL的基本语法
3.1.1 SQL的特点
SQL(Structured Query Language,结构化查询语言)是一种用于管理关系型数据库的标准语言。以下是SQL的一些主要特点:
- 不区分大小写:SQL语句中的关键字通常不区分大小写,但通常建议将关键字大写以提高代码的可读性。
- 语句结束符:SQL语句通常以
;
结尾。 - 格式简洁:SQL语句的格式较为简洁,便于阅读和编写。
3.1.2 SQL的基本结构
SQL语句通常由以下几个部分组成:
- SELECT:用于从数据库中查询数据。
- FROM:指定数据来源的表。
- WHERE:用于过滤数据。
- GROUP BY:用于对数据进行分组。
- ORDER BY:用于对查询结果进行排序。
- INSERT INTO:用于插入数据。
- UPDATE:用于更新数据。
- 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
用于对数据进行分组,常与聚合函数(如SUM
、AVG
、COUNT
等)结合使用。