数据表的设计与运用

创建数据表

表是数据库中最基本的逻辑单元,由行和列组成,下面介绍如何管理MySQL的表。

主键(Primary Key)

数据库表要求表中每一行记录都必须是唯一的,即在同一张表中不允许出现完成相同的两条记录。
数据库表中主键有以下两个特征:
-表的主键可以由一个字段构成,也可以有多个字段构成(这种情况称复合主键)
-数据库中主键的值具有唯一性且不能取空值(NULL),当数据库表中的主键有多个字段构成时,每个字段的值不能取NULL值。

约束:Constraint,是定义在在表上的一种强制规则。

当为某个表定义约束后,对该表做的所有SQL操作都必须满足约束的规则要求,否则操作将失败。

约束类型
数据表的设计与运用_第1张图片
图片.png

MySQL的数据类型包括数值类型,日期和时间类型和字符串类型等。


数据表的设计与运用_第2张图片
图片.png

数值类型


数据表的设计与运用_第3张图片
图片.png

日期和时间类型
数据表的设计与运用_第4张图片
图片.png

字符串类型
数据表的设计与运用_第5张图片
图片.png

CREATE TABLE 语句结构如下:
create table 表名(
字段名1 数据类型 [约束条件],....
[其他约束条件],
【其他约束条件】
)其它选项(例如存储引擎,字符集等选项)

  • PRIMARY KEY ,指定字段为主键。
  • AUTO_INCREMNT,指定字段为自动增加字段。
  • INDEX,为字段创建索引。
  • NOT NOLL,字段值不允许为空。
  • NULL,字段值可以为空。
  • COMMENT,设置字段的注释信息。
  • DEFAULT,设置字段的默认值。
    表DEPT的结构


    数据表的设计与运用_第6张图片
    图片.png

    表emp的结构


    数据表的设计与运用_第7张图片
    图片.png

    使用create table语句创建表dept ,emp的代码如下:
    create table dept(
    deptno int(2)aute_increment primary key,

    dname varchar(20),
    loc varchar(30)
    )
    create table emp
    (
    empno int(4)auto_increment primary key,
    ename varchar(10),
    job varchar(20),
    mgr int(4),
    hiredate date,
    sal double(7,2),
    comm double(7,2),
    deptno int(2)

复制表

1.在create table语句的末尾添加like子句,可以将源表的表结构复制到新表中,语法如下:
create table 新表名 like 源表
2.在create table语句的末尾添加select子句,可以将源表的表结构以及源表的所有记录拷贝到新表中,语法如下:
create table 新表名 select *from 源表

删除表

使用DROP TABLE 表名

修改表

1.添加可以使用ALTER TABLE 表名 ADD 列名 数据类型和长度 列属性


数据表的设计与运用_第8张图片
图片.png

2.修改可以使用ALTER TABLE 表名 MODIFY 列名 新数据类型和长度 新列属性


数据表的设计与运用_第9张图片
图片.png

3.删除可以使用ALTER TABLE 表名 DROP COLUMN 列名


数据表的设计与运用_第10张图片
图片.png

4.修改person表结构如下:


数据表的设计与运用_第11张图片
图片.png

5.修改约束条件
-添加的约束

向表的某个字段添加约束条件语法如下(其中约束类型可以使唯一性约束,主键约束和外键约束)。


图片.png

-删除约束条件
数据表的设计与运用_第12张图片
图片.png

数据表的设计与运用_第13张图片
图片.png

6.修改表名的语法较为简单,
rename table旧表名to新表名
该命令等效于:
alter table 旧表名 rename 新表名

alter table person rename human;

你可能感兴趣的:(数据表的设计与运用)