初识SQL
DCL (Data Control Language) 访问控制
DDL (Data Definition language) 数据库定义语言
DML(Data Manipulation langauge) 数据操作语句
实战建表
什么是主键?
数据库主键,指的是一个列或多列的组合,其值能唯一地标识表中的每一行,通过它可强制表的实体完整性。主键主要是用于其他表的外键关联,以及本记录的修改与删除。
什么是外键?
如果公共关键字在一个关系中是主关键字,那么这个公共关键字被称为另一个关系的外键。由此可见,外键表示了两个关系之间的相关联系。以另一个关系的外键作主关键字的表被称为主表,具有此外键的表被称为主表的从表。外键又称作外关键字。
主键的作用:
主键是能确定一条记录的唯一标识,主键字段必须唯一,必须非空,一个表中只能有一个主键,主键可以包含一个或多个字段。
打个比方,一条记录包括身份正号,姓名,年龄,学校,国籍,性别等。身份证号是唯一能确定你这个人的,其他都可能有重复,所以,身份证号是主键。
外键的作用:
外键表示了两个关系之间的相关联系。以另一个关系的外键作主关键字的表被称为主表,具有此外键的表被称为主表的从表。外键又称作外关键字。外键用于与另一张表的关联。是能确定另一张表记录的字段,保持数据的一致性、完整性。
唯一索引的作用:
1)简化了MySQL对这个索引的管理工作,这个索引也因此而变得更有效率;
2)MySQL会在有新记录插入数据表时,自动检查新记录的这个字段的值是否已经在某个记录的这个字段里出现过了,如果是,MySQL将拒绝插入那条新记录。
总之:唯一索引可以保证数据记录的唯一性。事实上,在许多场合,人们创建唯一索引的目的往往不是为了提高访问速度,而只是为了避免数据出现重复。个人建议,数据关系应该不仅仅使用主键来标记记录的唯一性,而且也要使用逻辑主键来确定唯一性,也就是把逻辑主键建立唯一索引。
联合唯一索引:
只有联合的某几个列组合起来是不能重复的,而单独出现重复是没有问题的。
在数据库应用中,我们经常需要用到自动递增的唯一编号来标识记录。在MySQL中,可通过数据列的auto_increment属性来自动生成,一个表中只能有一个自增序列。
PRIMARY KEY() 来定义主键。
NONT NULL 定义为非空的列
DEFAUL 定义默认值
UNIQUE KEYstrKey
(strKey
) 定义表中的唯一索引,保证了某一列在表中是不能重复的。
DEFAULT CURRENT_TIMESTAMP 表示当插入数据的时候,该字段默认值为当前时间