1.数据表的设计理念:
数据表是包含数据库中所有的数据库对象。数据在表中的组织方式和电子表的格式相似,都是按行和列组织的。其中每一行代表一条唯一的记录,每一列代表记录中一个字段。表中的数据库对象包含列,索引,触发器。
1.标准化和规范化
遵循那三条范式
2.数据 驱动
3,考虑各种变化
4.表和表之间的关
一对一,一对多,多对多
2.创建表
1.首先建立一个数据库
2.选择一个数据库
3.创建表
这样我们就完成了在数据库school中创建t_class表,这个表包含四个字段,classno是整型,cname是字符串型,loc是字符串型,stucount是整型。
3.查看表的结构
查看表的结构值查看数据库中已存在的表的定义。
1.DESCRIBE语句查看表的定义:
可以简写为:
desc t_class;
效果是一样的。
我们可以查出表t_class中包含classno,cname,loc,stucount字段(field),Type是数据类型,Null是否为空,Key是否是主键,默认值(Default)和额外信息(Extra)。
2.使用 show create table 来查看表详细定义。
show create table
可以看到我们查出来的信息是比之前要多的,还可以看到存储引擎和编码的格式。
4.删除表
删除表指的是删除数据库中已经存在的表。删除表,那么数据库中表的所有的数据都会没有了。
创建表的时候可能存在外键的约束,一些表成为一直关联的表的浮标。要删除这些父表,情况比较复杂,这里是没有关联的莲表的删除。
5.修改表
修改表指的时修改数据库中已经存在的表。通过:
alter table
修改表包括修改表的表名,修改字段的数据类型,修改字段的名字,增加字段,删除字段等。
修改表名:
增加字段:(最后面增加)
在创建表时表中的字段就已经定义完成了,如果要增加新的字段,可以通过alter table语句进行增加,字段就是表中的列,是有字段的名字和类型组成的。
增加字段(最前面增加):
增加字段(在任意位置)
删除字段:
修改字段:修改字段的顺序:
alter table tablename modify pName1 propType first|after pName2;
pName1 :所要调整顺序的字段名称
pName2:所要调整顺序的字段名称
propType:参数的类型
修改字段:修改字段的名字:
alter table tablename change oldname newname propTypeOld;
修改字段:同时修改名字和类型
6.操作表的约束
完整性约束条件
PRIMARY KKEY
标识该属性为该表的的主键,可以唯一的标识对元组
FOREIGN KEY
标识该属性为该表的外键,是与之联系的某表的主键
NOT NULL
标识该属性是不能空的
UNIQUE
标识该属性的值是唯一的
AUTO_INCREMENT
标识该属性的值自动增加
DEFAULT
为该属性设置默认值
根据约束的数据列限制,约束可以分为:单列约束,多列约束。
1.设置表字段的非空约束,默认值,字段唯一约束
设置表的主键约束
主键是表的一个特殊的字段,该字段可以唯一的标识该表中对对每条信息,主见和记录的关系,就像人跟身份证一样,主键用来标识每个记录,每个记录的主键都是不一样的。
单字段主键
多字段主键,是在属性定义完成后统一设置
CONSTRAINT 是给主键起一个名字。
设置表的外键:
外键是表的特殊字段,外键约束是保障多个表之间的参照完整性。
设置外键约束的两个表之间有父子关系,即子表中某个字段的取值范围有父表决定。
在具体设置外键的时候,设置外键约束的字段必须依赖于数据库中已经存在的父表的主键,外键可以为空。