MySQL数据库基础知识 2 DML语言笔记

二、数据操作语言(DML语言)

(观看这一小节的同学,可以先观看上一小节DQL语言的一些相关概念的笔记讲解,观看链接可以点击这里
1.1数据操作语言:
插入:insert
修改:update
删除:delete
1.2插入语句语法:
方式一:
insert into 表名(列名,…)
values(值1,…);#该值要和列名依次对应,并且类型要和列的类型一致或兼容
语法举例

#1.插入的值的类型要与列的类型一致或者兼容
INSERT INTO beauty(id,NAME,sex,borndate,phone,photo,boyfriend_id)
VALUES(13,'范大大','女','1992-2-24','11111111',NULL,2);

#2.不可以为null的列必须插入值,可以为null的列如何插入值?
#方式一:用值为null
INSERT INTO beauty(id,NAME,sex,borndate,phone,photo,boyfriend_id)
VALUES(13,'范大大','女','1992-2-24','1111111111',NULL,2);

#方式二:去掉该列表
INSERT INTO beauty(id,NAME,sex,phone)
VALUES(14,'超然','女','1008611');

#3.列的顺序可以调换
INSERT INTO beauty(NAME,sex,id,phone)
VALUES('关晓彤','女',15,'15656329665');

#4.列数和值的个数必须一致
INSERT INTO beauty(NAME,sex,id,phone)
VALUES('热巴','女',16,'16656329665');

#5.可以省略列名,默认所有列,而且列的顺序和表中列的顺序一致(这时为空的列则值必须写出null)
INSERT INTO beauty
VALUES(18,'凤凰传奇','男',NULL,'120',NULL,NULL);

方式二(语法):
insert into 表
set 列名 = 值,列名 = 值,…
举例

INSERT INTO beauty
SET id = 19,NAME = '贾假',phone = 0000000000;

1.3修改语句语法
1.3.1修改单表的记录

语法:                                        执行顺序
update 表名                                  (1set=新值,列=新值,.......3where  筛选条件                              (2
#修改boys表中id号为2的名称为张飞,魅力值为10
UPDATE boys
SET `boyName` = '张飞',`userCP` = 10
WHERE `id` = 2;

1.3.2修改多表的记录【补充】

sql92语法:
update1 别名,表2 别名
set= 值,.......
where 连接条件
and 筛选条件 
sql99语法:
update1 别名
inner|left|right join2  别名
on 连接条件
set= 值,....... 
where 筛选条件;

1.4删除语句
使用delete语法
1.4.1单表的删除

delete from 表名 where 筛选条件
#案例:删除手机号以9结尾的女神的信息
DELETE FROM beauty WHERE phone LIKE '%9';

1.4.2多表删除
方式一:使用delete语法
sql92语法:

delete 表的别名(删除那个表就为谁的别名,两个都删除则为两个的别名一起)
from1 别名,表2 别名
where 连接条件
and 筛选条件;

sql99语法:

delete 表的别名(删除那个表就为谁的别名,两个都删除则为两个的别名一起)
from1 别名
inner|left|right join2 别名 on 连接条件
where 筛选条件;

方式二:使用truncate语法(清空,不能加where条件)

truncate table 表名   (删除整个表的记录)

1.4.3以上两种方式的对比
1、delete可以加where条件,而truncate不可以
2、truncate删除效率高一丢丢
3、假如要删除的表中有自增长列,如果用delete删除后,再插入数据,自增长列的值从断点开始,而truncate删除后,再插入数据,自增长列的值从1开始。
4.truncate删除没有返回值,delete删除后有返回值
5.truncate不能回滚,而delete删除可以回滚

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值