azhou 2020-02-01
USE girls; # DML语言 - 数据操作语言 /* 插入:insert 修改:update 删除:delete */ # 一、插入语句 /* 语法一: insert into 表名(列名, ...) values(值1, ...); 要求:插入值类型要与列类型一致 语法二: insert into 表名 set 列名=值, 列名=值, ...; */ SELECT * FROM beauty; # 经典插入 INSERT INTO beauty(id, NAME, sex, borndate, phone, photo, boyfriend_id) VALUE(13, '唐心怡', '女', '1992-4-23', '189203849308', NULL, 2) # 可省略列名 INSERT INTO beauty VALUE(14, '娜扎', '女', '1998-5-23', '179203849308', NULL, 3) INSERT INTO beauty SET id=15, NAME='刘涛';
/* 1. 修改单表记录 语法: update 表名 set 列名=新值, 列名=新值... where 筛选条件; 2. 修改夺标的记录 sql-192语法: update 表1 as 别名, 表2 as 别名 set 列=值, ... where 筛选条件 and 筛选条件; sql-199语法: update 表1 as 别名 inner|left|right join 表2 as 别名 on 连接条件 set 列=值,... where 筛选条件; */ # 案例1:修改姓唐的电话为13228483930 UPDATE beauty SET phone='13228483930' WHERE NAME LIKE '唐%'; SELECT * FROM beauty; # 案例2:修改张无忌女朋友手机号为114 UPDATE boys AS bo INNER JOIN beauty AS be ON bo.`id` = be.`boyfriend_id` SET be.`phone`='114' WHERE bo.`boyName`='张无忌';
/* 语法一: delete from 表名 where 筛选条件 多表删除 delete 表1别名, 表2别名 from 表1 别名 inner|left|right join 表2 别名 on 连接条件 where 筛选条件; 语法二: truncate table 表名; */ # 案例1:删除手机号以9结尾的女神信息 SELECT * FROM beauty WHERE phone LIKE '%9'; DELETE FROM beauty WHERE phone LIKE '%9'; # 案例2:删除张无忌的女朋友的信息 DELETE be FROM beauty AS be INNER JOIN boys AS bo ON be.`boyfriend_id`=bo.`id` WHERE boyName='张无忌'; SELECT * FROM beauty; # truncate语句 - 清空数据 /* delete PK truncate 1. delete 可以加where条件; truncate不能加 2. 若要删除表中自增长列,用delete删除,再插入数据,自增长列的值从断点开始 而truncate删除后,再插入数据,自增长列的值从1开始 3. truncate删除没有返回值,delete删除有返回值 4. truncate删除不可回滚,delete删除可以回滚 */