目录
一、插入语句
方式一:
语法:
INSERT INTO 表名(列名,……) VALUES (值1,……)
#1、插入的值的类型要与列的类型一致或兼容
#案例1:
INSERT INTO beauty(id,NAME,sex,borndate,phone,photo,boyfriend_id)
VALUES(13,'唐艺昕','女','1990-4-23','189888888',NULL,2);
#2、不可以为null的列,必须插入值,可以为null的列如何插入值
#方式一:
INSERT INTO beauty(id,NAME,sex,borndate,phone,photo,boyfriend_id)
VALUES(13,'唐艺昕','女','1990-4-23','189888888',NULL,2);
#方式二:
INSERT INTO beauty(id,NAME,sex,borndate,phone,boyfriend_id)
VALUES(14,'金星','女','1990-4-23','189888898',9);
#3、列的顺序可以调换
INSERT INTO beauty(NAME,sex,id,phone)
VALUES('蒋欣','女',15,'10784372984');
#4、列数和值的个数必须一致
#5、可以省略列名,默认所有列,而且列的顺序和表中的列的顺序一致
INSERT INTO beauty
VALUES(16,'欧阳娜娜','女',NULL,'1543254546',NULL,NULL);
方式二:
语法:
INSERT INTO 表名
SET 列名=值,列名=值……
INSERT INTO beauty
SET id=17,NAME='刘涛',phone='5415534';
两种方式对比
1、方式一支持插入多行,方式二不支持
INSERT INTO beauty(NAME,sex,id,phone)
VALUES('蒋欣','女',15,'10784372984')
,('蒋欣','女',15,'10784372984')
,('蒋欣','女',15,'10784372984');
2、方式一支持子查询,方式二不支持
INSERT INTO beauty(NAME,sex,id,phone)
SELECT('蒋欣','女',15,'10784372984');
二、修改语句
1、修改单表的记录
语法:
UPDATE 表名
SET 列=新值,列=新值
WHERE 筛选条件;
执行顺序: UPDATE → WHERE → SET
#案例1:修改beauty表中姓蒋的电话
UPDATE beauty SET phone ='1943943043'
WHERE NAME LIKE '蒋%';
2、修改多表的记录
sql92语法:
UPDATE 表1 别名, 表2 别名
SET 列=新值,列=新值……
WHERE 链接条件
AND 筛选条件;
sql99语法:
UPDATE 表1 别名,
INNER /RIGHT /LEFT JOIN 表2 别名
ON 链接条件
SET 列=新值,列=新值……
WHERE 筛选条件;
三、删除语句
方式一:DELETE
1、单表的删除
满足条件的整行删除
语法:
DELETE FROM 表名 WHERE 筛选条件
#案例1:删除手机号以0结尾的女神信息
DELETE FROM beauty WHERE phone LIKE '%0';
2、多表的删除
sql92语法:
DELETE 表1的别名,表2的别名
FROM 表1 别名,表2 别名
WHERE 链接条件
AND 筛选条件
sql99语法:
DELETE 表1的别名,表2的别名
FROM 表1 别名
INNER /RIGHT /LEFT JOIN 表2 别名
ON 链接条件
WHERE 筛选条件
#案例1:删除张飞的女朋友的信息
DELETE b
FROM beauty b
INNER JOIN boys bo
ON b.boyfriend_id=bo.id
WHERE bo.boyName='张飞'
#案例2:删除张飞的信息以及他女朋友的信息
DELETE b,bo
FROM beauty b
INNER JOIN boys bo
ON b.boyfriend_id=b.id
方式二:TRUNCATE 清空数据
语法:TRUNCATE TABLE 表名
- 不允许加where筛选条件
- 整表删除
DELETE 和 TRUNCATE 的区别
1、DELETE可以加 WHERE条件,TRUNCATE不能加
2、TRUNCATE 效率高
3、假如要删除的表中有自增长列,如果用 DELETE删除后,再插入数据,自增长列的值从断点开始,
而 TRUNCATE删除后,再插入数据,自增长列的值从头开始
4、TRUNCATE删除没有返回值, DELETE删除有返回值
5、TRUNCATE删除不能回滚, DELETE删除可以回滚