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

MySQL(二)数据定义语言DDL、数值类型、字符串类型、日期时间类型详细讲解

3、数据定义语言DDL

  • DDL数据定义语言用来定义数据库,表结构,表中字段的。

3.1 DDL-数据库操作

查询所有数据库

  • SHOW DATABASES;// show databases;

查询当前数据库

  • SELECT DATABASE(); // select database();

创建数据库

  • CREATE DATABASE [IF NOT EXISTS] 数据库名 [DEFAULT CHARSET 字符集] [COLLATE 排序规则];//creat database if not exists wang charset utf8mb4;
默认的字符集和排序规则分别是utf8mb4字符集和utf8mb4_unicode_ci排序规则,也是推荐使用的字符集和排序规则

删除数据库

  • DROP DATABASE [IF EXISTS] 数据库名;// drop database if exists wang;

使用数据库(切换数据库)

  • USE 数据库名; //use wang;

3.2 DDL-表操作-查询

查询当前数据库所有表

  • SHOW TABLES;//show tables;

查询表结构

  • DESC 表名;//desc 表名

查询指定表的建表语句

  • SHOW CREATE TABLE 表名;//show create table 表名

3.3 DDL-表操作-创建

  • CREATE TABLE 表名( //creat table 字段1 字段1的类型 [COMMENT 字段1的注释], 字段2 字段2的类型 [COMMENT 字段2的注释], ... 字段n 字段n的类型 [COMMENT 字段n的注释]
  • //注意最后一个字段后面没有“,”号;)[COMMENT 表注释];注意:[...]为可选参数,最后一个字段后面没有逗号
3.4.1 数值类型
整数类型:
  • TINYINT (tinyint):1字节,小整数,范围:-128 ~ 127(有符号)或 0 ~ 255(无符号)

  • SMALLINT (smallint):2字节,大整数,范围:-32,768 ~ 32,767(有符号)或 0 ~ 65,535(无符号)

  • MEDIUMINT (mediumint):3字节,大整数,范围:-8,388,608 ~ 8,388,607(有符号)或 0 ~ 16,777,215(无符号)

  • INT或INTEGER (int/Integer):4字节,大整数,范围:-2,147,483,648 ~ 2,147,483,647(有符号)或 0 ~ 4,294,967,295(无符号)

  • BIGINT(BigInt):8字节,极大整数,范围:-9,223,372,036,854,775,808 ~ 9,223,372,036,854,775,807(有符号)或 0 ~ 18,446,744,073,709,551,615(无符号)

浮点数类型:
  • FLOAT (float):4字节,单精度浮点数,范围:-3.402823466 E+38 ~ 3.402823466351 E+38(有符号)或 0 和 1.175494351 E-38 ~ 3.402823466 E+38,近似值

  • DOUBLE (double):8字节,双精度浮点数,范围:-1.7976931348623157 E+308 ~ 1.7976931348623157 E+308 或 0 和 2.2250738585072014 E-308 ~ 1.7976931348623157 E+308,近似值

  • DECIMAL (M, D) (decimal):精确值,M 是总位数,D 是小数位数。例如,DECIMAL(5, 2)可以存储 123.45

注:unsigned修饰无符号,即没有负数,所以如果描述年龄之类的可以加上。

例:age TINYINT UNSIGNED

注:如果描述的是分数score double(4,1)4代表整体长度,1代表小数长度

3.4.2 字符串类型
  • CHAR(N) (char)固定长度字符串,最多 255 个字符

  • VARCHAR(N) (varchar)可变长度字符串,最多 65,535 个字符

  • TINYBLOB (tinyblob):不超过 255 个字符的二进制数据

  • TINYTEXT (tinytext):短文本字符串,最多 255 个字符

  • BLOB (blob)二进制形式的长文本数据,最多 65,535 个字符

  • TEXT (text)长文本数据,最多65,535个字符

  • MEDIUMBLOB (mediumblob):二进制形式的中等长度文本数据,最多 16,777,215 个字符

  • MEDIUMTEXT (mediumtext):中等长度文本数据,最多 16,777,215 个字符

  • LONGBLOB (longblob):二进制形式的极大文本数据,最多 4,294,967,295 个字符

  • LONGTEXT (longtext):极大文本数据,最多 4,294,967,295 个字符

注:char(N)和varchar(N)这两个后面的参数是当前字符串能存储的最长字符串

char(N)如果没存满,则剩余空间用空格补位

varchar(N)会根据你存储的内容,计算占用的空间

差异:char(N)---------->性能好

varchar(N)------------>性能较差因为它会根据你存储的内容,计算占用的空间

应用:用户名用varchar(50) 性别用char(1)

3.4.3 日期时间类型
  • DATE日期值,3字节,格式为YYYY-MM-DD,范围是1000-01-01 至 9999-12-31

  • TIME时间值或持续时间,3字节,格式为HH:MM:SS,范围是-838:59:59 至 838:59:59

  • YEAR年份值,1字节,格式为YYYY,范围是1901 至 2155

  • DATETIME混合日期和时间值,8字节,格式为YYYY-MM-DD HH:MM:SS,范围是1000-01-01 00:00:00 至 9999-12-31 23:59:59

  • TIMESTAMP混合日期和时间值,时间戳,4字节,格式为YYYY-MM-DD HH:MM:SS,范围是1970-01-01 00:00:01 至 2038-01-19 03:14:07(timestamp)

3.5 DDL-表操作-修改

添加字段

  • ALTER TABLE 表名 ADD 字段名 类型(长度) [COMMENT 注释] [约束];//alter table

修改数据类型

  • ALTER TABLE 表名 MODIFY 字段名 新数据类型(长度);//alter table 表名 modify

修改字段名和字段类型

  • ALTER TABLE 表名 CHANGE 旧字段名 新字段名 类型(长度) [COMMENT 注释] [约束];//alter table 表名 change

删除字段

  • ALTER TABLE 表名 DROP 字段名;//alter table 表名 drop 字段名;

修改表名

  • ALTER TABLE 表名 RENAME TO 新表名;//alter table 表名 rename

3.6 DDL-表操作-删除

删除表

  • DROP TABLE [IF EXISTS] 表名; //drop table

删除指定表,并重新创建该表

  • TRUNCATE TABLE 表名;//truncate table

注意:在删除表时,无论上面哪种方法,表中的全部数据也会被删除

http://www.jsqmd.com/news/1077173/

相关文章:

  • PaperXie AI PPT 生成器:网页端一键出稿,学术答辩汇报不用再熬夜排版
  • 荷兰宏观经济运行现状与发展趋势
  • AlienFX Tools深度指南:从灯光控制到系统优化的全面解决方案
  • 2026年6月西安GEO优化公司实力排名
  • 3分钟掌握BilibiliDown:跨平台B站视频下载工具完全指南
  • 2026年6月大模型GEO优化合理收费趋势研判
  • 双自主智能体企业级架构落地指南:纯工具闭环的通用AI业务平台方案
  • 2026年AI论文写作软件深度评测:6款工具全流程得分排名
  • 如何告别网盘限速:这款开源工具的完整解决方案
  • Infoseek品牌公关,数字化全周期守护企业品牌声誉资产
  • 云生集团创始人、CEO李贤威出席上海青年企业家大会,分享云生AI Agent及WorkBP平台全球创新实践
  • 理解k8s源码之scheduler调度框架设计
  • Pyodide终极指南:在浏览器中运行Python的完整解决方案
  • 3个技巧让你彻底掌控Windows窗口:WindowResizer完全攻略
  • 少走弯路:2026年最值得信赖的专业AI论文网站
  • Voohu:网络变压器在高速以太网中的共模噪声回流路径与PCB地平面优化
  • 2026年图片去水印用什么工具?跟着步骤从在线网页到手机桌面一步步搞定
  • GPU平台服务质量全维度评测:谁才是真正可靠的“算力伙伴”?
  • 长文本审核踩坑实录:从OCR乱码到RAG精召回的实战经验
  • 终极指南:发现689款免费macOS开源应用,让你的Mac更强大![特殊字符]
  • Video2X:AI视频增强神器,4K超分辨率与智能插帧全解析
  • MuleSoft驱动的企业级AI编排:LLM如何安全嵌入核心业务流
  • 5分钟掌握NewTab Redirect:彻底告别Chrome无聊新标签页!
  • synchronized 和 ReentrantLock 到底差在哪——从底层扒到应用场景
  • RHEL8-9 RPM 全参数详解
  • MySQL - extra->>“$.multiple“用法详解
  • 【系统优化】C盘空间清理终极指南:8种方法从原理到实操
  • GLM-5.1深度集成Coding Plan:AI编码从API调用到开发动作的范式升级
  • Java毕设项目: 基于 SpringBoot+Java 的社区数字化治理中智慧物业综合运维系统设计与实现(源码+文档,讲解、调试运行,定制等)
  • 如何为Windows系统上的LG Ultrafine显示器实现专业级亮度控制