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 大容量二进制存储类型 主要用来存放图片文件音频视频等非文本文件数据。

相关推荐
bjzhang7510 小时前
CentOS下安装MySQL详解
linux·mysql·centos
十五年专注C++开发12 小时前
MySql中各种功能用sql语句实现总结
数据库·sql·mysql
ULIi096kr13 小时前
MySQL解决Too many connections报错:连接数爆满排查、优化与永久解决方案
数据库·mysql·adb
李白的天不白14 小时前
服务器上数据库的创建
mysql
ha_lydms14 小时前
AnalyticDB基本概念
mysql·adb·analyticdb
Fanta丶15 小时前
23.MySql group by优化、limit优化、 count优化、update优化
mysql
医疗信息化王工15 小时前
医院自律端系统——预警处置模块全栈实战(ASP.NET Core + Vue3 + Quartz 定时调度)
mysql·postgresql·vue·asp.net core·quartz
NineData15 小时前
SQL 都在等锁时,ChatDBA 先帮 MySQL 找到谁在挡路
数据库·人工智能·sql·mysql·安全·数据复制·数据迁移工具
神仙别闹15 小时前
基于 PHP + MySQL学生信息管理系统
android·mysql·php
Amnesia0_016 小时前
MYSQL复合查询和内外连接
数据库·mysql