文章目录
- 前言
- 数据类型
- 数值类型
- 整数类型
- 浮点数和定点数
- 字符串类型
- 字符类型:
- 文本类型:
- 二进制数据类型
- 日期和时间类型
- 实例分析
- 表的操作
- 添加字段
- 修改字段
- 删除字段
- 修改表名
- 删除表
- DDL总结
- DDL数据库操作
- DDL表操作
前言
上一节在MySQL第2讲–关系型数据库以及SQL语句分类之DDL数据库和表的操作我们介绍了,数据库的操作:查询数据库,创建数据库,删除数据库,适应数据库;表的操作:表的查询,表的创建;
在这一节我们将要接着讲述表的操作:表的修改和表的删除;以及数据类型;
数据类型
MySQL数据类型有很多,主要分为三类:数值类型、字符串类型、日期和时间类型;
数值类型
整数类型
- TINYINT:非常小的整数,所占内存大小1byte,有符号(SIGNED)范围从 -128 到 127,无符号(UNSIGNED)范围从 0 到 255。
- SMALLINT:小的整数,所占内存大小2byte,有符号范围从 -32,768 到 32,767,无符号范围从 0 到 65,535。
- MEDIUMINT:中等大小的整数,所占内存大小3byte,有符号范围从 -8,388,608 到 8,388,607,无符号范围从 0 到 16,777,215。
- INT 或 INTEGER:标准的整数,所占内存大小4byte,有符号范围从 -2,147,483,648 到 2,147,483,647,无符号范围从 0 到 4,294,967,295。
- BIGINT:大整数,所占内存大小8byte,有符号范围从 -9,223,372,036,854,775,808 到 9,223,372,036,854,775,807,无符号范围从 0 到 18,446,744,073,709,551,615。
浮点数和定点数
- FLOAT:单精度浮点数,所占内存大小4byte。
- DOUBLE:双精度浮点数,所占内存大小8byte。
- DECIMAL(M,D) 或 NUMERIC(M,D):定点数,可以存储精确的小数。M 是数字的总数(精度),D 是小数点后的位数(标度)。
字符串类型
字符类型:
- CHAR(M):大小:0~255bytes,固定长度的字符串,最多可存储 M 个字符。
- VARCHAR(M):大小:0~65535bytes,可变长度的字符串,最多可存储 M 个字符。实际长度+1字节或+2字节记录长度(取决于最大长度)。
文本类型:
- TINYTEXT:大小:0~255bytes,非常小的文本字符串。
- TEXT:大小:0~65535bytes,中等大小的文本字符串。
- MEDIUMTEXT:中等大小的文本字符串。
- LONGTEXT:非常大的文本字符串。
二进制数据类型
- BINARY(M):固定长度的二进制字符串,最多可存储 M 个字节。
- VARBINARY(M):可变长度的二进制字符串,最多可存储 M 个字节。
- BLOB、MEDIUMBLOB、LONGBLOB:分别用于存储二进制大对象(Binary Large OBjects)的不同大小的数据。
日期和时间类型
- DATE:日期值,格式 YYYY-MM-DD。
- TIME:时间值,格式 HH:MM:SS。
- DATETIME:日期和时间值,格式 YYYY-MM-DD HH:MM:SS。
- TIMESTAMP:时间戳值,格式 YYYY-MM-DD HH:MM:SS,但值会随时区变化。
- YEAR:年份值,格式 YYYY。
实例分析
根据以上数据类型穿件一个表格;
create table employ(id tinyint comment '编号',worknum varchar(10) comment '工号',name varchar(10) comment '姓名',gender char(1) comment '性别',age tinyint unsigned comment '年龄',idcard char(18) comment '身份证号',intime datetime comment '入职时间'
)comment '员工表';
表格创建成功后,查询表结构如下:
如果相对表中的某个地方进行修改,我们该如何操作呢?接下来介绍表的操作,修改和删除。
表的操作
添加字段
ALTER TABLE 表名 ADD 字段名 类型(长度)
案例1:在上述创建的employ表中添加一个新的字段“昵称”;
添加完字段后,查看一下表格,可以看到新的字段已经被添加进去;
修改字段
- 修改数据类型
ALTER TABLE 表名 MODIFY 字段名 新的数据类型(长度);
- 修改字段名和字段类型
ALTER TABLE 表名 CHANGE 旧字段名 新字段名 类型(长度);
案例1:将employ表中的字段“nikename”,修改为“username”,类型为varchar(30);
添加完字段xi修改完字段后,查看一下表格,可以看到nikename字段已经被修改为username字段;
删除字段
ALTER TABLE 表名 DROP 字段名
案例1:将employ表中的字段“username”删除;
删除完字段后,查看一下表格,可以看到username字段已经被删除;
修改表名
ALTER TABLE 表名 RENAME TO 新表名;
修改完表名后,查看数据库中的表,可以看见,表名已经修改完成;
删除表
DROP TABLE [IF EXISTS] 表名; # 删除表
TRUNCATE TABLE 表名 # 删除指定表并重新创建该表(数据删除,只留下空表)
DDL总结
至此DDL所有的操作讲解完毕,接下来对DDL的操作,做一下简单的总结:
DDL数据库操作
CREATE DATABASE 数据库名; # 创建数据库
SHOW DATABASES; # 显示所有数据库
USE 数据库名; # 切换到所用数据库
SELECT DATABASE(); # 查看当前数据库
DROP 数据库名; # 删除数据库
DDL表操作
SHOW TABLES; # 显示所有表
CREATE TABLE 表名(字段 字段类型, 字段 字段类型); # 创建表
DESC 表名; # 查询表字段
ALTER TABLE 表名 ADD|MODIFY|CHANGE|DROP|RENAME TO..; #
ALTER TABLE 表名; # 删除表
如有错误欢迎指正,如果帮到您请点赞加收藏哦!