Mysql数据库学习之数据定义语言

数据定义语言DDL

上文中我们学习了如何创建数据库,本文将简述创建表和修改表及常见约束的设置。

创建表

语法:
create table 表名(<列名1><列的数据类型>,<列名2><列2的数据类型><列名n><列n的数据类型>)
如:在公司数据库中,创建员工信息表,id,姓名,性别,年龄,家庭住址,代码如下:

use company;
create table t_employer (id int primary key,emp_name varchar(20),gender int,age int,address varchar(50));

运行结果如下:
在这里插入图片描述

我们可以看到在company数据库中有一个表t_employer;
我们可以通过 desc 表名查看表的信息
在这里插入图片描述

修改表:

在表创建完成后,有时候需要新增一行。我们在MYSQL中使用Alter来修改表的结构。
插入列:
语法:
Alter table 表名 add 列名 列的数据类型;
例如在员工表中添加一个电话号码列:

alter table t_employer add tel varchar(11);

在这里插入图片描述

更改列:
语法:
Alter table 表名 change 原列名 新列名 数据类型;
例如:我们想要性别是’男’,'女’显示的

alter table t_employer change gender gender char(2);

删除列:
语法:
alter table 表名 drop 列名
如:我们并不需要age列,则:

alter table t_employer drop age;

更改表名:
语法:
alter table 表名 rename 新表名
如:我想把t_employer改为t_employee

alter table t_employer rename t_employee;

删除表:
语法:
drop table 表名
当我们不要某个表时,删除表
如:删除员工表

drop table t_employee;

约束

为了保证数据的完整性,MYSQL中采用约束来对列的数据进行规范,主要有主键约束、唯一约束、非空约束、默认约束、外键约束、引用约束。
主键约束:
主键是为了唯一标示一条数据,主键类的值唯一且不为空。建议使用id作为主键,主键不具有业务意义。
设置主键约束:
1、在创建表时,在要设置主键的列的数据类型后+primary key
如:

create table t_custorm (id int primary key,cus_name varchar(20),tel int);

2、在创建表时,在列的末尾写primary key(列名)

    create table t_custorm (id int ,cus_name varchar(20),tel int,primary key(id));

3.对于创建了表,但未设置主键的表,可用alter添加主键约束

alter table t_custorm add primary key(id);

唯一约束
唯一约束,表示表内这个列的值唯一,不可重复。
可在创建表时添加唯一约束,使用unique关键字

    create table t_custorm (id int ,cus_name varchar(20),tel int unique,primary key(id));

可在表创建完成之后添加:
alter table 表名 add unique(列名)


alter table t_custorm add unique(tel);

客户表的电话号码唯一

非空约束
非空约束,限制字段的值不能为空。

使用not null关键字,在创建表时:

  create table t_custorm (id int ,cus_name varchar(20) not null,tel int unique,primary key(id));

客户表的姓名不为空

表创建好之后添加:
alter table 表名 change 原列名 新列名 数据类型 not null;

alter table t_custorm  change cus_name name varchar(20) not null;

删除非空约束:
alter table 表名 change 原列名 新列名 数据类型 ;

alter table t_custorm  change cus_name name varchar(20) ;

默认约束
在某些时候,可以不设置值,但默认会添加,这时候使用default关键字即可
创建表时设置:

  create table t_custorm (id int ,cus_name varchar(20) not null,gender int default 0,tel int unique,primary key(id));

表已创建完成设置:

alter table 表名 change 原列名 新列名 数据类型 default 默认值 ;

删除默认约束与非空约束一致:

设置性别默认为0

外键约束

生活中我们需要一个表中的字段引用另一个表的主键,这个时候需建立外键约束。
外键约束建立的条件时两个表中的字段类型一致。
1、创建表示建立外键:
foreign key(列名) references 主表名称(主键列名)
2、创建完成的表添加外键
alter table 表名 add foreign key(列名) references 主表名称(主键列名);

删除外键约束:
alter table 表名 drop foreign key 列名;

猜你喜欢

转载自blog.csdn.net/qq_38527427/article/details/83042496
今日推荐