Mysql 基础1
Mysql
int 整型
float 小数
double 小数
varchar(20) 字符串
bit 布尔型数据
datetime 日期时间类型
text 长文本
money 存货币
image 存二进制数据
数据表:
1.列名 类型 长度
2.主键 每个表都要有 主键列是不能重复的,是能够唯一标识一条数据的
3.控制列的类型(索引) 唯一索引 非空
4.外键 存在与两个表之间的关系
外键 添加时注意:
到这里已经可以解决问题了,因为问题都已经出现了
简而言之,如果这里要设置ref为外键,两个必要条件:
1.ref不能为该表的主键;
2.ref所参考的键必须为表的主键(第一个问题)
另外还有一个隐含条件:ref的值需要在所参考的表的那一个主键中已经存在的(第二个问题)
既然问题原因都已经找出,解决方案很简单了
针对第一种情况:添加主键约束即可
第二种情况:删除不符合的数据或者删除全部数据或者到被参考的表中添加相应有效的数据
第三种情况: 外栏位名 和栏位名的属性要相同
关系型数据库
数据库的设计:
三大范式:{同一张表中}
1.第一范式:保证列的原子性,相对于功能(拆到不能再拆为止; 大范围套小范围)(外键关系《主表和从表》)
山东省淄博市张店区
山东省 淄博市 张店区
2.第二范式:每一列都要和主键有关系
每一列和该表有关系
3.第三范式:每一列都要和主键有直接关系