07.数据的增删改操作

1. 添加记录

1.1 添加记录的所有字段

# 语法
INSERT INTO 数据表名称 VALUES(字段值1,字段值2,字段值3,......);

# 实例
INSERT INTO `user` VALUES(1,'root','123456789','15971196612','湖北黄冈');

1.2 添加记录的指定字段

# 语法
INSERT INTO 数据表名称(字段名1,字段名2,字段名3,......) VALUES(字段值1,字段值2,字段值3,......);

# 实例
INSERT INTO `user`(`pk_id`,`username`,`password`) VALUES(1,'root','123456789');

1.3 添加多条记录的指定字段

# 语法
INSERT INTO 数据表名称(字段名1,字段名2,......) VALUES(字段值1,字段值2,......),(字段值1,字段值2,......),......;

# 实例
INSERT INTO `user`(`username`,`password`) VALUES('root','root'),('user','user');

1.4 使用SET关键字添加记录

# 语法
INSERT INTO 数据表名称 SET 字段名1 = 字段值1,字段名2 = 字段名2,......;

# 实例
INSERT INTO `user` SET `username` = 'root',`password` = 'root';

2. 删除记录

2.1 删除指定数据表中所有记录

# 语法
DELETE FROM 数据表名称;

# 实例
DELETE FROM `user`;

2.2 删除指定数据表中筛选记录

# 语法
DELETE FROM 数据表名称 WHERE 筛选条件;

# 实例
DELETE FROM `user` WHERE `sex` = 1;

2.3 多表连接删除记录

  • DELETE关键字后面的表别名即为要删除的表中记录
# SQL92标准语法
DELETE 表1别名,表2别名 FROM 表1 表1别名,表2 表2别名 WHERE 连接条件 AND 筛选条件;

# 实例:删除男学生的学生信息和选课信息
DELETE s,sc FROM `student` s,`student_course` sc WHERE s.`pk_id` = sc.student_id AND s.`sex` = 1;

# SQL99标准语法
DELETE 表1别名,表2别名 FROM 表1 表1别名 连接类型 JOIN 表2 表2别名 ON 连接条件 WHERE 筛选条件;

# 实例:删除男学生的学生信息和选课信息
DELETE 
	s,sc 
FROM 
	`student` s 
LEFT OUTER JOIN 
	`student_course` sc 
ON 
	s.`pk_id` = sc.`student_id` 
WHERE 
	s.`sex` = 1;

2.4 TRUNCATE关键字

  • truncate删除的是表中的所有记录,不能加where子句
  • 假如表中有自增长列,truncate删除后再添加记录计数器从1开始,delete删除后再添加记录计数器从断点开始
  • truncate删除的效率要高于delete删除
  • truncate删除没有返回值,而delete删除有返回值
  • truncate删除不能事务回滚,而delete删除可以
# 语法
TRUNCATE TABLE 数据表名称;

# 实例
TRUNCATE TABLE `user`;

3. 修改记录

3.1 修改数据表中所有记录的指定字段

# 语法
UPDATE 数据表名称 SET 字段名1 = 字段值1,字段名2 = 字段值2,......;

# 实例
UPDATE `user` SET `sex` = 1;

3.2 修改数据表中筛选记录的指定字段

# 语法
UPDATE 数据表名称 SET 字段名1 = 字段值1,字段名2 = 字段名2,...... WHERE 筛选条件;

# 实例
UPDATE `user` SET `password` = '123456789' WHERE `sex` = 1;

3.3 多表连接修改记录

# SQL92标准语法
UPDATE 表1 表1别名,表2 表2别名 SET 字段名1 = 字段值1,字段名2 = 字段值2,...... WHERE 连接条件 AND 筛选条件;

# 实例
UPDATE 
	`student` s,
	`student_course` sc 
SET 
	s.`password` = 'root',
	sc.`grade` = sc.`grade` + 5 
WHERE 
	s.`pk_id` = sc.`student_id` AND s.`sex` = 1;
	
# SQL99标准语法
UPDATE 表1 表1别名 连接类型 JOIN 表2 表2别名 ON 连接条件 SET 字段名1 = 字段值1,字段名2 = 字段值2,...... WHERE 筛选条件;

# 实例
UPDATE
	`student` s
LEFT OUTER JOIN
	`student_course` sc
ON
	s.`pk_id` = sc.`student_id`
SET
	s.`password` = 'root',
	sc.`grade` = sc.`grade` + 5
WHERE
	s.`sex` = 1;

猜你喜欢

转载自blog.csdn.net/qq_43625140/article/details/107571689