第59天学习打卡(MySQL 修改 删除)

3.4修改

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

 -- 修改学员名字,带了简介
 UPDATE `student1` SET `name`='狂神' WHERE id =5;
 
 -- 不指定条件的情况下,会改动所有的表!
 UPDATE `student1` SET `name` = '长江七号'
 
 -- 修改多个属性用逗号隔开
 UPDATE `student1` SET `name`='狂神',`email` ='2473674@qq.com' WHERE id =1;
 
 -- 语法
 -- UPDATE 表名 SET colnum_name = value,[colnum_name = value...] WHERE[条件]

如果语句中执行没有出错,但是没有结果显示。且信息栏中显示共 0 行受到影响,说明表结构里面没有这个值

 

条件:where 子句运算符 id 等于某个值,大于某个值,在某个区间内修改...

操作符含义范围结果
= 等于 如:5=6 false
<>或!= 不等于 5<>6 true
> 大于    
< 小于    
<= 小于等于    
>= 大于等于    
BETWEEN...AND... []闭区间 在某个范围内 [2,5]  
AND 我和你&& 5>1 and 1>2 false
OR 我或你|| 5>1 or 1>2 true
 -- 通过多个条件定位数据
 UPDATE `student1` SET `name`='长江七号'WHERE `name`='狂神44' AND sex = '女'
 

语法:-- UPDATE 表名 SET colnum_name = value,[colnum_name = value...] WHERE[条件]

注意:

colnum_name是数据库的列,尽量带上``

条件,筛选的条件,如果没有指定,则会修改所有的列

value,是一个具体的值,也可以是一个变量

多个设置的属性之间,使用英文逗号隔开。

 UPDATE `student1` SET `birthday`=CURRENT_TIME WHERE `name`='狂神44' AND sex = '女'

 

3.5 删除

delete命令

语法delete from 表名[where 条件]

 -- 删除数据(避免这样写,会全部删除)
 DELETE FROM `student1`
 
 -- 删除数据
 DELETE FROM `student1` WHERE id = 5;

TRUNCATE命令

 -- 清空student1 表
 TRUNCATE `student1`

delete TRUNCATE区别

相同点:都能删除数据,都不会删除表结构

不同点:

TRUNCATE 重新设置 自增列计数器会归零

TRUNCATE不会影响事务

 

 -- 测试delete 和TRUNCATE区别
 CREATE TABLE `test`(
 `id` INT(4) NOT NULL AUTO_INCREMENT,
 `color` VARCHAR(20) NOT NULL,
 PRIMARY KEY(`id`)
 
 
 
 )ENGINE=INNODB DEFAULT CHARSET=utf8
 
 INSERT INTO `test`(`color`)VALUE('1'),('2'),('3')
 
 DELETE FROM `test` -- 不会影响自增即它原本有三个数字 自增显示的是4 如果把这三个数字删除,自增也是显示4
 
 TRUNCATE TABLE `test` -- 自增会归零
 

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

INNODB 自增列会从1开始(存在内存中,断电即失)、

MYISAM 继续从上一个自增量开始(存在文件中,不会丢失)

posted @ 2021-03-08 22:35  豆豆tj  阅读(55)  评论(0)    收藏  举报