Mysql学习笔记(四)----DML语言

前言

数据库存在的意义在于它对数据存储和管理,在这其中有两个重要的语言。一个是是DML语言(数据操作语言)和DQL语言(数据查询语言),今天我们先来了解一下前者。
DML语言:数据操作语言

  • insert
  • update
  • delete
1. 添加 (Insert)

[1] 插入一组值

-- 插入语句(添加)
-- insert into 表名([字段1,字段2,字段3]) values('值1','值2','值3')
-- 如果不写表的字段,它就会一一对应
INSERT INTO `grade`(`gradeName`) VALUES('大四');
INSERT INTO `student`(`name`,`password`) VALUES('张三','aaa');

[2] 插入多组值

-- 插入多个字段
INSERT INTO `grade`(`gradeName`)
VALUES('大二'),('大一');
INSERT INTO `student`(`name`,`password`,`sex`) 
VALUES('王五','ccc','男'),
('赵六','ddd','男');
2. 修改(Update)

语法: update 表名 set column_name = value, [column_name = value,…] where [条件]
注意:
【1】column_name是数据库上的列,尽量带上 ``
【2】条件,筛选的条件,如果没有指定,则会修改所有的列
【3】value, 是一个具体的值,也可以是一个变量

-- 修改学员的名字,带了条件
UPDATE `student` SET `name`='狂神' WHERE id =1
-- 不指定条件的情况下,会改动所有的表(一般不建议这么操作)
UPDATE `student` SET `sex`='男'
-- 修改多个属性
UPDATE `student` SET `name`='狂神1',email='12306' WHERE id=1

-- 语法:
-- update 表名 set column_name = value,[column_name = value,...] where [条件]
3. 删除(delete)

【1】DELETE

-- 删除数据库
Delete from student where id = 2;

【2】与delete命令比较类似的为Truncate命令
Truncate命令的作用:完全清空一个数据表,表的结构和索引不会改变

-- 清空student表
TRUNCATE  `student`

delete 与 truncate的异同:
相同点:都是删除数据,都不会删除表结构
不同点:
truncate会重新设置自增列,计数器归零,而delete则不会
truncate不会影响事务,而delete会影响事务

-- 测试delete和truncate 区别
CREATE TABLE `test`(
   `id` INT(4) NOT NULL AUTO_INCREMENT ,
   `coll` VARCHAR(20) NOT NULL,
   PRIMARY KEY(`id`)
)ENGINE=INNODB DEFAULT CHARSET=utf8

INSERT INTO `test`(`coll`) 
VALUES('1'),('2'),('3')

DELETE FROM `test` -- 不会影响自增
TRUNCATE TABLE `test` -- 自增会归零

【3】不同引擎对delete删除后重启数据库的现象

  • InnoDB 自增列会从1开始(存在内存中的,断电即失效)
  • MyISAM 继续从上一个自增量开始 (存在文件中,不会丢失)
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值