DDL(Data Definition Language)数据定义语句

DDL语句的主要作用是定义或修改数据表的结构或数据类型。

数据表的创建:

CREATE TABLE {表名} (
    {字段名} {数据类型} {限制条件1} {限制条件2} ...,
    {字段名} {数据类型} {限制条件1} {限制条件2} ...
);

注:
* 每个字段之间需要写逗号
* 限制条件可以不加

示例:

# 创建一个名为emp的数据表
CREATE TABLE emp (
    id INT UNSIGNED PRIMARY KEY AUTO_INCREMENT,     # 设置字段id为主键并且自增
    name VARCHAR(10) NOT NULL,   # 设置字段name,限制其内容不得超过10个字符并且不能为null
    age INT,    # 设置字段age
    gender CHAR(2)    # 设置字段gender,限制其内容不得超过2个字符
);

数据表创建完成后,如果发现数据表中的某些地方不符合开发需求,可以对其进行修改,以下介绍几种常见的修改情况。

(1)添加指定字段。

ALTER TABLE {表名} ADD {字段名} {数据类型} {限制条件1}, {限制条件2}...;

如例:为emp数据表添加一个字段:dept,数据类型为字符串类型且最大字符数为10。

ALTER TABLE emp ADD dept VARCHAR(10);

(2)修改字段数据类型(限制条件)。

ALTER TABLE {表名} MODIFY {字段名} {数据类型} {限制条件1}, {限制条件2}...;

如例:将emp数据表中的age字段的数据类型修改成无符号的整型。

ALTER TABLE emp MODIFY age INT UNSIGNED;

(3)修改字段名称(两种方法)。

ALTER TABLE {表名} CHANGE {旧字段名} {新字段名} {数据类型} {限制条件}...;

ALTER TABLE {表名} RENAME COLUMN {旧字段名} TO {新字段名};

如例:将emp表中的dept字段改名为deptName。

ALTER TABLE emp CHANGE dept deptName VARCHAR(10);

ALTER TABLE emp RENAME COLUMN dept TO deptName;

(4)删除字段。

ALTER TABLE {表名} DROP {字段名};

如例:删除emp表中的dept字段。

ALTER TABLE emp DROP dept;

(5)修改表名(两种方法)。

ALTER TABLE {旧表名} RENAME {新表名};

RENAME TABLE {旧表名} TO {新表名};

如例:将emp表改名为tb_emp。

ALTER TABLE emp RENAME tb_emp;

RENAME TABLE emp TO tb_emp;

(6)修改字段排列位置(两种方法)。

ALTER TABLE {表名} MODIFY {字段名1} {数据类型} AFTER {字段名2};

ALTER TABLE {表名} CHANGE {字段名1} {字段名1} {数据类型} AFTER {字段名2};

如例:将emp表中的gender字段移到name字段之后(两种方法)。

ALTER TABLE emp MODIFY gender CHAR(2) AFTER name;

ALTER TABLE emp CHANGE gender gender CHAR(2) AFTER name;

值得一提的是,如果想要将某个字段放在最前面还可以使用如下语句:

ALTER TABLE {表名} MODIFY {字段名1} {数据类型} FIRST;

ALTER TABLE {表名} CHANGE {字段名1} {字段名1} {数据类型} FIRST;

如:将emp数据表中的name字段移到第一位。

ALTER TABLE emp MODIFY name VARCHAR(10) FIRST;

ALTER TABLE emp CHANGE name name VARCHAR(10) FIRST;

注:以上DDL语句中的所有限制条件如果没有都可以不写。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值