3.1、外键(了解即可)
2021年12月24日
14:57
-- 创建表的时候没有外键关系
Alter table `student`
Add constraint `FK_gradeid` FORIGN KEY('gradeid') references (`gradeud`);
-- alter table 表 add constraint 约束名 foreign key(作为外键的列) references 那个表(哪个字段)
以上的操作都是物理外键,数据库级别的外键,我们不建议使用!(避免数据库过多造成困扰)
最佳实践
- 数据库就是单纯的表,只用来存数据,只用行(数据)和列(字段)
- 我们想使用多张表的数据,想使用外键(程序去实现)
3.2、DML语言(全部记住)
2021年12月24日
18:06
数据库意义:数据储存,数据管理
DML语言:数据操作语言
- Insert
- Delete
- update
3.3、添加
2021年12月24日
18:07
语法:insert into 表名([字段名1,字段2,字段3,….]) values('值1'),('值2'),('值3',….)
注意事项:
- 字段和字段之间使用 英文逗号 隔开
- 字段是可以省略的,但是后面的值必须要要一一对应,不能少
- 可以同时插入多条数据,values后面的值,需要使用,隔开即可values(),()
3.4、修改
2021年12月24日
18:08
条件: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 `student` set `name` = '长江7号' where name = '神' and sex = '男'
语法:update 表名 set colnum_name = value,… where[条件]
注意:
- Colnum_name 是数据库的列,尽量带上``
- 条件,筛选的条件,如果没有指定,则会修改所有的列
- value,是一个具体的值,也可以是一个变量
- 多个设置的属性之间,使用英文逗号隔开
3.5、删除
2021年12月24日
18:08
Delete 命令
语法:delete from 表名 [where 条件]
truncate 命令
作用:完全清空一个数据表,表的结构和索引约束不会变!
-- 清空 student 表
truncate `student`
delete 和 truncate 区别
- 相同点:都能删除数据,都不会删除表结构
- 不同:
- Truncate 重新设置 自增列 计数器会归零
- Delete 不会影响事务
了解即可:delete删除的问题,重启数据库,现象
- InnoDB 自增列会从1开始(存在内存当中的,断电即失)
- MylSAM 继续从上一个自增开始(存在文件中的,不会丢失)