一:插入语句
#DML语言/*数据操作语言:插入:insert修改:update删除:delete*/#插入语句#方式一:经典插入/*语法: insert into 表名(列名1,列名2……) values(值1,值2……);`borndate`*/#1.插入的值的类型要与列的类型一致或兼容。INSERT INTO beauty(id,NAME,sex,borndate,phone,photo,boyfriend_id)VALUES(13,'周杰伦','男','1999-9-9','123456790',NULL,2);#2.不可以为null的列必须插入值,可以为null的列如何插入值? #方式一:(可以在值中写null) INSERT INTO beauty(id,NAME,sex,borndate,phone,photo,boyfriend_id) VALUES(13,'周杰伦','男','1999-9-9','123456790',NULL,2); #方式二:(也可以在列中不写可以为null的列) INSERT INTO beauty(id,NAME,sex,borndate,phone,boyfriend_id) VALUES(13,'周杰伦','男','1999-9-9','123456790',2);#3.列的顺序可以调换,但是列与值必须一一对应。#4.列数和值的个数必须相等#5.可以省略列名,默认是所有列,并且列的顺序和表的顺序一致#方式二:/*语法: insert into 表名 set 列名=值,列名=值,……;*/INSERT INTO beautySET id=19,NAME='张子枫',phone='999';#两种方式大PK(通常用方式一)#1.方式一支持多行插入,方式二不支持。INSERT INTO beauty(id,NAME,sex,borndate,phone,photo,boyfriend_id)VALUES(16,'周杰伦1','男','1999-9-9','123456790',NULL,2),(14,'周杰伦2','男','1999-9-9','123456790',NULL,2),(15,'周杰伦3','男','1999-9-9','123456790',NULL,2);#2.方式一支持子查询,方式二不支持INSERT INTO beauty(id,`name`,phone)SELECT 32,'热巴1','998888';
二:修改语句
#二:修改语句/*1.修改单表的记录【*】 语法: update 表名 set 列=新值,列=新值 where 筛选条件;2.修改多表的记录【补充】*/#一:修改单表的记录#案例一:修改beauty表中姓唐的女神的电话为"12345"update beauty set phone='12345'where name like '张%';#二:修改多表的记录【补充】/*sql92语法:update 表1 别名,表2 别名set 列=值,……where 连接条件and 筛选条件;sql99语法:update 表1 别名连接类型 表2 别名on 连接条件set 列=值,……where 筛选条件;*/#案例一:修改张无忌的女朋友的手机号为114update boys boinner join beauty bon bo.id=b.boyfriend_idset b.phone='114'where bo.boyName='张无忌';
三:删除语句
#三:删除语句/*方式一:delete语法: 1.单表的删除【*】(一删就是整行) delete from 表名 where 筛选条件 2.多表的删除【补充】方式二:truncate(删除整个表) truncate table 表名;*/#方式一:delete #单表的删除 #案例一:删除手机号以9结尾的女神信息DELETE FROM beauty WHERE phone LIKE '%9'; #多表的删除 /* 1.sql92语法: delete 表1的别名,表2的别名 from 表1 别名,表2 别名 where 连接条件 and 筛选条件; 2.sql99语法: delete 表1的别名,表2的别名 from 表1 别名 连接类型 join 表2 别名 on 连接条件 where 筛选条件; */ #案例一:删除张无忌的女朋友的信息DELETE bFROM beauty boINNER JOIN boys bON b.boyfriend_id=bo,idWHERE bo.boyName='张无忌';#方式二:truncate(删除整个表)#删除表中所有的数据#两种删除方式大PK/* 1.delete可以加where条件,truncate不能加 2.truncate删除,效率略高 3.假如要删除的表中有自增长列,如果用delete删除后,再插入数据,自增长列从断点开始,而truncate删除后,再插入数据,自增长列从1开始。 4.truncate删除没有返回值,delete删除有返回值 5.truncate删除不能回滚,delete删除可以回滚*/