# 添加、更新与删除数据
# 添加数据
- 基本 insert 命令格式:
INSERT|replace INTO 表名(字段名1,字段名2,……) VALUES(值1,值2,……), (值1,值2,……);
PS:使用 insert 语句不能插入重复的 id 号,replace 等价于 replace or insert 意义,无则插入,有则替代
不按属性顺序插入数据 或 数据缺项 时需要写明所插入的属性
按顺序插入且数据不缺项时,可以省略数据表字段INSERT|replace INTO 表名 VALUES(值1,值2,……);
insert | replace 语句还有一种语法格式,可以为表中指定的字段或者全部字段添加数据INSERT|replace INTO 表名 SET 字段名1=值1[,字段名2=值2,……]
其实就是将数据项和数据写成赋值关系
- 多条数据同时插入
INSERT|replace INTO 表名[(字段名1,字段名2,……) ] VALUES(值1,值2,……),(值1,值2,……),… … ,(值1,值2,……);
其实就是在 values 后面接多组值,
例如:insert into student(id, name) values(1,'a'), (2,'b'),(3,'c');
- Mysql 还支持图片的存储,图片一般可以以路径的形式来存储,即插入图片采用直接插入图片的存储路径。
PS:存放图片的字段要使用 blob 类型。Blob 是专门存储二进制文本的类型,有大小之分。而且不会检查 图片是否存在
例如:TINYBLOB、BLOB、MEDIUMBLOB 和 LONGBLOB 等,一般的图形文件使用 mediumblob 就足够了
# 更新数据
UPDATE 表名 | |
SET 字段名1 = 值1[,字段名2 = 值2,……] | |
[WHERE 条件表达式] |
更新表中的某一条或者某几条记录,需要使用 WHERE 子句来指定更新记录的条件。
如果没有使用 WHERE 子句,则会将表中所有记录的指定字段都进行更新
# 单独更新
# 批量更新
# 全表更新
# 删除数据
DELETE FROM 表名 [WHERE 条件表达式] |
根据指定条件删除表中的某一条或者某几条记录,需要使用 WHERE 子句来指定删除记录的条件。
PS: 在 DELETE 语句中如果没有使用 WHERE 子句,则会将表中的所有记录都删除。(传说中的,删库跑路,这个比较温柔,至少表还在)
这里由于没有 11 所以 等价于没执行
删除 id > 5 的学生 (批量删除)
在 MySQL 数据库中,还有一种方式可以用来删除表中所有的记录,这种方式需要用到一个关键字 TRUNCATE
TRUNCATE [TABLE] 表名 |
TRUNCATE 的语法格式很简单,只需要通过 “表名” 指定要执行删除操作的表即可。
PS:truncate 只支持 删除全表数据,且自增长字段归零,delete 删除全表自增长数据不归 0
学习不易,诸君共勉!