MySQL操作(第二章)-数据库与数据表管理
数据库的基本操作:
创建数据库:
create database [IF NOT EXISTS] 数据库名;
例如要创建数据库test:
create database test; 若之前存在报错,可以加[IF NOT EXISTS]判断之前是否存在
删除数据库:
drop database 数据库名;
数据表的设计:
表是数据库中最基本的逻辑单元,由行和列组成,用户保存在数据库中的基本数据库都有表的形式存储。
E-R(Entity-Relationship)模型即实体-关系模型,由实体、属性和关系三个基本要素构成。
数据库设计范式和规范:
第一范式:数据库表的每一列都是不可分割的原子数据项,而不能是集合,数组,记录等非原子数据项。如果实体中的某个属性有多个值时,必须拆分为不同的属性。
通俗讲:一个字段只存储一项信息 ,比如有一个字段是班级:高三年1班,应改为2个字段,一个年级、一个班级,才满足第一范式
第二范式:属性完全依赖于主键
满足第一范式前提,当存在多个主键的时候,才会发生不满足第二范式的情况。
通俗:任意一个字段都只依赖表中的同一个字段。
第三范式:属性不能传递依赖于主属性
满足第二范式前提,如果某一属性依赖于其他非主键属性,而其他非主键属性又依赖于主键,那么这个属性就是间接依赖于主键,这被称作传递依赖于主属性。
通俗理解:一张表最多只存2层同类型信息
满足第三范式即可
主键:要求每一行记录都必须是唯一的,即在同一张表中不允许出现完全相同的两条记录。最简便的方法是设置主键。
主键两个特征:表的主键可以由一个字段构成,也可以由多个字段构成(复合主键)
主键的值具有唯一性且不能取空值(NULL)
外键:实体间的关系可以通过外键来表示。如果表A中的一个字段a对应于表B的主键b,则称字段a为表A的外键。此时存储在表A中字段a的值,同时这个字段值也是表B主键b的值。
约束:constraint,是定义在表上的一种强制规则
约束类型:
1.NOT NULL:非空约束,被约束的字段不能包含null空值;
2.UNIQUE:唯一性约束,被约束的字段中每个数据必须唯一;
3.PRIMARY KEY:主键约束,被约束的字段成为表的主键,每个数据唯一;
4.FOREIGN KEY:外键约束,被约束的字段依赖于其他表中的某一字段;
5.CHECK:检查性约束,被约束字段的数据必须在给定的值中。
表的操作:
创建表:
create table 表名(字段名1 数据类型 [约束条件],字段名2 数据类型 [约束条件] ... [其他约束条件])其他选项(例如存储引擎、字符集等选项);
复制表:
方法一:create table 新表名 like 源表;
方法二:create table 新表名 select * from 源表;
删除表:
drop table 表名;
修改表:
alter table 表名 add 列名 数据类型和长度 列属性 添加新的字段
alter table 表名 modify 列名 新数据类型和长度 新列属性 修改原字段
alter table 表名 drop column 列名 删除一个字段
修改约束条件:
alter table 表名 add constraint 约束名 约束类型(字段名)
删除约束条件:
alter table 表名 drop primary key
删除外键时,须指定外键约束名称:
alter table 表名 drop foreign key 约束名
修改表名:rename table 旧表名 to 新表名

浙公网安备 33010602011771号