创建数据表
表是数据库中最基本的逻辑单元,由行和列组成,下面介绍如何管理MySQL的表。
主键(Primary Key)
数据库表要求表中每一行记录都必须是唯一的,即在同一张表中不允许出现完成相同的两条记录。
数据库表中主键有以下两个特征:
-表的主键可以由一个字段构成,也可以有多个字段构成(这种情况称复合主键)
-数据库中主键的值具有唯一性且不能取空值(NULL),当数据库表中的主键有多个字段构成时,每个字段的值不能取NULL值。
约束:Constraint,是定义在在表上的一种强制规则。
当为某个表定义约束后,对该表做的所有SQL操作都必须满足约束的规则要求,否则操作将失败。
约束类型
MySQL的数据类型包括数值类型,日期和时间类型和字符串类型等。
数值类型
日期和时间类型
字符串类型
CREATE TABLE 语句结构如下:
create table 表名(
字段名1 数据类型 [约束条件],....
[其他约束条件],
【其他约束条件】
)其它选项(例如存储引擎,字符集等选项)
- PRIMARY KEY ,指定字段为主键。
- AUTO_INCREMNT,指定字段为自动增加字段。
- INDEX,为字段创建索引。
- NOT NOLL,字段值不允许为空。
- NULL,字段值可以为空。
- COMMENT,设置字段的注释信息。
-
DEFAULT,设置字段的默认值。
表DEPT的结构
表emp的结构
使用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 列名 数据类型和长度 列属性
2.修改可以使用ALTER TABLE 表名 MODIFY 列名 新数据类型和长度 新列属性
3.删除可以使用ALTER TABLE 表名 DROP COLUMN 列名
4.修改person表结构如下:
5.修改约束条件
-添加的约束
向表的某个字段添加约束条件语法如下(其中约束类型可以使唯一性约束,主键约束和外键约束)。
-删除约束条件
6.修改表名的语法较为简单,
rename table旧表名to新表名
该命令等效于:
alter table 旧表名 rename 新表名
alter table person rename human;