- MySQL 8从入门到精通(视频教学版)
- 王英英
- 654字
- 2021-04-02 00:02:49
4.8 专家解惑
疑问1:表删除操作须谨慎。
表删除操作将把表的定义和表中的数据一起删除,并且MySQL在执行删除操作时,不会有任何的确认信息提示,因此执行删除操时应当慎重。在删除表前,最好对表中的数据进行备份,这样当操作失误时可以对数据进行恢复,以免造成无法挽回的后果。
同样的,在使用ALTER TABLE进行表的基本修改操作时,在执行操作过程之前,也应该确保对数据进行完整的备份,因为数据库的改变是无法撤销的,如果添加了一个不需要的字段,可以将其删除;相同的,如果删除了一个需要的列,该列下面的所有数据都将会丢失。
疑问2:每一个表中都要有一个主键吗?
并不是每一个表中都需要主键,一般多个表之间进行连接操作时需要用到主键。因此并不需要为每个表建立主键,而且有些情况最好不使用主键。
疑问3:并不是每个表都可以任意选择存储引擎。
外键约束(FOREIGN KEY)不能跨引擎使用。MySQL支持多种存储引擎,每一个表都可以指定一个不同的存储引擎,需要注意的是:外键约束是用来保证数据的参照完整性的,如果表之间需要关联外键,却指定了不同的存储引擎,那么这些表之间是不能创建外键约束的。所以说,存储引擎的选择也不完全是随意的。
疑问4:带AUTO_INCREMENT约束的字段值是从1开始的吗?
在MySQL中,默认AUTO_INCREMENT的初始值是1,每新增一条记录,字段值自动加1。设置自增属性(AUTO_INCREMENT)的时候,还可以指定第一条插入记录的自增字段的值,这样新插入的记录的自增字段值从初始值开始递增,如在tb_emp8中插入第一条记录,同时指定id值为5,则以后插入的记录的id值就会从6开始往上增加。添加唯一性的主键约束时,往往需要设置字段自动增加属性。