mysql(十)插入删除更改

#插入语句
/*
   语法:
   INSERT 表名(列名,.....) VALUES(值,......);
   这种写法需要注意:
   1、列名与值要一一对应
   2、遇到有默认值(可为空)的可以 不写列名和值 如 案列2
   3、可以用null代替 可为空的值
*/
INSERT girls.beauty (id, NAME, sex, borndate,
phone,photo,boyfriend_id) VALUES(13,'波多野结衣','女',
'1996-10-1','1888622234',NULL,1);
SELECT *FROM girls.beauty;

#案列2
INSERT girls.beauty(id,NAME,sex,phone)
VALUES(14,'刘诗诗','女','111');


#2、第二种插入的方式
/*
  INSERT INTO 表名 SET 列名=值,列名=值.......;

*/
INSERT INTO girls.beauty SET id=17,sex='女',name='胡一菲',phone='111';


/*两种方式的对比
  方式一:支持多行插入
  方式一:支持子查询,(可以用作转表,合并两表)
*/

#eg:多行插入
INSERT girls.beauty (id, NAME, sex, borndate,
phone,photo,boyfriend_id) VALUES(21,'杨超越','女',
'1996-10-1','1888622234',NULL,1),(22,'热巴','女',
'1996-10-1','1888622234',NULL,1);

#eg:子查询
INSERT INTO girls.beauty (id, NAME,phone)
SELECT 24,'葵司','111';

#二、修改语句
/*
1、修改单表的记录
  语法:
   UPDATE 表名
   SET 列=新值,列=新值,......
   WHERE 筛选条件;  //执行顺序,确定表,筛选,更新值

2、修改多表的记录
    

*/

#1、修改单表的记录
#案列1、修改beauty表中姓刘的女神电话为11987
UPDATE girls.beauty SET phone='11987',sex='i'
WHERE `name` LIKE '%刘%';



#2、修改多表的记录
#案列1: 修改张无忌的女朋友的电话为 114

UPDATE girls.beauty g INNER JOIN girls.boys b ON g.boyfriend_id = b.id
SET g.phone='114'
WHERE b.boyName='张无忌';
#案列2: 修改女神表中没有男朋友的boyid 为2
UPDATE girls.beauty g LEFT JOIN girls.boys b ON g.boyfriend_id=b.id
SET g.boyfriend_id=2
WHERE b.id IS NULL;

SELECT *FROM girls.beauty g LEFT JOIN girls.boys b ON g.boyfriend_id=b.id;#外连接
/*
 内连接:是两个表取交集,外连接是取余下的
*/
#三、删除
/*
   方式一: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 筛选条件;

方式二:truncate
语法:truncate table 表名;
*/
#案列1:删除手机号中以9号结尾的女神信息
DELETE g FROM girls.beauty g WHERE g.phone LIKE '%9';
DELETE FROM girls.beauty  WHERE phone LIKE '%9';

#需要把表的别名放在前面

#多表的删除
#案咧2:删除张无忌女朋友的信息

#分解 最开始的数据
SELECT * FROM girls.beauty g INNER JOIN girls.boys b ON g.boyfriend_id=b.id;

DELETE  g FROM girls.beauty g INNER JOIN girls.boys b ON g.boyfriend_id=b.id
WHERE b.boyName='张无忌';

#方式二:truncate 语句
#案例2:将魅力值>100的男神信息删除
#不能加 where语句,作用是清空列表,全部删除

/*

1.delete 可以加where 条件,truncate不能加

2.truncate删除,效率高一丢丢
3.假如要删除的表中有自增长列,
如果用delete删除后,再插入数据,自增长列的值从断点开始,
而truncate删除后,再插入数据,自增长列的值从1开始。
//设计表中有自增的

4.truncate删除没有返回值,delete删除有返回值

5.truncate删除不能回滚,delete删除可以回滚.

*/
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值