MySQL数据管理:增删改 [DML语言]


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

DML语言:数据操作语言

  • Insert
  • update
  • delete

1. 添加 insert

-- 插入语句(添加)
-- insert into 表名([字段一], [字段二])values('值1'),('值2')

INSERT INTO `grade` (`gradename`) VALUES('大四')

-- 由于主键自增我们可以省略(如何不写表的字段,他会一一匹配)
INSERT INTO `grade` VALUES('大三')
INSERT INTO `grade` (`gradeid`,`gradename`) VALUES ('大三','null')

-- 一般写插入语句,我们一定要数据和字段一一对应。
-- 插入多个字段
INSERT INTO `grade`(`gradename`) VALUES ('大二'),('大一');


INSERT INTO `student`(`name`) VALUES ('张三');

INSERT INTO `student`(`name`,`pwd`,`sex`) VALUES ('张三','aaaaa','男');
INSERT INTO `student`(`name`,`pwd`,`sex`) 
VALUES ('李四','aaaaa','男'),('王五','23232','女')

语法:-- insert into 表名([字段一], [字段二])values(‘值1’),(‘值2’)

注意事项:

  1. 字段和字段之间用逗号分开
  2. 字段可以省略,但是后面的值必须一一对应
  3. 可以同时插入多条数据,VALUES后面的值需要使用,隔开即可
INSERT INTO `student`(`name`,`pwd`,`sex`) 
VALUES ('李四','aaaaa','男'),('王五','23232','女')

2.修改 update

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

-- 修改学员名字
UPDATE `student` SET `name`='囷' , `email`='375826185@qq.com' WHERE id =1;
-- 不指定条件的情况下,会改动所有表
UPDATE `student` SET `name`='233'

-- 语法;
-- UPDATE 表名 set column_name,[] = value where 条件
-- 用逗号隔开

条件:

  • where 子句 运算符 id 等于 某个值,大于某个值,在某个区间内修改
  • 操作符返回布尔值
操作符含义范围范围
=等于5=6false
<>或!=不等于5!=6true
>大于5>6false
<小于5<6true
>=大于等于
<=小于等于
BETWEEN… AND …在某个范围内,闭合区间id BETWEEN 2 AND 3
and&&5>1and1>2false
or||5>1or1>2true

注意:

  • column_name 是数据库的列,带上``
  • 条件,是筛选的条件,如果没有指定,则会修改所有的列
  • value 是一个具体的值,也可以是一个变量
  • 多个设置的属性之间,使用英文逗号隔开
UPDATE `student` SET `birthday`=CURRENT_TIME where `name`='李四' AND SEX = '男'

3. 删除 delete

语法 delete from 表名 [where 条件]

-- 删除数据 (避免这样写)
DELETE FROM `student`


-- 删除指定
DELETE FROM `student` where id= 1

TRUNCATE 命令
作用:完全清空一个数据库,表的结构和索引不会变

delete 和 TRUNCATE 区别

  • 相同点: 都能删除数据,都不会删除表结构
  • 不同:
    • TRUNCATE 重新设置自增列 计数器会归零
    • TRUNCATE 不会影响事务
-- 测试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` -- 自增会归零

了解即可:delete删除的问题 重启数据库,现象

  • innoDB 自增列会从1开始(存在内存当中,断电即失)
  • MyISAM 继续从上一个自增量开始(存在文件中,不会丢失)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值