Mysql学习笔记-表结构

参考书籍:Mysql核心技术与最佳实践 /孔祥盛编著. -北京:人民邮电出版社,2014.5 ISBN 978-7-115-33769-6

一、数据类型

1、整数

2、小数

  • 考虑到数据库移植,尽量用decimal数据类型

3、字符串

  • char(n) 为定长字符串类型,表示占用n个字符(注意不是字节)的存储空间。
  • varchar(n)、tinytext、text、mediumtext、longtext等为变长字符串类型,字符串占用空间为真实空间,与n无关。

4、日期

  • datatime取值范围大于timestamp
  • 将null插入timestamp字段后,该字段值实际上是mysql服务器当前的日期和时间
  • 当包含timestamp数据记录进行修改时,timestamp数据将自动更新为mysql服务器当前的日期和时间。

5、复合类型

  • enum枚举类型,只允许从集合中取一个值,最多包涵65535个元素,enum(‘男’,’女’)
  • set集合类型,允许从集合中取多个值,最多包涵64个元素,set(‘音乐’,’电影’,’动漫’)

6、二进制类型

  • binary、varbinary、bit、tinyblob、blob、mediumblob、longblob等

7、选择数据类型

  • 符合应用要求下,尽量“短”
  • 数据类型越简单越好,尽量用整数代替字符串(mysql有IP地址与整数转换的函数)
  • 尽量使用精确小数(decimal(4.2)),不采用浮点
  • 尽量使用内置的时间或日期类型,不采用字符串
  • 避免null字段,建议指定为no null 约束。或使用特殊字符代替NULL

二、创建表

语法形式:

注意:[]表示是可选的

1、设置约束

1.1主键约束(primary key)

主键是单个字段,例如:

主键是多个字段组合,例如:

1.2 非空约束

1.3检查约束

1.4默认值约束

1.5设置唯一性约束

1.6设置外键约束

2、设置自增字段

3、其它

3.1存储引擎

3.2字符集

3.3压缩索引中关键字

4、复制表结构

三、修改表结构

1、修改字段

1.1删除字段

 

1.2添加字段

 

1.3修改字段名

2、修改约束

2.1添加约束

 

2.1删除约束

 

3、修改表其它选项

 

4、修改表名

5、删除表

 

赞 (0)
分享到:更多 ()

留言板 0

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址