MySQL学习笔记20151007数据类型主键外键多对多设计思想
来源:互联网 发布:js object 遍历 值 编辑:程序博客网 时间:2024/04/25 12:19
1.varchar特点,当数据超过225个字符时需要用两个字节表示长度,整条记录需要一个额外字节用于保存当前null值,所以create table s_5(a varchar(65533) not null) character set latin1;创建成功,一个记录不论有多少个字段存在都使用同一个字节表达是否为null.
2.一条记录的总长度是65535,所有字段的总长度不应超过65535,同时每条记录需要一个字节保存是否有null值,当且仅当该记录所有字段都not null时,该字节才可以被省略.
3.text类型能表达2^16字节(真实长度为2^16+2字节)
4.枚举类型,(单选)例如enum('female','male')当插入数据时只能插入枚举里面的数据类型.枚举里面存储的实际上是整型,比如上例中插入的是female时实际上插入的是1.
5.最多允许65535个枚举项.
6.set类型(集合类型,不定项选择)例如 set('basket','pingpong','football')可以insert into table_name values('basket,football');存储原理是保存状态,位运算,最多表达64个元素.
7.可以用default声明默认值.常见应用情景,一个字段不能为空,且存在默认值.
8.主键是唯一标识记录的字段或者字段的集合.
9.主键可以是真实实体属性,常利用一个与实体信息不相关属性作为唯一标识.主键不能为null.
10.自动增长可以使用auto_increment标识.
11. 自动增长初始值可以通过表的选项设置alter table table_name auto_increment 10;(即设置初始值为10)如果赋的值小于已经存在最大自动生成的值是可以手动插入的.
12.也可以手动更新,但是不能冲突.手动更新后插入值还是从之前值开始增加,当增加到手动更新值时报错,下一次正常增加,当设置自动增加初始值后则从设置值开始增加.即便设置值小于当前最大值也可以成功,但是增加依旧会按照最大值增加.
13.实体与实体之间的关系
一对一关系:两个实体表存在相同主键字段,一个表主键值等于另一个表里面的主键值,则两条记录一一对应.实体与实体之间的关系此种设计方式又称之为垂直分割.
一对多关系:例如班级与学生.
多对多关系(M:N):例如一个老师为多个班级教学,并且一个班级被多个老师教学.侧重点在于班级可能对应多个老师,老师也可能对应多个班级.
(多对多设计侧重点为利用一个中间表表示实体间的关系.一个多对多关系映射为两个一对多关系.)
14.外键是一种逻辑关系.
- MySQL学习笔记20151007数据类型主键外键多对多设计思想
- MySQL学习笔记2数据类型主键自动增长
- mysql数据类型学习笔记
- mysql数据类型学习笔记
- MySQL学习笔记-数据类型
- mysql学习笔记-----数据类型
- MYSQL学习笔记-数据类型
- Mysql学习笔记 --- mysql数据类型
- 【学习笔记】对OOP思想及基本设计原则的理解
- MySQL学习笔记12:数据类型
- MySQL 数据类型(学习笔记)
- MySql数据库学习笔记-数据类型
- MySQL学习笔记12:数据类型
- MYSQL学习笔记之----数据类型
- MySQL学习笔记五:数据类型
- MySQL的数据类型学习笔记
- Gstreamer学习笔记----Gstreamer架构设计思想
- Kafka/Metaq设计思想学习笔记
- hdu4289Control 最大流
- zoj 1610 Count the Colors(线段树 区间更新)
- 项目5——后缀表达式
- github上的安卓开源库汇总
- Android 学习笔记五:支持不同的设备
- MySQL学习笔记20151007数据类型主键外键多对多设计思想
- hdu4768Flyer 二分
- java bind object-c by using bro-gen
- thinkphp-点击量的实现,执行sql用execute()
- request.getRequestURL()和request.getRequestURI()
- rcvd lcp termreq id=0x2 mppe required but not available
- 欢迎使用CSDN-markdown编辑器
- unity之Ray、RaycastHit 、Raycast
- 文章标题