数据库MySql学习之旅 十一

DML语言

数据操作语言

插入:insert

删除:delete

修改:update

一、插入语句

方式一:经典的插入

语法:

insert into 表名(列名,...) values(值1,....);

1、插入的值的类型要与列的类型一致或者兼容

insert into beauty(id, name, sex, borndate, phone, photo, boyfriedn_id)

values( 12, '唐艺昕', '女‘,'1990-4-23', '18900000000', NULL, 2);

2、不可以为null的列必须插入值,可以为null的列如何插入值?

方式一:

insert into beauty(id, name, sex, borndate, phone, photo, boyfriedn_id)

values( 12, '唐艺昕', '女‘,'1990-4-23', '18900000000', NULL, 2);

方式二:

insert into beauty(id, name, sex, borndate, phone, boyfriedn_id)

values( 14, '金星', '女‘,'1990-4-23', '1388888880', 9);

3、列的顺序是否可以调换

insert into beauty(NAME, sex, id, phone) 

values ('蒋欣’,‘女’,16,‘110’);

4、列数和值的个数必须一致

insert into beauty(NAME, sex, id, phone)

values('关晓彤','女', 17, '110');

5、可以省略列名,默认所有列,而且列的顺序和表中列的顺序一致

insert into beauty 

values(18, ‘张飞’,' 男’, NULL,'119', NULL, NULL);

 

方式二:

语法:

insert into 表名

set 列名=值,列名=值,...

 

1、insert into beauty

set id=19, NAME='刘涛', phone='999';

 

两种插入方式大pk

1、方式一支持插入多行

insert into beauty

values(18, ‘张飞’,' 男’, NULL,'119', NULL, NULL),

(19, ‘张飞’,' 男’, NULL,'119', NULL, NULL),

(12, ‘李浩’,' 男’, NULL,'119', NULL, NULL);

2、方式一支持子查询,方式二不支持

insert into beauty(id,NAME,phone)

select 26,'宋茜','11809866';

 

 

二、修改语句

1、修改单表中的记录

语法:

update 表名

set 列=新值,列=新值,...

where 筛选条件;

2、修改多表的记录

语法:

sql92

update 表1 别名, 表2 别名

set 列=值,...

where 连接条件

and 筛选条件;

sql99:

update 表1 别名

inner |left|right join 表2 别名

on 连接条件

set 列=值,...

where 筛选条件

 

1、修改单表的记录

示例一:修改beauty表中姓唐的女神的电话为138998888899

update beauty set phone = '128999999'

where name like  '唐%‘;

示例二、修改boys表中id为2的名称为张飞,魅力值为10

update boys set boyname=’张飞‘,usercp=10

where id=2;

 

2、修改多表的记录

案例1:修改张无忌的女朋友的手机号为114

update boys b

inner join beauty b on bo.id = b.boyfriend_id

set b.phone = '114'

where bo.boyfriend = ’张无忌';

案例2,修改没有男朋友的女神的男朋友编号都为2号

update boys bo

right join beauty b on bo.id = b.boyfriend_id

set b.boyfriend_id =2

where b.id is null;

 

三、删除语句

方式一:delete

语法:

1、单表的删除

delete from 表名 where 筛选条件

2、多表的删除

 

方式二、truncate

语法:truncate table 表名

 

方式一:delete

1、单表的删除

案例一:删除手机号为9结尾的女神信息

delete from beauty where phone like '%9';

2、多表的删除

案例:删除张无忌的女朋友的信息

sql92:

delete 别名

from 表1 别名,表2 别名

where 连接条件

and 筛选条件

 

sql99

delete 别名

from 表1 别名

inner |left|right join on表2

where 筛选条件;

 

方式二:truncate 语句

案例:将魅力值>100的男神信息删除

truncate table boys;

 

delete pk truncate

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

2、truncate删除,效率高

3、假如要删除的表有自增列

     delete删除后,再插入数据,自增长列的值从断点开始,而truncate删除后,

     再插入数据,自增长列的值从1开始

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

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

 

posted @ 2020-02-26 22:43  汪汪大队长  阅读(66)  评论(0)    收藏  举报