🗄️ 第三章 操作数据库-SQL的使用方法
📄 一句话概括

SQL 的书写规矩其实就几条:一条语句一个分号、关键字随便大小写、一条语句建议占一行(或几行)、注释用 --——规矩少,但每条都是硬的。

📝 本节和前面几节的关系

3-1 把训练场搭好、认识了语句三零件;本节把【书写规矩】一次讲全——后面 20 节只学新命令,语法规矩全在本节。

一、语句:SQL 的一句话

语句(statement)=一条完整的指令,以分号 ; 结尾。DBMS 按分号切分:一个分号一条命令,逐条执行。

SELECT * FROM students; UPDATE students SET score = 60 WHERE id = 4;

一行里塞两条也能跑(分号分得清),但可读性差——正式写法一条占一行。

二、大小写:关键字不管,内容要管

东西 大小写敏感吗
关键字(SELECT、WHERE…) 不敏感——select Select SELECT 一样跑
表名、列名 多数数据库不敏感,但建议照建表时的大小写抄
字符串值('张三') 敏感——'张三' 和 '张叁' 是两个东西

惯例:关键字全大写、表名列名小写——大写关键字在语句里一眼可辨,读起来不费劲。

三、排版:一条语句一行的分节写法

语句一长,业界通用的排版是【关键字开头换行】:

SELECT name, score
FROM students
WHERE class = 1;

DBMS 不在乎你怎么换行(它只认分号),排版是给人看的——排查问题时能救命。

四、注释:给人看的备注

两种写法:

-- 这是单行注释:两个减号开头,管到行尾
SELECT * FROM students;   -- 也可以写在语句后面

/* 这是多行注释
   可以跨好几行 */

注释不会被执行,用途是留说明:【这句为什么查 class=1】——三个月后回看全靠它。

五、动手 Demo:同一条语句的三种写法

-- 写法一:挤一行(能跑,难读)
SELECT name, score FROM students WHERE class = 1;

-- 写法二:关键字换行(推荐)
SELECT name, score
FROM students
WHERE class = 1;

-- 写法三:小写关键字(能跑,不推荐)
select name, score from students where class = 1;

三种输出完全一样:张三 85、李四 92 两行。

看到什么算成功:三次运行结果一致,并且能说出【DBMS 只认分号和关键字,排版和大小写是给人看的】。

六、30 秒实验

在运行器里试两个小刁钻:

  1. SELECT * FROM students; 后面多敲几个分号——多余分号会报错吗?(多数工具不报,空语句被忽略;但别养成习惯)
  2. 把字符串 '张三' 改成 '张三 '(尾巴多个空格)再当条件查——查不到!字符串值连一个空格都计较。

七、常见误区

  1. "SQL 和 C++ 一样区分大小写" —— 关键字不区分;字符串值区分。两者别混。
  2. "分号可有可无" —— 单条语句时很多工具宽容;一旦多条语句连发,少了分号立刻串行——分号永远写。
  3. "注释是给机器的" —— 注释机器直接跳过,纯粹是给人看的;正式 SQL 里【没注释的复杂语句】等于埋雷。
自测三问(点开对答案) 1. 语句以什么结束?DBMS 靠什么切分语句? **分号;按分号切分**。 2. 关键字和字符串值,谁区分大小写? **关键字不区分,字符串值区分**;惯例关键字全大写。 3. 单行注释和多行注释怎么写? **`--` 管到行尾;`/* ... */` 可跨行**。

相关笔记