插入语句
语法一:
INSERT INTO 表名(列名,...)
VALUES(值1,...)
#1.插入类型要与列的类型一致或兼容 INSERT INTO `beauty`(id,`name`,`sex`,`borndate`,`phone`,`photo`,`boyfriend_id`) VALUES(13,'刘诗诗','女','1987-3-10','1888888888',NULL,NULL); #2.不可以为null的列必须插入值,可以为null的列是怎么插入值的 #方式一: INSERT INTO `beauty`(id,`name`,`sex`,`borndate`,`phone`,`photo`,`boyfriend_id`) VALUES(13,'刘诗诗','女','1987-3-10','1888888888',NULL,NULL); #方式二: INSERT INTO beauty(`id`,`name`,`phone`) VALUES(14,'金星','123333333'); #3.列的顺序是否可以颠倒:可以 INSERT INTO beauty(`name`,`id`,`phone`) VALUES('娜扎',15,'298555555'); #4.列数和值个数必须一致 #5.可以省略列名,默认是所有列,而且列的顺序和表中列顺序一致 INSERT INTO beauty VALUES(16,'关晓彤','女',NULL,'112',NULL,17);
语法二:
INSERT INTO 表名
SET 列名=值,列名=值,...
INSERT INTO beauty SET id=17,`name`='刘涛',`phone`='999';
两周语法对比:
#1.语法一支持插入多行,语法二不支持 INSERT INTO beauty VALUES(18,'刘诗诗2','女','1987-3-10','1888888888',NULL,NULL) ,(19,'刘诗诗3','女','1987-3-10','1888888888',NULL,NULL); #2.语法一支持子查询,语法二不支持 INSERT INTO beauty(`id`,`name`,`phone`) SELECT 20,'蒋欣','111';
修改语句
修改单表的记录
语法:
UPDATE 表名
SET 列=新值,列=新值,...
WHERE 筛选条件;
#改变beauty表中姓周的电话为1234567 UPDATE beauty SET `phone`='1234567' WHERE `name` LIKE '周%';
修改多表的记录【补充】
sql92语法:
UPDATE 表1 别名,表二 别名
SET 列=值
WHERE 连接条件
AND 筛选条件
sql99语法:
UPDATE 表1 别名
INNER|LEFT|RIGHT JOIN 表2 别名
ON 连接条件
SET 列=值
WHERE 筛选条件
#修改张无忌女朋友的手机号为114 UPDATE boys bo INNER JOIN beauty b ON bo.`id`=b.`boyfriend_id` SET b.`phone`='114' WHERE bo.`boyName`='张无忌';
删除语句
方式一:DELETE
语法:
DELETE FROM 表名 WHERE 删选条件
#删除手机号9结尾女神信息 DELETE FROM beauty WHERE `phone` LIKE '%9';
方式二:TRUNCATE
删除整个表,不允许WHERE筛选条件删除行
注:
1.假如要删除的表中有自增长列,如果用DELETE删除后再插入数据,自增长列的值从断点开始,二TRUNCATE删除后再插入数据,自增长列的值从1开始
2.truncate删除没有返回值,DELETE删除有返回值
3.truncate删除不能回滚,DELETE删除可以回滚