CRUD(Create, Read, Update, Delete)是数据库最基本的操作。
插入数据
-- 插入完整记录
INSERT INTO students (name, age, gender, email)
VALUES ('张三', 20, '男', 'zhangsan@example.com');
-- 插入多条记录
INSERT INTO students (name, age, gender, email) VALUES
('李四', 22, '女', 'lisi@example.com'),
('王五', 21, '男', 'wangwu@example.com'),
('赵六', 19, '女', 'zhaoliu@example.com');
-- 插入默认值
INSERT INTO students (name) VALUES ('钱七');
-- age将使用默认值(如果有设置),enrollment_date使用当前日期
更新数据
-- 更新单个字段
UPDATE students SET age = 23 WHERE name = '张三';
-- 更新多个字段
UPDATE students
SET age = 24, email = 'newemail@example.com'
WHERE id = 1;
-- 使用表达式更新
UPDATE students SET age = age + 1 WHERE gender = '男';
-- 更新所有记录(谨慎使用)
-- UPDATE students SET status = 'active';
注意:UPDATE语句必须使用WHERE子句指定更新条件,否则会更新所有记录!
删除数据
-- 删除特定记录
DELETE FROM students WHERE id = 5;
-- 删除所有女生记录
DELETE FROM students WHERE gender = '女';
-- 删除所有记录(清空表)
-- DELETE FROM students;
-- 更快清空表(不可回滚)
-- TRUNCATE TABLE students;
高级查询技巧
-- 比较操作符
=, <>, !=, >, <, >=, <=,
-- BETWEEN范围查询
SELECT * FROM students WHERE age BETWEEN 18 AND 22;
-- IN列表查询
SELECT * FROM students WHERE name IN ('张三', '李四', '王五');
-- LIKE模糊查询
SELECT * FROM students WHERE name LIKE '张%';
SELECT * FROM students WHERE email LIKE '%@gmail.com';
SELECT * FROM students WHERE name LIKE '_三';
-- IS NULL空值查询
SELECT * FROM students WHERE email IS NULL;
-- 逻辑操作符
SELECT * FROM students WHERE age > 18 AND gender = '男';
SELECT * FROM students WHERE age < 20 OR gender = '女';
SELECT * FROM students WHERE NOT (age = 20);
提示: 这是一个重要的概念,需要特别注意理解和掌握。
注意: 这是一个常见的错误点,请避免犯同样的错误。
评论
请 登录 后发表评论