当前位置: 首页 > news >正文

MySQL → SQL → DDL → 表操作 → 数据类型 知识链整理成一份系统的内容

1. 知识结构

MySQL└── SQL(结构化查询语言)├── DDL(数据定义语言) → 定义结构│     ├── 表操作(创建/修改/删除表)│     └── 数据类型(列字段类型定义)├── DML(数据操作语言) → 增删改数据├── DQL(数据查询语言) → 查询数据└── DCL(数据控制语言) → 权限、事务控制


2. DDL 表操作

操作语法示例
创建表CREATE TABLE 表名 (列名 数据类型 约束, ...)CREATE TABLE users (id INT PRIMARY KEY, name VARCHAR(50));
如果不存在再创建CREATE TABLE IF NOT EXISTS 表名 (...)CREATE TABLE IF NOT EXISTS users (...);
查看表结构DESC 表名;SHOW COLUMNS FROM 表名;DESC users;
修改表名RENAME TABLE 旧名 TO 新名;RENAME TABLE users TO members;
添加列ALTER TABLE 表名 ADD 列名 数据类型 约束;ALTER TABLE users ADD email VARCHAR(100);
修改列数据类型ALTER TABLE 表名 MODIFY 列名 新数据类型;ALTER TABLE users MODIFY name VARCHAR(100);
重命名列ALTER TABLE 表名 CHANGE 旧列名 新列名 数据类型;ALTER TABLE users CHANGE name username VARCHAR(50);
删除列ALTER TABLE 表名 DROP 列名;ALTER TABLE users DROP email;
删除表DROP TABLE 表名;DROP TABLE users;
如果存在再删除DROP TABLE IF EXISTS 表名;DROP TABLE IF EXISTS users;
清空表数据TRUNCATE TABLE 表名;TRUNCATE TABLE users;

3. MySQL 常用数据类型

3.1 数值类型

类型大小有符号范围 (SIGNED)无符号范围 (UNSIGNED)用途
TINYINT1字节-128 ~ 1270 ~ 255状态、布尔值(0/1)
SMALLINT2字节-32768 ~ 327670 ~ 65535小范围整数
MEDIUMINT3字节-8388608 ~ 83886070 ~ 16777215中等范围整数
INT / INTEGER4字节-21亿 ~ 21亿0 ~ 42亿常用整型
BIGINT8字节±9.22e180 ~ 1.84e19超大整数
DECIMAL(M,D)按精度精确小数精确小数金额计算
FLOAT4字节非精确小数非精确小数科学计算
DOUBLE8字节非精确小数非精确小数高精度浮点

3.2 字符串类型

类型最大长度用途
CHAR(M)固定长度,0~255性别、状态码
VARCHAR(M)可变长度,0~65535(取决于行大小)姓名、标题
TEXT65535字符文章内容
TINYTEXT255字符短文本
MEDIUMTEXT16777215字符中长文本
LONGTEXT4GB大段文本
BLOB 系列同 TEXT,但存二进制图片、文件

3.3 日期与时间类型

类型格式范围用途
DATEYYYY-MM-DD1000-01-01 ~ 9999-12-31出生日期、节日
TIMEHH:MM:SS-838:59:59 ~ 838:59:59事件时间
DATETIMEYYYY-MM-DD HH:MM:SS1000-01-01 ~ 9999-12-31日志时间
TIMESTAMPYYYY-MM-DD HH:MM:SS1970-01-01 ~ 2038-01-19自动更新当前时间
YEARYYYY1901 ~ 2155年份

4. 注意事项

  1. 表名、列名建议全小写,关键字大写,提高可读性:

    CREATE TABLE users (id INT AUTO_INCREMENT PRIMARY KEY,name VARCHAR(50) NOT NULL
    );
    
  2. CHAR 固定长度,不足补空格;VARCHAR 可变长度,更节省空间。

  3. 金额一定用 DECIMAL 而不是 FLOAT/DOUBLE,避免精度丢失。

  4. TIMESTAMP 会受时区影响,DATETIME 不受时区影响。

  5. 大型文本字段(TEXT/BLOB)会单独存储,不适合频繁搜索。

http://www.dtcms.com/a/333261.html

相关文章:

  • 基于 ArcFace/ArcMargin 损失函数的深度特征学习高性能人脸识别解决方案
  • pandas中df.to _dict(orient=‘records‘)方法的作用和场景说明
  • 题解:CF2127D Root was Built by Love, Broken by Destiny
  • CUDA × JetPack 初学者全指南
  • Python工具箱系列(六十四)
  • go语言运算符·关系运算符
  • sql CURRENT_TIMESTAMP
  • 【DSP28335 事件驱动】唤醒沉睡的 CPU:外部中断 (XINT) 实战
  • java注释功能
  • ESP32-C3_TCP
  • Linux操作系统从入门到实战(二十二)命令行参数与环境变量
  • 信刻光盘摆渡系统案例——某省纪委
  • 微服务容错与监控体系设计
  • 生存主义:隐形异变 (Survivalist: Invisible Strain)免安装中文版
  • Leetcode 最小生成树系列(1)
  • 解决zabbix图片中文乱码
  • Mac(二)Homebrew 的安装和使用
  • 前端更改浏览器默认滚动条样式
  • 716SJBH高职院校财务收费系统的设计与实现
  • 25. 移动端-uni-app
  • 【论文解读】DDRNet:深度双分辨率网络在实时语义分割中的结构与原理全面剖析
  • LeetCode 905.按奇偶排序数组
  • 【机器学习深度学习】客观评估主观评估:落地场景权重比例
  • Rust 中 i32 与 *i32 的深度解析
  • 大华相机RTSP无法正常拉流问题分析与解决
  • flume实战:从零配置到启动运行的完整指南
  • 【Ubuntu 中安全删除 Windows 分区并优化磁盘空间利用】
  • redis-sentinel基础概念及部署
  • 机械学习---- PCA 降维深度解析
  • Vue响应式系统在超大型应用中的性能瓶颈