MySQL_DML数据操纵语言_刘锋的博客

DML数据操纵语言

插入:insert

一、经典的插入

语法

insert into 表名(列名1,…)

values(值1,…);

插入值的类型要和列的类型一致或兼容

INSERT INTO beauty(id,NAME,sex,borndate,phone,photo,boyfriend_id)
VALUES(13,'唐艺昕','女','1990-4-23','13666666666',NULL,2);

可以为null的列如何插入值

INSERT INTO beauty(id,NAME,sex,borndate,phone,boyfriend_id)
VALUES(14,'可爱','女','1999-4-23','13866666666',2);

列的顺序可以颠倒

列和值的个数必须一致

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

INSERT INTO beauty
VALUES(15,'孙江龙','男','1990-4-23','13666666666',NULL,NULL)

二、特殊的插入

语法

insert into 表名

set 列名=值,列名=值,…

INSERT INTO beauty
SET id=19,NAME="可爱贾",phone="666"

两种插入方式的区别

1、方式一支持插入多行,方式二值支持一行插入

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

INSERT INTO beauty(id,NAME,phone)
SELECT 26,'宋茜','1180546'

修改:updata

修改单表的记录

语法

update 表名

set 列 = 新值,列 = 新值,…

where 筛选条件


修改beauty表中姓唐的电话都改成13888888888

UPDATE beauty
SET phone = "13888888888"
WHERE NAME LIKE "周%"

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

UPDATE boys
SET boyName = "张飞",`userCP` = 10
WHERE id = 2;

修改多表的记录(级联更新)

语法

sql92语法:

update 表1 别名,表2 别名,…

set 列 = 值,列 = 值,…

where 连接条件

and 筛选条件

sql99语法(推荐使用)

update 表1 别名

inner/left/right join 表2 别名

on 连接条件

set 列=值,列=值,…

where 筛选条件


修改张无忌的女朋友的手机号为114

UPDATE boys bo 
JOIN beauty b
ON b.`boyfriend_id` = bo.`id`
SET b.`phone` = "114"
WHERE bo.`boyName` = '张无忌'

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

UPDATE beauty bLEFT 
JOIN boys boON b.`boyfriend_id` = bo.`id`
SET b.`boyfriend_id` = 2 
WHERE bo.`id` IS NULL;

删除:delete

方式一:delete

语法

delete from 表名

where 筛选条件

# 单表的删除
DELETE FROM beautyWHERE beauty.`id` = 15;
# 多表的删除
# 删除张无忌的女朋友的信息
DELETE bFROM beauty bINNER 
JOIN boys boON b.`boyfriend_id` = bo.`id`
WHERE bo.`boyName` = '张无忌'

方式二:truncate

语法

truncate table 表名;

删除整个表的全部数据,不可以加筛选条件where,效率高

delete 和truncate的区别

1、delete可以加where,truncate不可以加where

2、truncate的效率高

3、在有自增长列的时候,delete删除后在下一次添加的时候,自增长列从之前的断点开始,truncate则是从0开始

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值