1、DML 语言(全部记住)
数据库的意义:数据存储,数据管理
DML 语言:数据库操作语言
- insert
- update
- delete
2、添加(insert)
insert into 表名 ([字段名 1,字段 名 2,字段名 3 ……]) values(‘值 1,值 2’)
注意:
- 字段和字段之间使用英文逗号隔开
- 字段是可以省略的,但是后面的值必须要一一对应,不能少
- 可以同时插入多条数据,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 != 6 | true |
> | 大于 | 6 > 5 | true |
< | 小于 | 5 < 6 | true |
between …and… | 在某个范围 | [5, 6] 闭合区间 | |
and | 我和你(&&) | 5 > 1 and 1 > 2 | false |
or | 我或你(||) | 5 > 1 or 1 > 2 | true |
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:继续从上一个自增量开始(因为是存在文件中的,不会丢失)