笔记本 |
一、插入语句
语法一:
INSERT INTO 表名(列名,...) VALUES(值1,...);
使用该语句有一定要求:
插入值的类型要与列的类型一致或者兼容;
字段的个数和顺序不一定与原始表中的字段个数和顺序一致,但是必须保证值和字段一一对应;
不可以为NULL的列必须插入值;列的顺序可以调换;
列数和值的个数必须一致;
可以省略列名,默认是所有列,而且列的顺序和表的顺序一致。
eg:
INSERT INTO beauty(id,NAME,sex,borndate,phone,photo,boyfriend_id)
VALUES(1,'刘亦菲','女','1987-8-25','12345678910',NULL,2);
语法二:
INSERT INTO 表名
SET 列名=值,列名=值,...
他们的区别:
①语法一支持插入多行,但语法二不支持
INSERT INTO beauty(id,NAME,sex,borndate,phone,photo,boyfriend_id)
VALUES(1,'刘亦菲','女','1987-8-25','12345678910',NULL,2),
(1,'刘亦菲','女','1987-8-25','12345678910',NULL,2),
(1,'刘亦菲','女','1987-8-25','12345678910',NULL,2);
②语法一支持子查询,语法二不支持
INSERT INTO beauty(id,NAME,phone)
SELECT id,boyname,'123456' FROM boys WHERE id<3;
二、修改语句
UPDATE 表名
SET 列=新值,列=新值,...
WHERE 筛选条件
eg:
UPDATE beauty SET phone='12345678' WHERE NAME LIKE '唐%';
三、删除语句
方式一:DELETE
1、单表的删除
DELETE FROM 表名 WHERE 筛选条件
2、多表的删除
sql92语法:
DELETE 表1的别名,表2的别名
FROM 表1 别名,表2 别名
WHERE 连接条件 AND 筛选条件;
sql99语法:
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 表名;
两种方式区别:
①DELETE可以加WHERE条件,TRUNCATE不能加
②TRUNCATE效率高一些
③假如要删除的表中有自增长列,
如果用delect删除后,再插入数据,自增长列的值断点开始,
而TRUNCATE删除后,再插入数据,自增长列的值从1开始。
④TRUNCATE删除没有返回值,delect删除有返回值
⑤TRUNCATE删除不能回滚,delect删除可以回滚
notebook |