mysql表的操作和数据类型

1.表的操作

1.1创建表

语法:

复制代码
CREATE TABLE table_name(
field1 datatype,
field2 datatype,
field3 datatype
) character set 字符集 collate 校验规则 engine 存储引擎;

field表示列名,database表示列的类型,character set 字符集,如果没有指定字符集,则以所在数据库的字符集为准。collate 校验规则,如果没有指定校验规则,则以所在数据库的校验规则为准。

创建表的案例:

复制代码
create table users (
id int,
name varchar(20) comment '用户名',
password char(32) comment '密码是32位的md5值',
birthday date comment '生日'
) character set utf8 engine MyISAM;

1.2查看表

使用desc 表名; 即可查询表的结构。

示例:

1.3修改表

修改表时通常会有三种情况:1.添加字段、2.修改字段、3.删除字段。不同的情况对应着不同的语法。添加字段:ALTER TABLE table_name ADD (column datatype DEFAULT expr,column datatype...); 修改字段:ALTER TABLE table_name MODIFY (column datatype DEFAULT expr,column datatype...); 删除字段:ALTER TABLE table_name DROP (column datatype DEFAULT expr,column datatype...);注意:删除字段一定要小心,删除字段及其对应的列数据都没了

案例:

复制代码
mysql>alter table users add assets varchar(100) ;//在users表添加一个字段,用于保存图片路径
mysql> alter table users modify name varchar(60);//修改name,将其长度改成60
mysql> alter table users drop password;//删除password列

1.4删除表

删除表的语法格式为:DROP TEMPORARY TABLE IF EXISTS tbl_name , tbl_name ...

一般情况下表也不要轻易删除的。

2.数据类型

2.1数值类型

整数类型

TINYINT 占用 1 字节 取值范围负一百二十八到一百二十七 适合存储状态标识性别类别等少量数值数据。SMALLINT 占用 2 字节 存储范围大于极小整数 适用于数据量偏小的编号数据。MEDIUMINT 占用 3 字节 适配日常中等范围数字存储场景。INT 日常开发最常用整数类型 占用 4 字节 可满足绝大多数序号年龄数量编号存储需求。BIGINT 占用 8 字节 数值存储范围极大 用于存储超大编号流水号长整型唯一标识 在整数类型后添加 unsigned 代表设置为无符号类型 仅存储非负数 扩大正数存储范围 添加 zerofill 可自动补齐前置零。

浮点类型

FLOAT 单精度浮点型 存储空间小 数据存储精度较低 仅适用于对精度要求不高的小数数据。 DOUBLE 双精度浮点型 精度高于单精度浮点 普通小数存储场景使用较多

定点数类型

DECIMAL 精准数值类型 格式为DECIMAL 总长度小数位数 存储数值无精度丢失 是存储金额工资价格财务数据的专用类型

2.2字符串类型

CHAR 固定长度字符串 定义长度后占用空间固定 存取速度快 字符长度不足自动补齐空格 适合手机号身份证号邮编等长度固定数据 。VARCHAR 可变长度字符串 按照实际字符占用空间 节省存储空间 是项目中使用最多的字符串类型 用于用户名简介地址等长度不固定文本。TEXT 长文本类型 无固定长度限制 专门用于存储大篇幅文字内容 例如文章正文长篇备注信息。ENUM 枚举类型 提前设定固定可选值 数据录入只能选择预设内容 限制输入范围 适用于性别学历订单状态等固定选项数据。SET集合类型 支持同时选取多个预设值 可存储多项组合类数据。

2.3日期时间类型

DATE 仅存储年月日 格式为年年月月日日 用于记录单纯日期数据。TIME 仅存储时分秒 专门记录具体时间时段。DATETIME 组合类型 同时存储年月日时分秒 可完整记录完整时间信息 日常业务使用频率最高。TIMESTAMP 时间戳类型 存储范围较小 会跟随时区变化自动转换 多用于记录数据创建修改时间。YEAR 仅单独存储年份数据 占用空间极小

2.4二进制类型

BINARY 固定长度二进制数据 对应字符固定存储格式。VARBINARY 可变长度二进制数据 适配不定长二进制内容。BLOB 大容量二进制存储类型 主要用来存放图片文件音频视频等非文本文件数据。

相关推荐
唐青枫3 天前
MySQL JSON 实战详解:从存储、查询、更新到 JSON_TABLE 与索引
sql·mysql
小满8783 天前
5.Mysql事务隔离级别与锁机制
mysql
元Y亨H4 天前
技术笔记:MySQL 字符集排序规则与大小写敏感性问题解决方案
mysql
这个DBA有点耶5 天前
GROUP BY优化全解:如何写出既不丢数据又飞快的分组查询
数据库·mysql·架构
掉头发的王富贵5 天前
【StarRocks】极限十分钟入门StarRocks
数据库·sql·mysql
SamDeepThinking5 天前
一条UPDATE语句在MySQL 8.0中到底加了几把锁?
后端·mysql·程序员
李白客7 天前
KES新版MySQL兼容能力再升级意味着什么?
mysql·国产数据库
Jim6009 天前
【吃透 MySQL InnoDB连载】第 1 章・解密线上数据库高频故障
mysql
GreatSQL9 天前
gt-checksum v4.0.0 新功能解读系列文章(4):SSL 加密连接——数据校验传输安全再升级
mysql