300字范文,内容丰富有趣,生活中的好帮手!
300字范文 > Mysql中DDL操作表 修改字段类型 长度以及添加删除列等

Mysql中DDL操作表 修改字段类型 长度以及添加删除列等

时间:2020-01-01 06:26:44

相关推荐

Mysql中DDL操作表 修改字段类型 长度以及添加删除列等

文章目录

MySQL常见的数据类型1. 创建表2. 查看表3. 删除表4. 修改表(常用)1)修改表名2)修改表的字符集3)向表中添加列, 关键字 ADD4)修改表中列的 数据类型或长度 , 关键字 MODIFY5)修改列名称 , 关键字 CHANGE6)删除列 ,关键字 DROP

开发项目,设计表时往往不可能一劳永逸,因为需求在不断变更。

在后期的迭代中,我们需要不断对表结构进行调整,尤其是对字段的修改。

下面,介绍一下操作表相关的DDL语句:

MySQL常见的数据类型

1)常用的数据类型:

int 整型

double 浮点型

varchar 变长字符串

date 日期类型 年月日 没有时分秒 yyyy-MM-dd

datetime 日期时间类型 yyyy-MM-dd HH:mm:ss

2) 详细的数据类型(了解即可)

注意:MySQL中的 char类型与 varchar类型,都对应了 Java中的字符串类型,区别在于:

char类型是固定长度的: 根据定义的字符串长度分配足够的空间。varchar类型是可变长度的: 只使用字符串长度所需的空间

比如:保存字符串 “abc”

x char(10) 占用10个字节

y varchar(10) 占用3个字节

适用场景:

char类型适合存储 固定长度的字符串,比如 密码 ,性别一类varchar类型适合存储 在一定范围内,有长度变化的字符串

1. 创建表

语法格式

CREATE TABLE 表名(字段名称1 字段类型(长度),字段名称2 字段类型 注意 最后一列不要加逗号);

需求1: 创建商品分类表

SQL实现

-- 切换到数据库 db1USE db1;-- 创建表CREATE TABLE category(cid INT,cname VARCHAR(20));

需求2: 创建测试表

SQL实现

-- 创建测试表CREATE TABLE test1(tid INT,tdate DATE);

需求3: 快速创建一个表结构相同的表(复制表结构)

语法格式

create table 新表明 like 旧表名

代码示例

-- 创建一个表结构与 test1 相同的 test2表CREATE TABLE test2 LIKE test1;-- 查看表结构DESC test2;

需求4: 创建完整的用户表

CREATE TABLE `tb_user` (`id` int(10) NOT NULL AUTO_INCREMENT COMMENT '主键ID,自增',`name` varchar(30) DEFAULT NULL COMMENT '用户名',`pwd` varchar(50) DEFAULT NULL COMMENT '密码',`create_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',`update_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '更新时间',PRIMARY KEY (`id`),UNIQUE KEY `unique_name` (`name`)) ENGINE=InnoDB AUTO_INCREMENT=3 DEFAULT CHARSET=utf8;

2. 查看表

代码示例

-- 查看当前数据库中的所有表名SHOW TABLES;-- 显示当前数据表的结构DESC category;-- 查看创建表的SQL语句SHOW CREATE TABLE category;

3. 删除表

代码示例

-- 直接删除 test1 表DROP TABLE test1;-- 先判断 再删除test2表DROP TABLE IF EXISTS test2;

4. 修改表(常用)
1)修改表名

语法格式

rename table 旧表名 to 新表名

需求: 将category表 改为 category1

RENAME TABLE category TO category1;

2)修改表的字符集

语法格式

alter table 表名 character set 字符集

需求: 将category表的字符集 修改为gbk

alter table category character set gbk;

3)向表中添加列, 关键字 ADD

语法格式

alert table 表名 add 字段名称 字段类型

需求: 为分类表添加一个新的字段为 分类描述 cdesc varchar(20)

# 为分类表添加一个新的字段为 分类描述 cdesc varchar(20)ALTER TABLE category ADD cdesc VARCHAR(20);

-- 分类表中,在cname字段后面添加描述字段ALTER TABLE category ADD cdesc VARCHAR(20) DEFAULT NULL COMMENT '描述' AFTER `cname`;

4)修改表中列的 数据类型或长度 , 关键字 MODIFY

语法格式

alter table 表名 modify 字段名称 字段类型

需求:修改cdesc 字段的类型为 CHAR

-- 修改cdesc 字段的类型为 CHARALTER TABLE category1 MODIFY cdesc CHAR(20) DEFAULT NULL COMMENT '描述';

需求:修改cdesc 字段的长度为 50

-- 修改字段长度为 50ALTER TABLE category MODIFY cdesc VARCHAR(50);

5)修改列名称 , 关键字 CHANGE

语法格式

alter table 表名 change 旧列名 新列名 类型(长度);

需求: 对分类表中的 desc字段进行更换, 更换为 description varchar(30)

ALTER TABLE category CHANGE cdesc description VARCHAR(30);

6)删除列 ,关键字 DROP

语法格式

alter table 表名 drop 列名;

需求: 删除分类表中description这列

ALTER TABLE category DROP description;

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。