一、表结构与初始数据
假设存在以下两张表:
1. student
表
字段名 | 数据类型 | 描述 |
---|---|---|
id | INT | 学生唯一标识符 |
name | VARCHAR(100) | 学生姓名 |
age | INT | 学生年龄 |
sex | VARCHAR(10) | 学生性别 |
初始数据:
id | name | age | sex |
---|---|---|---|
1 | 张三 | 20 | 男 |
2 | 李四 | 22 | 女 |
3 | 王五 | 21 | 男 |
2. course
表
字段名 | 数据类型 | 描述 |
---|---|---|
id | INT | 课程唯一标识符 |
name | VARCHAR(100) | 课程名称 |
teacher | VARCHAR(100) | 授课老师 |
duration | INT | 课程节数 |
初始数据:
id | name | teacher | duration |
---|---|---|---|
1 | 计算机科学 | 赵老师 | 4 |
2 | 英语 | 钱老师 | 3 |
3 | 数学 | 数学 | 5 |
二、数据操作详解
1. 插入数据(INSERT)
语法:
INSERT INTO 表名 (列1, 列2, ...)
VALUES (值1, 值2, ...);
示例:
-
向
student
表插入新学生INSERT INTO student (name, age, sex) VALUES ('赵六', 23, '女'), ('钱七', 24, '男');
-
向
course
表插入新课程INSERT INTO course (name, teacher, duration) VALUES ('历史', '李老师', 3), ('物理', '周老师', 4);
2. 查询数据(SELECT)
语法:
SELECT 列1, 列2, ...
FROM 表名
WHERE 条件;
示例:
-
查询所有课程的名称和教师
SELECT name, teacher FROM course;
-
查询女性学生的姓名和年龄
-
SELECT name, age FROM student WHERE sex = '女';
查询年龄≥21岁的学生信息
SELECT * FROM student WHERE age >= 21;
-
查询赵老师教授的课程
SELECT * FROM course WHERE teacher = '赵老师';
3. 删除数据(DELETE)
语法:
DELETE FROM 表名 WHERE 条件;
示例:
-
删除课程编号为2的记录
DELETE FROM course WHERE id = 2;
-
删除年龄>22岁的学生
DELETE FROM student WHERE age > 22;
注意: 省略WHERE
子句会删除所有数据!
4. 更新数据(UPDATE)
语法:
UPDATE 表名
SET 列1=新值1, 列2=新值2, ...
WHERE 条件;
示例:
-
所有学生年龄增加1岁
UPDATE student SET age = age + 1;
-
“英语”课程时长增加1小时
UPDATE course SET duration = duration + 1 WHERE name = '英语';
-
女性学生年龄增加2岁
UPDATE student SET age = age + 2 WHERE sex = '女';