MySQL数据定义语言DDL
目录
- MySQL数据定义语言DDL
- DDL关键字
- 数据定义语言DDL
- 1.查看数据库
- 2.创建库
- 3.删除库
- 4.切换库
- 5.创建表
- 6.删除表
- 7.查看表
- 8.查看表属性
- 9.插入列
- 10.修改列
- 11.设置主键
- 12.设置外键并绑定主键
- 13.设置自增
- 14.删除列
- 15.重命名
- 16.设定默认值
- 17.添加备注
- 18.设置是否可为空
DDL关键字
DDL关键字 | 含义 |
---|---|
CREATE TABLE | 创建一个新的数据库表 |
ALTER TABLE | 修改现有数据库表的结构或属性 |
DROP TABLE | 删除数据库中的表 |
MODIFY COLUMN | 修改列 |
ADD COLUMN | 新增列 |
CREATE INDEX | 创建索引 |
DROP INDEX | 删除索引 |
CREATE VIEW | 创建视图 |
DROP VIEW | 删除视图 |
CREATE FUNCTION | 创建函数 |
ALTER FUNCTION | 修改已存在的函数 |
DROP FUNCTION | 删除函数 |
ENUM() | 枚举(多选多) |
SET() | 集合(多选一) |
数据定义语言DDL
主要分为
- CREAT:创建
- DROP:删除
- ALTER:修改
登录MySQL
mysql -uroot -p
Enter password: ****
1.查看数据库
show databases;
2.创建库
create database emp;
3.删除库
drop database users;
4.切换库
use emp;
5.创建表
create table emp(id int,name varchar(32),age int);
enum
插入数据时只能是enum中包含的数据set
插入数据时必须是set数据中的一个
create table emp(id int,name varchar(32),hobby enum('read','run','listen'), gender set('male','female'));
6.删除表
注意要先use
选择数据库
drop table emp;
7.查看表
show tables;
8.查看表属性
desc emp;
9.插入列
alter table emp add(sex varchar(2));
10.修改列
必须是当前表中存在的属性
alter table emp modify column name varchar(24);
11.设置主键
修改
alter table emp modify column id int primary key;
新建
create table emp1(id int primary key);
12.设置外键并绑定主键
表1
create table dep (id int primary key auto_increment,
name varchar(32) comment'部门名');
表2
create table emp (id int primary key auto_increment,
name varchar(32) comment'员工名',
dep_id int,
foreign key(dep_id) references dep(id));
- 当外键表2试图添加表1主键中不存在的数据时便会报错
- 当表1企图删除表2所在的行时也会报错(修改同理)
13.设置自增
alter table emp modify column id int auto_increment;
14.删除列
alter table emp drop column sex;
15.重命名
RENAME
rename table emp to stu;
16.设定默认值
DEFAULT
create table emp3(id int,name varchar(32),age varchar(3) default "男");
17.添加备注
COMMENT
为表添加备注:
create table emp4(id int,name varchar(32)) COMMENT '员工表';
为字段添加备注:
create table emp4(id int COMMENT '员工编号',name varchar(32) COMMENT '员工姓名');
ALTER table emp4 modify column name varchar(32) COMMENT '员工名';
18.设置是否可为空
默认情况都是可以为空
NULL:可以为空
create table emp4(id int COMMENT '员工编号',name varchar(32) NULL COMMENT '员工姓名');
NOT NULL:不可为空
create table emp4(id int COMMENT '员工编号',name varchar(32) NOT NULL COMMENT '员工姓名');
.设置是否可为空
默认情况都是可以为空
NULL:可以为空
create table emp4(id int COMMENT '员工编号',name varchar(32) NULL COMMENT '员工姓名');
NOT NULL:不可为空
create table emp4(id int COMMENT '员工编号',name varchar(32) NOT NULL COMMENT '员工姓名');