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 新表名

posted @ 2019-07-25 18:04  褚褚丶  阅读(137)  评论(0)    收藏  举报