带你了解MySQL数据库小技巧( 二 )
6、每个表中都要有一个主键吗?并不是每一个表中都需要主键 , 一般的 , 如果多个表之间进行连接操作时 , 需要用到主键 。因此并不需要为每个表建立主键 , 而且有些情况最好不使用主键 。
7、每个表都可以任意选择存储引擎吗?外键约束(FOREIGN KEY)不能跨引擎使用 。 MySQL支持多种存储引擎 , 每一个表都可 以指定一个不同的存储引擎 , 但是要注意:外键约束是用来保证数据的参照完整性 , 如果表之间需要关联外键 , 却指定了不同的存储引擎 , 这些表之间是不能创建外键约束的 。 所以说 , 存储引擎的选择也不完全是随意的 。
8、带AUTO_INCREMENT约束的字段值是从1开始的吗?默认的 , 在MySQL中 , AUTO_INCREMENT的初始值是1 , 每新增一条记录 , 字段值自动加1 。 设置自增属性(AUTO_INCREMENT)的时候 , 还可以指定第一条插入记录的自增字段的 值 , 这样新插入的记录的自增字段值从初始值开始递增 , 如在tb_emp8中插入第一条记录 , 同时指定id值为5,则以后插入的记录的id值就会从6开始往上增加 。 添加唯一性的主键约束时 , 往往需要设置字段自动增加属性 。
9、TIMESTAMP与DATATIME两者的区别TIMESTAMP与DATETIME除了存储字节和支持的范围不同外 , 还有一个最大的区别就是: DATETIME在存储日期数据时 , 按实际输入的格式存储 , 即输入什么就存储什么 , 与时区无关;而TIMESTAMP值的存储是以UTC(世界标准时间)格式保存的 , 存储时对当前时区进行转换 , 检索时再转换回当前时区 。 即查询时 , 根据当前时区的不同 , 显示的时间值是不同的 。
10、选择数据类型的方法和技巧是什么?MySQL提供了大量的数据类型 , 为了优化存储 , 提高数据库性能 , 在任何情况下均应使用 最精确的类型 。 即在所有可以表示该列值的类型中 , 该类型使用的存储最少 。
- 整数和浮点数
- 浮点数和定点数
- 日期与时间类型
CHAR与VARCHAR之间的特点与选择
- 买买买!佳能定制玻璃杯了解一下
- 一线大牛带你深入解析AutoConfiguration源码
- 198元的旗舰手机膜了解一下?防窥、耐磨、防指纹,虽贵确实好
- 2K价位入手同轴音箱,老牌厂家KEF了解一下?
- 腾讯面试:MySQL事务与MVCC如何实现的隔离级别?
- 「杂谈」GAN最成功的3个商业化落地领域,你是否了解过?
- Linux中MySQL配置文件my.cnf参数优化
- 你真的了解边缘计算吗?——掌握边缘计算必需具备的4项技能
- Verizon用户可通过UW信号标记了解iPhone 12是否已用上5G毫米波
- RS485和CAN总线比较有什么特点?总结了6点,可帮你了解