【第二阶段 | MySQL语句详解=简单查询=DDL操作数据表】
创建时间: | 2021/4/12 21:04 |
---|---|
更新时间: | 2021/4/13 20:53 |
作者: | 云雲 |
DDL操作数据表
一个数据库中可以n个表,表中又有字段(列),在建表的时候就需要定义好字段(指定字段属性——>字段数据类型+字段长度等)
常用数据类型
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
— 查看数据表的建表语句 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 if exists text1;
DDL修改表
1、修改表名
— 需求: 将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
— 需求: 删除分类表中description这列
alter table category1 drop description