MySQL数据库应用案例课堂
上QQ阅读APP看书,第一时间看更新

4.6 高手甜点

甜点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开始往上增加。添加具有唯一性的主键约束时,往往需要设置字段自动增加属性。