一、插入数据INSERT插入数据是向数据库表中添加记录的操作。1.1 基本语法sqlINSERT INTO 表名(列1, 列2, ...) VALUES(值1, 值2, ...)1.2 插入完整行数据-- 插入所有列的数据按表中列的顺序INSERT INTO Student VALUES(张三, 男, 18, 100, 篮球)1.3 插入指定列数据-- 只插入部分列其他列会使用默认值或NULLINSERT INTO Student(Name, Sex) VALUES(李四, 女)1.4 批量插入多条数据-- 使用UNION一次性插入多条记录INSERT INTO bankSELECT 班长, 10000 UNIONSELECT 学委, 100二、更新数据UPDATE更新数据用于修改表中已存在的记录。2.1 基本语法sqlUPDATE 表名 SET 列1 值1, 列2 值2 WHERE 条件2.2 更新示例-- 更新特定行UPDATE Student SET Age 20 WHERE Name 张三-- 同时更新多列UPDATE Student SET Age 21, Sex 男 WHERE Name 李四2.3 注意事项⚠️警告如果不加WHERE条件会更新整张表的所有行-- 危险操作会修改所有学生的年龄UPDATE Student SET Age 20-- 正确做法加上条件限制UPDATE Student SET Age 20 WHERE Name 张三三、删除数据DELETE / TRUNCATESQL Server中删除数据有三种方式各有不同的用途。3.1 DELETE语句删除部分或全部数据标识列不会重置。-- 删除指定条件的行 DELETE FROM Student WHERE Name 张三 -- 删除整张表的数据但表结构还在 DELETE FROM Student3.2 TRUNCATE语句清空整张表的所有数据效率比DELETE高标识列会重置。-- 清空表数据标识列从初始值重新开始TRUNCATE TABLE Student3.3 DROP语句删除整张表包括表结构和数据。-- 彻底删除表DROP TABLE Student3.4 三种删除方式对比操作删除内容标识列效率可恢复DELETE部分或全部数据不重置慢可事务TRUNCATE全部数据重置快不可DROP表结构和数据-最快不可3.5 使用建议当你不再需要该表时用DROP当你仍要保留表结构但要删除所有记录时用TRUNCATE当你要删除部分记录时必须带上WHERE条件用DELETE四、查询数据SELECT查询是数据库操作中最常用的功能。4.1 基本语法SELECT *|列名 FROM 表名 WHERE 条件 ORDER BY 列名 ASC|DESC4.2 查询所有行和列sql-- *号代表所有字段 SELECT * FROM student4.3 查询部分列sql-- 只查询指定的字段 SELECT name, id, age FROM student4.4 条件筛选WHERE-- 查询特定条件的数据 SELECT * FROM student WHERE name 张三 -- 查询年龄大于20分的人 SELECT name FROM student WHERE age 204.5 使用别名AS别名可以让查询结果更易读。-- 方法一使用AS关键字 SELECT name AS 姓名, id AS 学号 FROM student -- 方法二使用号 SELECT name 姓名, id 学号 FROM student -- 方法三省略AS SELECT name 姓名 FROM student4.6 字符串拼接-- 使用 进行拼接 SELECT name 是 sex 的 AS 介绍 FROM Student -- 示例输出张三是男的4.7 使用常量列-- 在结果集后面追加一列固定值SELECT *, 不要沉迷游戏 AS 警告 FROM student4.8 查询空值-- 查询为NULL SELECT * FROM student WHERE phbumber IS NULL -- 查询不为NULL SELECT * FROM student WHERE phbumber 者 IS NOT NULL⚠️注意判断NULL不能用 NULL必须用IS NULL或IS NOT NULL五、高级查询技巧5.1 TOP查询限制返回的记录数量。-- 查询前2条 SELECT TOP 2 * FROM Student ORDER BY Age DESC -- 查询前50% SELECT TOP 50 PERCENT * FROM Student ORDER BY Age DESC -- 查询工资最少的2位女老师 SELECT TOP 2 * FROM Teacher WHERE Sex 女 ORDER BY Salary ASC5.2 模糊查询LIKE当条件不明确时使用通配符进行模糊匹配。通配符含义示例%任意长度的任意字符LIKE 李%→ 李开头_一个字符LIKE 李_→ 李X两个字[]范围内的一个字符LIKE [李王]%→ 姓李或王[^]不在范围内的一个字符LIKE [^李]%→ 不姓李-- 包含小字 SELECT * FROM Student WHERE name LIKE %小% -- 姓张 SELECT * FROM Student WHERE name LIKE 张% -- 姓李或王 SELECT * FROM Student WHERE name LIKE [李王]% -- 三个字的名字 SELECT * FROM Student WHERE name LIKE ___ -- 邮箱以com结尾 SELECT * FROM Student WHERE email LIKE %com -- 爱好第二位为篮字 SELECT * FROM Student WHERE ah LIKE _篮%5.3 范围查询BETWEEN AND查询某个范围内的数据。-- 年龄在18-25之间 SELECT * FROM Student WHERE Age BETWEEN 18 AND 25 -- 等价于 SELECT * FROM Student WHERE Age 18 AND Age 25 -- 查询年龄在15-20之间的男老师 SELECT * FROM Teacher WHERE Age BETWEEN 15 AND 20 AND Sex 男5.4 集合查询IN匹配多个可能的值。-- 查询专业为java、c#、html的老师 SELECT * FROM Teacher WHERE subject IN (java, c#, html) -- 等价于 SELECT * FROM Teacher WHERE subject java OR subject c# OR subject html5.5 取反操作NOT对条件进行取反。-- 年龄不在18-25之间 SELECT * FROM Student WHERE Age NOT BETWEEN 18 AND 25 -- 专业不是java、c#、html SELECT * FROM Teacher WHERE subject NOT IN (java, c#, html) -- 名字不姓李 SELECT * FROM Student WHERE name NOT LIKE 李% -- 爱好不为空 SELECT * FROM Student WHERE ah IS NOT NULL5.6 排序查询ORDER BY对查询结果进行排序。-- 升序ASC是默认值可省略 SELECT * FROM games ORDER BY 评分 ASC -- 降序 SELECT * FROM games ORDER BY 评分 DESC -- 多列排序先按评分降序再按ID升序 SELECT * FROM games ORDER BY 评分 DESC, 游戏ID ASC5.7 综合案例-- 查询年龄最大老师的姓名、年龄、爱好 SELECT TOP 1 name, age, ah FROM Teacher ORDER BY age DESC -- 按年龄降序排序显示50%的老师信息 SELECT TOP 50 PERCENT * FROM Teacher ORDER BY Age DESC -- 查询年龄在25-30之间的第一个老师 SELECT TOP 1 * FROM Teacher WHERE Age BETWEEN 25 AND 30 ORDER BY Age DESC六、总结操作类型关键字核心注意点插入INSERT注意数据类型匹配更新UPDATE必须加WHERE条件删除DELETE必须加WHERE条件清空TRUNCATE不可恢复谨慎使用删表DROP表结构会消失查询SELECT条件、排序、模糊匹配查询语法总结sqlSELECT TOP n [PERCENT] 列名 AS 别名 FROM 表名 WHERE 条件支持 LIKE、BETWEEN、IN、IS NULL ORDER BY 列名 ASC|DESC记住两个原则UPDATE和DELETE操作前先确认WHERE条件是否正确生产环境中建议先用SELECT验证条件再转为UPDATE或DELETE以上就是SQL Server中增删改查操作的核心内容。