【第二阶段 | MySQL语句详解=简单查询=DDL操作数据表】

创建时间: 2021/4/12 21:04
更新时间: 2021/4/13 20:53
作者: 云雲

DDL操作数据表

【第二阶段 | MySQL语句详解=简单查询=DDL操作数据表】 - 图1一个数据库中可以n个表,表中又有字段(列),在建表的时候就需要定义好字段(指定字段属性——>字段数据类型+字段长度等)

常用数据类型

【第二阶段 | MySQL语句详解=简单查询=DDL操作数据表】 - 图2

char 和vachar区别

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

    char 和vachar适用场景

  • char类型适合存储 固定长度的字符串,比如 密码 ,性别一类

  • varchar类型适合存储 在一定范围内,有长度变化的字符串 | | 存储空间 | 查询效率 | | —- | —- | —- | | char | 耗费空间 | 高 | | varchar | 节省空间 | 不高 |

创建表 create table

语法格式:

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

case1创建商品分类表

/ 表名:category 表中字段: 分类id :cid ,为整型 分类名称:cname,为字符串类型,指定长度20 / create table category( — 定义字段信息 cid int, cname varchar(20) );

case2 创建测试表

/ 表名: test1 表中字段: 测试id : tid ,为整型 测试时间: tdate , 为年月日的日期类型 / create table text1( tid int, tdate date )

case3 复制表结构,不复制数据

create table text2 like text1; — 查看表结构信息 desc text2;


DDL查看/删除表

— 查看表结构信息 desc

desc text2;

— 查看数据表的建表语句 show

show create table text1; / CREATE TABLE text1 ( tid int DEFAULT NULL, tdate date DEFAULT NULL ) ENGINE=InnoDB DEFAULT CHARSET=utf8 /

— 删除数据库/表用drop 删除数据用delete

drop table text1;

— 判断存在表再删除

drop table if exists text1;


DDL修改表

1、修改表名

语法:rename table 旧名字 to 新名字

需求: 将category表 改为 category1

rename table category to category1;

2、向表中添加列, 关键字 ADD

语法:alter table 表名 add 字段名称 字段类型

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

alter table category1 add cdesc varchar(20);

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

语法:alter table 表名 modify 字段名称 字段类型

— 需求:对分类表的描述字段进行修改,类型varchar(50)

alter table category1 MODIFY cdesc varchar(50);

4、修改列名称 , 关键字 CHANGE

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

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

alter table category1 change cdesc description varchar(30);

5、删除列 ,关键字 DROP

语法:alter table 表名 drop 列名;

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

alter table category1 drop description