本文共 2321 字,大约阅读时间需要 7 分钟。
DML 完结-修改 update,删除 delete truncate
#修改语句
/*1 修改单表的记录update 表名 1set 列=值,列=值... 2where 筛选条件 3条件表达式 逻辑表达式 某种查询2 修改多表的记录SQL92语法update 表1,表2set 列=值where 连接条件and 筛选条件SQL99update 表1inner left right join 表2on 连接条件set 列=值where 筛选条件*/
#修改 `results` id 为9的表 的`studentNo`=6UPDATE `results`SET `studentNo`=6WHERE id=9 SELECT * FROM`results`SELECT * FROM`beauty`
#修改多表的记录
#1 修改张无忌的女朋友的手机号为 114UPDATE `boys`AS bJOIN `beauty`AS gON b.`id`=g.`boyfriend_id`SET`phone`=114WHERE `boyName`='张无忌'#修改没有男朋友的女神的男朋友的编号为张飞INSERT INTO `boys`VALUES(5,'张飞',10),(6,'李响',80);SELECT g.*,b.*FROM `beauty`AS gLEFT JOIN`boys`AS bON b.`id`=g.`boyfriend_id`UPDATE `beauty`AS gLEFT JOIN`boys`AS bON b.`id`=g.`boyfriend_id`SET`boyfriend_id`=5WHERE b.`id`IS NULLSELECT g.`name`FROM`beauty` AS gLEFT JOIN `boys`AS bON b.`id`=g.`boyfriend_id`WHERE `boyName`='张飞'UPDATE `results`SET `id`=17,`score`=78,`studentNo`=6WHERE `id`IS NULLUPDATE `results`SET `studentNo`=5WHERE `studentNo`>6
#三 删除语句
/*方式一 delete (一删除就是整行)语法:1 单表的删除delete from 表名 where 筛选条件(不加where就是删除全表)2 多表的删除SQL92delete 表名 别名,表2 别名from 表1 别名 表2 别名where 连接条件and 筛选条件SQL 99select 表1 别名 表2 别名from 表1 别名inner left right 表2 别名on 连接条件where 筛选条件方式二 truncate 清空数据语法 truncate table 表名; 删除全表,不能加where*/
#方式一 delete
#1 单表的删除# results id=17的DELETE FROM`results`WHERE `id`=17
#2多表删除
#删除鹿晗女朋友信息DELETE gFROM`beauty` AS gLEFT JOIN`boys` AS bON b.`id`=g.`boyfriend_id`WHERE`boyName`='鹿晗'
#删除黄晓明及其女朋友信息DELETE g,bFROM`beauty` AS gLEFT JOIN`boys` AS bON b.`id`=g.`boyfriend_id`WHERE`boyName`='黄晓明'
#delete PK truncate
/*1 delete 可以加 where条件 truncate 不能加2 truncate 删除 效率高3 如果要删除的表中有自增长列,如果用delete删除后 再插入数据,自增长列的值从断点开始,而truncate 删除后, 再插入数据,自增长列的值从1开始*/
DELETE FROM `boys`SELECT * FROM`boys`INSERT INTO`boys`(`boyName`,`userCP`)VALUE('黄晓明',80)#id 从8开始TRUNCATE `boys`INSERT INTO`boys`(`boyName`,`userCP`)VALUE('黄晓明',80)#id从1开始
#插入多行-两种方式
#方式一INSERT INTO `boys`(`boyName`,`userCP`)VALUES ('陈晓',150),('黄明昊',500),('王琳凯',80),('王子异',200);#方式二INSERT INTO `boys`(`boyName`,`userCP`)SELECT '李俊基',150 UNIONSELECT'李钟硕',500 UNIONSELECT '彭昱畅',150 UNIONSELECT '郑元畅',200 UNIONSELECT '吴尊',300;
#查询表结构DESC `boys`;#将工资少于3000的工资修改为4000UPDATE `employees`SET`salary`=4000WHERE`salary`<3000;SELECT MIN(`salary`)FROM `employees`;DELETE d,eFROM `employees`AS eJOIN `departments`AS dONWHERE
#删除所有数据DELETE FROM #清空表TRUNCATE TABLE
转载地址:http://hyysx.baihongyu.com/