MySQL数据定义语言DDL

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;

MySQL数据定义语言DDL_第1张图片

2.创建库
create database emp;

image-20240123211431191

3.删除库
drop database users;

image-20240123211955194

4.切换库
use emp;

image-20240123211507715

5.创建表
create table emp(id int,name varchar(32),age int);

image-20240123211809372

  • 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;

image-20240123212137664

7.查看表
show tables;

MySQL数据定义语言DDL_第2张图片

8.查看表属性
desc emp;

MySQL数据定义语言DDL_第3张图片

9.插入列
alter table emp add(sex varchar(2));

MySQL数据定义语言DDL_第4张图片

MySQL数据定义语言DDL_第5张图片

10.修改列

必须是当前表中存在的属性

alter table emp modify column name varchar(24);

MySQL数据定义语言DDL_第6张图片

11.设置主键

修改

alter table emp modify column id int primary key;

新建

create table emp1(id int primary key);

MySQL数据定义语言DDL_第7张图片

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主键中不存在的数据时便会报错

MySQL数据定义语言DDL_第8张图片

  • 当表1企图删除表2所在的行时也会报错(修改同理)

MySQL数据定义语言DDL_第9张图片

13.设置自增
alter table emp modify column id int auto_increment;

MySQL数据定义语言DDL_第10张图片

14.删除列
alter table emp drop column sex;

MySQL数据定义语言DDL_第11张图片

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 '员工姓名');

你可能感兴趣的:(MySQL,mysql,oracle,数据库)