数据库四个基本操作增删改查,其中查博主已经总结过,想查看的请点击传送门:[查询篇]
今天总结数据库的增删改部分。
1. 增(插入)
一、方式一
语法:
insert into 表名(字段名,...) values(值,...);
例:往beauty表中插入字段(经典款)
SELECT * FROM beauty;
#1.插入的值的类型要与列的类型一致或兼容
INSERT INTO
beauty(id,NAME,sex,borndate,phone,photo,boyfriend_id)
VALUES(1,'李冰彬','女','1990-4-23','123456789',NULL,2);
例:往beauty表中插入字段(省略款)
INSERT INTO beauty(id,NAME,sex,phone)
VALUES(15,'娜扎','女','1388888888');
例:往beauty表中插入字段(换位款)
INSERT INTO beauty(NAME,sex,id,phone)
VALUES('蒋欣','女',16,'110');
例:往beauty表中插入字段(全省略款)
INSERT INTO beauty
VALUES(18,'明天华','女',NULL,'119',NULL,NULL);
特点:
- 1、要求值的类型和字段的类型要一致或兼容
- 2、字段的个数和顺序不一定与原始表中的字段个数和顺序一致但必须保证值和字段一一对应
- 3、假如表中有可以为null的字段,注意可以通过以下两种方式插入null值
①字段和值都省略
②字段写上,值使用null - 4、字段和值的个数必须一致
- 5、字段名可以省略,默认所有列
二、方式二
语法:
insert into 表名 set 字段=值,字段=值,...;
#还是以上的例子
INSERT INTO beauty
SET id=19,NAME='刘涛',phone='999';
两种方式 的区别:
1.方式一支持一次插入多行,语法如下:
insert into 表名【(字段名,..)】 values(值,..),(值,...),...;
INSERT INTO beauty
VALUES
(23,'唐艺昕1','女','1990-4-23','1898888888',NULL,2)
,(24,'唐艺昕2','女','1990-4-23','1898888888',NULL,2)
,(25,'唐艺昕3','女','1990-4-23','1898888888',NULL,2);
2.方式一支持子查询,语法如下:
insert into 表名
查询语句;
INSERT INTO beauty(id,NAME,phone)
SELECT 26,'宋茜','11809866';
2. 删(删除)
方式一:使用delete
一、删除单表的记录
语法
delete from 表名
【where 筛选条件】
【limit 条目数】
例:删除手机号以9结尾的女神信息
DELETE FROM beauty WHERE phone LIKE '%9';
SELECT * FROM beauty;
二、级联删除
语法:
delete 别名1,别名2 from 表1 别名
inner|left|right join 表2 别名
on 连接条件
【where 筛选条件】
例:删除张无忌的女朋友的信息
DELETE b
FROM beauty b
INNER JOIN boys bo ON b.`boyfriend_id` = bo.`id`
WHERE bo.`boyName`='张无忌';
方式二:使用truncate
语法
truncate table 表名
例:将男神表信息删除
TRUNCATE TABLE boys ;
两种方式的区别★
delete | truncate | |
---|---|---|
删除后 | 如果再插入,标识列从断点开始 | 如果再插入,标识列从1开始 |
where | 可以添加筛选条件 | 不可以添加筛选条件 |
效率 | 高 | 较低 |
返回值 | 返回受影响行数 | 无 |
回滚 | 可以 | 不可以 |
3. 改(修改)
**一、修改单表的记录 **
语法
`update 表名 set 字段=值,字段=值 【where 筛选条件】;`
例:修改beauty表中姓唐的女神的电话为13899888899
UPDATE beauty SET phone = '13899888899'
WHERE NAME LIKE '唐%';
二、修改多表的记录
语法:
update 表1 别名
left|right|inner join 表2 别名
on 连接条件
set 字段=值,字段=值
【where 筛选条件】;
例 :修改张无忌的女朋友的手机号为114,其userCP值改为100
UPDATE boys bo
INNER JOIN beauty b
ON bo.`id`=b.`boyfriend_id`
SET b.`phone`='114',bo.`userCP`=100
WHERE bo.`boyName`='张无忌';