[MySQL基础]第5篇(DDL表操作)

目录

表操作-查询创建

查询当前数据库所有表

查看指定表结构

查询指定表的建表语句

创建表结构

表操作-数据类型

数值类型

字符串类型

日期时间类型

 表操作-案例

 表操作-修改

添加字段

修改数据类型

修改字段名和字段类型

删除字段

修改表名

 表操作-删除

删除表

删除指定表, 并重新创建表


表操作-查询创建

查询当前数据库所有表

show tables;

查看指定表结构

desc 表名 ;

查询指定表的建表语句

show create table 表名 ;

创建表结构

CREATE TABLE 表名 (
字段 1 字段 1 类型 [ COMMENT 字段 1 注释 ],
字段 2 字段 2 类型 [COMMENT 字段 2 注释 ],
字段 3 字段 3 类型 [COMMENT 字段 3 注释 ],
......
字段 n 字段 n 类型 [COMMENT 字段 n 注释 ]
) [ COMMENT 表注释 ] ;
create table salgrade(
    grade int,
    losal int,
    hisal int
) comment '薪资等级表';

表操作-数据类型

MySQL中的数据类型有很多,主要分为三类:数值类型、字符串类型、日期时间类型。

数值类型

1). 年龄字段 -- 不会出现负数 , 而且人的年龄不会太大
age tinyint unsigned
2). 分数 -- 总分 100 , 最多出现一位小数
score double(4,1)

字符串类型

char varchar 都可以描述字符串,
char 定长字符串 ,指定长度多长,就占用多少个字符,和字段值的长度无关 。
varchar是 变长字符串 ,指定的长度为最大占用长度 。相对来说, char 的性能会更高些。
create table user(
    id int primary key auto_increment comment '主键',
    name varchar(10) not null unique comment '姓名',
    age int check ( age > 0 && age <= 120 ) comment '年龄',
    status char(1) default '1' comment '状态',
    gender char(1) comment '性别'
) comment '用户表';

日期时间类型

:
1). 生日字段 birthday
birthday date
2). 创建时间 createtime
createtime datetime

 表操作-案例

设计一张员工信息表,要求如下:
1. 编号(纯数字)
2. 员工工号 ( 字符串类型,长度不超过 10 )
3. 员工姓名(字符串类型,长度不超过 10 位)
4. 性别(男 / 女,存储一个汉字)
5. 年龄(正常人年龄,不可能存储负数)
6. 身份证号(二代身份证号均为 18 位,身份证中有 X 这样的字符)
7. 入职时间(取值年月日即可)
create table emp(
id int comment ' 编号 ' ,
workno varchar ( 10 ) comment ' 工号 ' ,
name varchar ( 10 ) comment ' 姓名 ' ,
gender char ( 1 ) comment ' 性别 ' ,
age tinyint unsigned comment ' 年龄 ' ,
idcard char ( 18 ) comment ' 身份证号 ' ,
entrydate date comment ' 入职时间 '
) comment ' 员工表 ' ;

表操作-修改

添加字段

ALTER TABLE 表名 ADD 字段名 类型 (长度) [ COMMENT 注释 ] [ 约束 ];

ALTER TABLE emp ADD nickname varchar(20) COMMENT '昵称';

修改数据类型

ALTER TABLE 表名 MODIFY 字段名 新数据类型 (长度);

修改字段名和字段类型

ALTER TABLE 表名 CHANGE 旧字段名 新字段名 类型 (长度) [ COMMENT 注释 ] [ 约束 ];

ALTER TABLE emp CHANGE nickname username varchar(30) COMMENT '昵称';

删除字段

ALTER TABLE 表名 DROP 字段名 ;
ALTER TABLE emp DROP username;

修改表名

ALTER TABLE 表名 RENAME TO 新表名 ;
ALTER TABLE emp RENAME TO employee;

表操作-删除

删除表

DROP TABLE [ IF EXISTS ] 表名;

可选项 IF EXISTS 代表,只有表名存在时才会删除该表,表名不存在,则不执行删除操作
(如果不 加该参数项,删除一张不存在的表,执行将会报错)
DROP TABLE IF EXISTS tb_user;

删除指定表, 并重新创建表

TRUNCATE TABLE 表名;

TRUNCATE TABLE employee;
注意: 在删除表的时候,表中的全部数据也都会被删除。

活动地址:CSDN21天学习挑战赛

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值