MySQL之DML语言

1、DML 语言(全部记住)

数据库的意义:数据存储,数据管理

DML 语言:数据库操作语言

  • insert
  • update
  • delete

2、添加(insert)

insert into 表名 ([字段名 1,字段 名 2,字段名 3 ……]) values(‘值 1,值 2’)

注意:

  1. 字段和字段之间使用英文逗号隔开
  2. 字段是可以省略的,但是后面的值必须要一一对应,不能少
  3. 可以同时插入多条数据,values 后面的值,使用英文逗号隔开即可

3、修改(update)

update 修改谁 (条件) set 原来的值 =新值

-- 修改学员名字 带了 id
update student set name='白衣' where id = 1;

-- 不指定条件的情况下,会改动所有表!
unaate student set name = '白衣';

-- 修改多个属性,逗号隔开
update student set name = '白衣', email='1101293873@qq.com' where id = 1;

-- 语法
-- update 表名 set colnums_name = value, [colnums_name = value] where [条件]条件:where 子句 运算符

运算符返回值为 true 或 false

操作符含义范围结果
=等于5=6布尔值
<> 或 !=不等于5 != 6true
>大于6 > 5true
<小于5 < 6true
between …and…在某个范围[5, 6] 闭合区间
and我和你(&&)5 > 1 and 1 > 2false
or我或你(||)5 > 1 or 1 > 2true
in在某个范围in(1,5)

语法:update 表名 set column_name = value, [column_name = value] where [条件][条件]

注意:

  • column_name 是数据库的列,尽量带上``
  • 条件,筛选条件,如果没有指定,则会修改所有的列
  • values,是一个具体的值,也可以是一个变量
  • 多个设置的属性之间,使用英文逗号隔开

4、删除(delete)

delete 命令

语法:delete from 表名 [where 条件]

-- 删除数据 (避免这样写,会全部删除)
delete from student;

-- 删除指定数据
delete from student where id=1;

truncate 命令

作用:完全清空一个数据库表,表的结构和索引约束不会变!

-- 清空 student 表
truncate student;

delete 和 truncate 的区别

  • 相同点:都能删除数据,都不会删除表结构
  • 不同点:
    • truncate 重新设置自增列,计数器会归零
    • truncate 不会影响事务

测试 delete:

create table `demo`(
	`id` int(4) auto_increment not null,
	`coll` VARCHAR(20) not null,
	primary key(`id`)
)ENGINE=INNODB DEFAULT CHARSET=utf8

INSERT into `demo`(`coll`) values ('1'),('2'),('3');

delete from `demo`;

在这里插入图片描述

INSERT into `demo`(`coll`) values ('1'),('2'),('3');

在这里插入图片描述
新增数据如上所示,id 从 4开始。

测试 truncate:

-- 使用 truncate 进行删除
truncate table `demo`;

表的自增恢复为 1 开始。
在这里插入图片描述
delete 删除的问题:重启数据库,现象

  • INNODB:自增列会从 1 开始(因为是存在内存中的,断电即失)
  • MYISAM:继续从上一个自增量开始(因为是存在文件中的,不会丢失)
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值