SQL




1. 增(INSERT)

1.1 插入单行数据

INSERT INTO 表名(列名1, 列名2, 列名3) VALUES (值1, 值2, 值3);
示例:
INSERT INTO students (id, name, age) VALUES (1, 'Alice', 20);

1.2 插入多行数据

INSERT INTO 表名 (列名1, 列名2, 列名3) VALUES (值1, 值2, 值3), (值4, 值5, 值6), (值7, 值8, 值9);
示例:
INSERT INTO students (id, name, age) VALUES (2, 'Bob', 21), (3, 'Charlie', 22), (4, 'David', 23);

1.3 从另一个表插入数据

INSERT INTO 表名 (列名1, 列名2)
SELECT 列名1, 列名2 FROM 另一个表 WHERE 条件;
示例:
INSERT INTO students_backup (id, name)
SELECT id, name FROM students WHERE age > 21;



2. 删(DELETE)

2.1 删除特定条件的数据

DELETE FROM 表名 WHERE 列名 = 特定值;
示例:
DELETE FROM students WHERE id = 1;

2.2 删除所有行

DELETE FROM students;

2.3 使用子查询删除数据

DELETE FROM 表名 WHERE 列名 IN (SELECT 列名 FROM 另一个表 WHERE 条件);
示例:
DELETE FROM students WHERE id IN (SELECT student_id FROM courses WHERE course_name = 'Math');

2.4 清空表数据

truncate table FROM 表名 



3. 改(UPDATE)

3.1 更新单个列

UPDATE 表名 SET 要改的列名 = 值 WHERE 列名 = 值;
示例:
UPDATE students SET age = 21 WHERE id = 2;

3.2 更新多个列

UPDATE 表名 SET 列名1 = 值1, 列名2 = 值2 WHERE 条件;
示例:
UPDATE students SET name = 'Alice Smith', age = 21 WHERE id = 1;

3.3 使用子查询更新数据

UPDATE 表名 SET 列名 = (SELECT 列名 FROM 另一个表 WHERE 条件) WHERE 条件;
示例:
UPDATE students SET age = (SELECT AVG(age) FROM students) WHERE name = 'Bob';

3.4 安全更新

在进行批量更新操作时,可以先使用 SELECT 语句确认需要更新的数据。

SELECT * FROM students WHERE age < 18;
 
-- 确认后再执行更新
UPDATE students SET age = 18 WHERE age < 18;



4. 查(SELECT)

4.1 综合查询例子

/*
多行注释写法
多行注释写法
*/
-- 单行注释写法
SELECT DISTINCT `index_1`,`index_2`,SUM(`value_1`) AS 求和, SUM(`value_1`)*2 AS 求和*2, --SELECT选择字段
	CASE
		WHEN prop_status = 0 THEN	'开店申请' 
		WHEN prop_status = 1 THEN	'正式' 
		WHEN prop_status = 2 THEN	'立项终止' 
		ELSE '关闭' 
	END 网点状态   --注意最后一个要去掉,
FROM db.tabel --FROM选择库表
WHERE `index_1` = "condition" AND `index_1` LIKE '%A' -- WHERE添加筛选条件
GROUP BY `index_1`,`index_2` -- 聚合分组
HAVING SUM(`value_1`) > 100 -- 聚合后添加筛选条件
ORDER BY SUM(`value_1`) DESC -- 排序 DESC降序
LIMIT 3 OFFSET 1 -- 返回三条记录,跳过一条记录,简写:LIMIT 3,1
posted @ 2025-01-11 22:52  “生产队的驴”  阅读(10)  评论(0编辑  收藏  举报