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() | 集合(多选一) |
主要分为
登录MySQL
mysql -uroot -p
Enter password: ****
show databases;
create database emp;
drop database users;
use emp;
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'));
注意要先use
选择数据库
drop table emp;
show tables;
desc emp;
alter table emp add(sex varchar(2));
必须是当前表中存在的属性
alter table emp modify column name varchar(24);
修改
alter table emp modify column id int primary key;
新建
create table emp1(id int primary key);
表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));
alter table emp modify column id int auto_increment;
alter table emp drop column sex;
RENAME
rename table emp to stu;
DEFAULT
create table emp3(id int,name varchar(32),age varchar(3) default "男");
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 '员工名';
默认情况都是可以为空
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 '员工姓名');