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

DML语言:数据操作语言

  • Insert
  • Update
  • Delete

7.1 插入

Insert

1
2
3
4
5
6
7
8
9
10
11
12
13
-- 插入语句
-- insert into 表名 ([字段1,字段2,...]) values('值1'),('值2'),('...')
INSERT INTO `student` (`name`) VALUES('好耶')

-- 由于主键自增 可以省略主键
-- 如果不写表的字段 就会一一匹配
-- 一般写插入语句 数据和字段要一一对应

-- 插入多个字段
INSERT INTO `student` (`name`) VALUES('二十四'),('二十五'),('二十六')

INSERT INTO `student` (`name`,`pwd`,`sex`)
VALUES('超高校级的二十四','24233','男'),('超高校级的二十五','23244','女')

语法:insert into 表名 ([字段1,字段2,...]) values('值1'),('值2'),('...')

注意事项:

  • 字段和字段之间使用英文逗号隔开
  • 字段是可以省略的,但是后面的值必须要一一对应
  • 可以同时插入多条数据,VALUES后的值需要使用逗号隔开

7.2 修改

Update

1
2
3
4
5
6
7
8
9
10
-- 修改
-- update 表名 set 字段名=要修改成为的内容 where [筛选条件]
-- 一般情况下都要加限制条件
UPDATE `cbddl` SET `name`='二十四桥明月夜' WHERE `name`='二十四枫桥别雨';

--修改多个属性 使用逗号隔开
UPDATE `cbddl` SET `name`='二十四桥明月夜',`level`='24' WHERE `name`='二十四枫桥别雨';

-- 通过多个条件定位数据
WHERE 条件1 AND 条件2 ...

条件:where子句->运算符 字段>=<或者在某个区间

image-20210415174157094

  • 操作符会返回布尔值
操作符 意义 表达式例子
= 等于 5=6
<> != 不等于 5!=6
> 大于 5>4
< 小于 5<4
>= 大于等于 5>=4
<= 小于等于 5<=4
BETWEEN AND 闭区间 [2,5]
AND 5>1 AND 2>1
OR 5>1 OR 2<1

语法:update 表名 set 字段名=要修改成为的内容 where 筛选条件

注意事项:

  • colnum_name 是数据库的列,尽量用``包括
  • 筛选条件如果不写就会对所有的列进行操作
  • 可以把值改为变量(如CURRENT_TIME),不一定是具体的值
  • 多个设置的属性之间使用英文逗号隔开

7.3 删除

Delete

语法:delete from 表名 [where 筛选条件]

1
2
-- 删除数据
DELETE FROM `cbddl` WHERE `name`='二十四桥明月夜'

TRUNCATE

  • 完全清空一个数据库表,表的结构和索引约束不会变
1
2
-- 清空表
TRUNCATE TABLE `student`

Delete 和 Truncate区别

  • 相同点:都能删除数据,都不会删除表结构
  • 不同:
    • TRUNCATE 重新设置 自增列 计数器归零 Delete不会重置自增量
    • TRUNCATE 不会影响事务

Delete删除之后重启数据库:

  • InnoDB 自增列会从1开始(存在内存中,断电就丢失)貌似是计数器的问题,mysql8.0已修复
  • MYISAM 继续从上一个自增量开始(存在文件中,不会断电丢失)