MySQL(DDL)讲解

目录

在我们将数据定义语言(DDL)之前首先我们需要先了解SQL语言的分类:

而今天我们就来讲讲数据定义语言(DDL):

创建表:

修改表名:

修改列名:

修改列类型:

添加新列:

删除指定列:

删除表:

约束:

        主键约束:

        外键约束:

        唯一约束:

        非空约束:


在我们将数据定义语言(DDL)之前首先我们需要先了解SQL语言的分类:

数据查询语言(DQL):

  1. SELECT
  2. WHERE
  3. FROM
  4. ORDER BY
  5. HAVING

数据定义语言(DDL):

  1. CREATE 创建数据库对象
  2. ALTER 修改数据库对象
  3. DROP 删除数据库对象

数据操作语言(DML):

  1. INSERT 添加数据
  2. UPDATE 更新数据
  3. DELETE 删除数据

数据控制语言(DCL):

  1. GRANT:授予用户某种权限

  2. REVOKE:回收授予的某种权限

事务控制语言(TCL):   

  1. Commit:提交事务

  2. RollBack:回滚事务

  3. SavePoint:设置回滚点

而今天我们就来讲讲数据定义语言(DDL):

表:

创建表:

语法:

        CREATE TABLE ---创建表关键字        

        表名(列名 类型,列名 类型......);

例子:创建一个表名为employees,列名分别为:emp_id int,emp_name varchar(10);

create table employees(emp_id int,emp_name varchar(10));

修改表名:

语法:

        Alter table ---修改表关键字

        旧表名 ---旧表名

        rename ---修改表名关键字

        新表名 ---新表名

例子:将employees表名改为emp

Alter table employee rename emp;

删除表:

语法:

        drop table ---删除表关键字

        表名 ---表名

例子:删除emp表

drop table emp;

列:

修改列名:

语法:

        Alter table ---修改表关键字

        表名 ---表名

        change column ---修改列名关键字

        旧列名 ---旧列名

        新列名 类型 ---新列名 类型

例子:将emp表中的列emp_id改名为id

Alter table emp change column emp_id id int;

修改列类型:

语法:

        alter table ---修改表关键字

        表名 ---表名

        modify ---修改列类型关键字

        列名 新类型; ---列名 新类型

例子:将emp表中的列emp_name的varchar长度改为20

Alter table emp modify emp_name varchar(20);

添加新列:

语法:

        alter table ---修改表关键字

        表名 ---表名

        add column ---添加列关键字

        列名 类型; ---列名 类型

例子:添加列emp_age到emp表中,类型为smallint

Alter table emp add column emp_age smallint;

删除指定列:

语法:

        alter table ---修改表关键字

        表名 ---表名

        drop column ---删除列关键字

        列名; ---指定删除列的列名

例子:删除emp表中的列emp_age

Alter table emp drop column emp_age;

约束:

主键约束(Primary key):

        添加主键:

语法:alter table 表名 add primary key(列名);

例子:给emp表中的emp_id添加主键约束

alter table emp add primary key(emp_id);

        主键约束添加自动增长:

语法:alter table 表名 modify 主键列名 类型 auto_increment;

例子:将emp表中主键约束emp_id设置为自动增长

alter table emp modify emp_id int auto_increment;

        删除主键(删除主键需要先删除自动增长):

删除自动增长语法:alter table 表名 modify 主键列名 类型;

例子:删除emp表中emp_id的自动增长

alter table emp modify emp_id int;

删除主键语法:alter table 表名 drop primary key;

例子:删除emp表中emp_id的主键约束

alter table emp drop primary key;

外键约束(Foreign key):

        添加外键:

语法:alter table 表名 add constraint 约束名 foreign key(约束的列名) reference 参照的表名(参考的列名);

例子:现在有一个dept表,我们需要将emp表中的dept_id通过外键约束参照dept表中的id

alter table emp add constarint emp_fk foreign key(dept_id) reference dept(id);

        删除外键:

语法:alter table 表名 drop foreign key 约束名;

例子:删除emp表中dept_id中的外键约束

alter table emp drop foreign key emp_fk;

唯一约束(Unique):

        添加唯一:

语法:alter table 表名 add constraint 约束名 unique(列名);

例子:给emp表中的name添加唯一约束

alter table emp add constraint emp_uk unique(name);

        删除唯一:

语法:alter table 表名 drop key 约束名;

例子:删除emp表中name的唯一约束

alter table emp drop key emp_uk;

非空约束(not null):

        添加非空:

语法:alter table 表名 modify 列名 类型 not null;

例子:给emp表中的salary添加非空约束

alter table emp modify salary int not null;

        删除非空:

语法:alter table 表名 modify 列名 类型 null;

例子:将emp表中salary删除非空约束

alter table modify salary int null;

总结:DDL其实很简单当我们创建表时用create,删除表时用drop,修改表(修改列名,修改列类型)时用alter,外键约束和唯一约束需要add constraint修饰,并且需要约束名

       

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值