【MySQL】(四)DDL数据库表操作——表的创建、查看、修改、删除


前言
本文为在霍格沃兹测试开发学社中学习到的一些技术写出来分享给大家,希望有志同道合的小伙伴可以一起交流技术,一起进步~ 😘

所有SQL语法中符号含义:

  1. { }:必选项;
  2. [ ]:可选项;
  3. |:或,多选一

1. DDL数据库表操作简介

1.1 MySQL 的数据类型

1.1.1 数字类型

数据类型说明
TINTINT0~255 或 -128~127,1字节,最小的整数
SMALLINT0~65535 或 -32768~32767,2字节,小型整数
MEDIUMINT0~16777215 或 -8388608~8388607,3字节,中型整数
INT0~4294967295 或 -2147683648~2147683647,4字节,标准整数
BIGINT8字节,大整数
FLOAT单精度浮点值
DOUBLE双精度浮点值
BOOLEAN布尔值

1.1.2 字符串类型

数据类型说明
CHAR1~255 个字符,固定长度字符串
VARCHAR长度可变,最多不超过 255 个字符
TEXT最大长度为 64K 的变长文本
TINYTEXT与 TEXT 相同,但最大长度为 255 字节
MEDIUMTEXT与 TEXT 相同,但最大长度为 16K
LONGTEXT与 TEXT 相同,但最大长度为 4GB

1.1.3 日期和时间类型

数据类型说明
DATE日期,格式 YYYY-MM-DD
TIME时间,格式 HH:MM:SS
DATETIME日期和时间,格式 YYYY-MM-DD HH:MM:SS
TIMESTAMP时间标签,功能和 DATETIME 相同,但范围较小
YEAR年份可指定两位数字和四位数字的格式

PS:四种类型被赋予的数据值不在合法范围,则程序会使用0代替

1.2 常用数据类型

  • INT:整型
  • DOUBLE:浮点型
  • VARCHAR:字符串型
  • DATE:日期类型

2. 创建

2.1 创建表语法

-- 创建表
CREATE TABLE 数据表名 (
  列名1 属性,
  列名2 属性…
);

2.2 列属性

列名 数据类型 [NOT NULL | NULL] [DEFAULT 默认值] [AUTO_INCREMENT][PRIMARY KEY ] [注释]
  • NOT NULL | NULL:该列是否允许是空值
  • DEFAULT:表示默认值
  • AUTO_INCREMENT:表示是否是自动编号
  • PRIMARY KEY:表示是否为主键

2.3 创建学员表

-- 切换到数据库 db1 
USE db1;

-- 创建学员表 
CREATE TABLE student( 
  id INT,
  name VARCHAR(20) 
);
  • 创建在 db1 数据库中
  • 表名为 student
  • 包含两个字段:
    • 学员 id
    • 学员姓名

2.4 复制结构相同的表

2.4.1 复制表语法

-- 复制表
CREATE TABLE 数据表名
{LIKE 源数据表名 | (LIKE 源数据表名)}
  • 数据表名:表示新创建的数据表的名
  • LIKE 源数据表名:必选项,指定依照哪个数据表来创建新表

2.4.2 复制结构相同的表

-- 创建一个表结构与 student 相同的 s2 表 
CREATE TABLE s2 LIKE student;

3 查看

3.1 查看表名语法

-- 查看当前数据库中所有的表名
SHOW TABLES;

3.2 查看表结构语法

-- 查看表结构
DESCRIBE 数据表名;
DESCRIBE 数据表名 列名;

-- 查看表结构简写
DESC 数据表名;
DESC 数据表名 列名;

4. 修改

4.1 添加新列

-- 添加新列语法
ALTER TABLE 表名 ADD 列名 列属性;

-- 示例:
-- 选择数据库 db1
USE db1;
-- 添加新列
ALTER TABLE student ADD email varchar(50) NOT NULL;
-- 查看表结构
DESC student;

4.2 修改列定义

-- 修改列定义语法
ALTER TABLE 表名 MODIFY 列名 列属性;

--示例:
-- 添加分数列,先定义为字符类型
ALTER TABLE student ADD score varchar(10);
-- 修改字段类型
ALTER TABLE student modify score int;
-- 查看表结构
DESC student;

4.3 修改列名

-- 修改列名语法
ALTER TABLE 表名 CHANGE 旧列名 新列名 类型;

-- 示例:
-- 修改列名并指定列的默认值
ALTER TABLE student CHANGE COLUMN name stu_name VARCHAR(30) DEFAULT NULL;
-- 查看表结构
DESC student;

4.4 删除列

-- 删除列语法
ALTER TABLE 表名 DROP 列名;

--示例
-- 将数据表 student 中的列 score 删除
ALTER TABLE student DROP score;
-- 查看表结构
DESC student;

4.5 修改表名

-- 修改表名方式一
ALTER TABLE 旧表名 RENAME AS 新表名;

-- 修改表名方式二
RENAME TABLE 旧表名 To 新表名;

--示例:
-- 将数据表 student 更名为 stu
ALTER TABLE student RENAME AS stu;
-- 将数据表 stu 更名为 stu_table
RENAME TABLE stu TO stu_table;
-- 查看表名
SHOW TABLES;s

5. 删除

5.1 删除表语法

DROP TABLE [IF EXISTS] 数据表名;
  • IF EXISTS:可选项,先判断是否存在要删除的表,存在时才执行删除操作
  • 数据表名:用于指定要删除的数据表名

文末说明:
接口测试中我们很容易混淆Session、cookie和token,你知道他们有什么区别吗?

快来跟我一起看,一篇文章让你了解三者的区别。😎
⬇⬇⬇⬇⬇⬇⬇
👍👍👍:接口测试经典面试题:Session、cookie、token有什么区别?

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值