【MYSQL 基础篇笔记】DML语言

目录

一、插入语句

二、修改语句

三、删除语句


一、插入语句

方式一:
语法:
INSERT INTO 表名(列名,……) VALUES (值1,……)

#1、插入的值的类型要与列的类型一致或兼容
#案例1:
INSERT INTO beauty(id,NAME,sex,borndate,phone,photo,boyfriend_id)
VALUES(13,'唐艺昕','女','1990-4-23','189888888',NULL,2);

#2、不可以为null的列,必须插入值,可以为null的列如何插入值
#方式一:
INSERT INTO beauty(id,NAME,sex,borndate,phone,photo,boyfriend_id)
VALUES(13,'唐艺昕','女','1990-4-23','189888888',NULL,2);
#方式二:
INSERT INTO beauty(id,NAME,sex,borndate,phone,boyfriend_id)
VALUES(14,'金星','女','1990-4-23','189888898',9);

#3、列的顺序可以调换
INSERT INTO beauty(NAME,sex,id,phone)
VALUES('蒋欣','女',15,'10784372984');

#4、列数和值的个数必须一致
#5、可以省略列名,默认所有列,而且列的顺序和表中的列的顺序一致
INSERT INTO beauty
VALUES(16,'欧阳娜娜','女',NULL,'1543254546',NULL,NULL);

方式二:
语法:
INSERT INTO 表名
SET 列名=值,列名=值……
 

INSERT INTO beauty
SET id=17,NAME='刘涛',phone='5415534';

两种方式对比
1、方式一支持插入多行,方式二不支持

INSERT INTO beauty(NAME,sex,id,phone)
VALUES('蒋欣','女',15,'10784372984')
,('蒋欣','女',15,'10784372984')
,('蒋欣','女',15,'10784372984');

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

INSERT INTO beauty(NAME,sex,id,phone)
SELECT('蒋欣','女',15,'10784372984');

二、修改语句

1、修改单表的记录

语法:
UPDATE 表名
SET 列=新值,列=新值
WHERE 筛选条件;

执行顺序: UPDATE → WHERE → SET
 

#案例1:修改beauty表中姓蒋的电话
UPDATE beauty SET phone ='1943943043'
WHERE NAME LIKE '蒋%'; 

2、修改多表的记录
sql92语法:
UPDATE 表1 别名, 表2 别名
SET 列=新值,列=新值……
WHERE 链接条件
AND 筛选条件;

sql99语法:
UPDATE 表1 别名,
INNER /RIGHT /LEFT JOIN 表2 别名
ON 链接条件
SET 列=新值,列=新值……
WHERE 筛选条件;

 

三、删除语句

方式一:DELETE
1、单表的删除

满足条件的整行删除
语法:
DELETE FROM 表名 WHERE 筛选条件

#案例1:删除手机号以0结尾的女神信息
DELETE FROM beauty WHERE phone LIKE '%0';

2、多表的删除
sql92语法:
DELETE 表1的别名,表2的别名
FROM 表1 别名,表2 别名
WHERE 链接条件
AND 筛选条件

sql99语法:
DELETE 表1的别名,表2的别名
FROM 表1 别名
INNER /RIGHT /LEFT JOIN 表2 别名    
ON 链接条件
WHERE 筛选条件

#案例1:删除张飞的女朋友的信息
DELETE b
FROM beauty b
INNER JOIN boys bo
ON b.boyfriend_id=bo.id
WHERE bo.boyName='张飞'

#案例2:删除张飞的信息以及他女朋友的信息
DELETE b,bo
FROM beauty b
INNER JOIN boys bo
ON b.boyfriend_id=b.id

方式二:TRUNCATE 清空数据
语法:TRUNCATE TABLE 表名

  • 不允许加where筛选条件
  • 整表删除

DELETE 和 TRUNCATE 的区别

1、DELETE可以加 WHERE条件,TRUNCATE不能加
2、TRUNCATE 效率高
3、假如要删除的表中有自增长列,如果用 DELETE删除后,再插入数据,自增长列的值从断点开始,
而 TRUNCATE删除后,再插入数据,自增长列的值从头开始
4、TRUNCATE删除没有返回值, DELETE删除有返回值
5、TRUNCATE删除不能回滚, DELETE删除可以回滚

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值