💖💖💖亲爱的朋友们,热烈欢迎你们来到 青云交的博客!能与你们在此邂逅,我满心欢喜,深感无比荣幸。在这个瞬息万变的时代,我们每个人都在苦苦追寻一处能让心灵安然栖息的港湾。而 我的博客,正是这样一个温暖美好的所在。在这里,你们不仅能够收获既富有趣味又极为实用的内容知识,还可以毫无拘束地畅所欲言,尽情分享自己独特的见解。我真诚地期待着你们的到来,愿我们能在这片小小的天地里共同成长,共同进步。💖💖💖
本博客的精华专栏:
- Java 大厂面试专栏系列:提供大厂面试的相关技巧和经验,助力求职。
- Java 性能优化传奇之旅:铸就编程巅峰之路:如一把神奇钥匙,深度开启 JVM 等关键领域之门。丰富案例似璀璨繁星,引领你踏上编程巅峰的壮丽征程。
- Java 虚拟机(JVM)专栏系列:深入剖析 JVM 的工作原理和优化方法。
- Java 技术栈专栏系列:全面涵盖 Java 相关的各种技术。
- Java 学习路线专栏系列:为不同阶段的学习者规划清晰的学习路径。
- JVM万亿性能密码:在数字世界的浩瀚星海中,JVM 如神秘宝藏,其万亿性能密码即将开启奇幻之旅。
- AI(人工智能)专栏系列:紧跟科技潮流,介绍人工智能的应用和发展趋势。
- 大数据新视界专栏系列:聚焦大数据,展技术应用,推动进步拓展新视野。
- 工具秘籍专栏系列:工具助力,开发如有神。
展望未来,我将持续深入钻研前沿技术,及时推出如人工智能和大数据等相关专题内容。同时,我会努力打造更加活跃的社区氛围,举办技术挑战活动和代码分享会,激发大家的学习热情与创造力。我也会加强与读者的互动,依据大家的反馈不断优化博客的内容和功能。此外,我还会积极拓展合作渠道,与优秀的博主和技术机构携手合作,为大家带来更为丰富的学习资源和机会。
我热切期待能与你们一同在这个小小的网络世界里探索、学习、成长。你们的每一次点赞、关注、评论、打赏和订阅专栏,都是对我最大的支持。让我们一起在知识的海洋中尽情遨游,共同打造一个充满活力与智慧的博客社区。✨✨✨
衷心地感谢每一位为我点赞、给予关注、留下真诚留言以及慷慨打赏的朋友,还有那些满怀热忱订阅我专栏的坚定支持者。你们的每一次互动,都犹如强劲的动力,推动着我不断向前迈进。倘若大家对更多精彩内容充满期待,欢迎添加我的微信:QingYunJiao。让我们携手并肩,一同踏上知识的广袤天地,去尽情探索。此刻,请立即访问我的主页吧,那里有更多的惊喜在等待着你。相信通过我们齐心协力的共同努力,这里必将化身为一座知识的璀璨宝库,吸引更多热爱学习、渴望进步的伙伴们纷纷加入,共同开启这一趟意义非凡的探索之旅,驶向知识的浩瀚海洋。让我们众志成城,在未来必定能够汇聚更多志同道合之人,携手共创知识领域的辉煌篇章
大数据新视界 --面向数据分析师的大数据大厂之 MySQL 基础秘籍:轻松创建数据库与表,踏入大数据殿堂
引言:
在现代软件开发和数据管理中,MySQL 作为一种广泛使用的关系型数据库管理系统,以其稳定性、可靠性和强大功能备受青睐。本文将详细介绍如何在 MySQL 中创建数据库和表。
正文:
MySQL 的强大功能使其在众多领域都有广泛应用。在开始创建数据库和表之前,我们先来了解一下安装 MySQL 的方法。
一、安装 MySQL
首先,确保你已经在你的系统上安装了 MySQL。你可以从 MySQL 官方网站下载适合你操作系统的安装包,并按照安装向导进行安装。安装完成后,你可以通过命令行或者图形化工具来连接到 MySQL 服务器。
1.1 使用命令行创建数据库
- 打开命令提示符或终端窗口,并输入以下命令来连接到 MySQL 服务器:
mysql -u username -p
其中,username
是你的 MySQL 用户名。系统会提示你输入密码。
- 连接成功后,你可以使用以下命令来创建数据库:
CREATE DATABASE database_name;
其中,database_name
是你要创建的数据库的名称。例如,要创建一个名为 qingyunjiao
的数据库,可以输入:
CREATE DATABASE qingyunjiao;
1.2 使用图形化工具创建数据库
- 如果你使用的是图形化工具,如 MySQL Workbench,你可以通过以下步骤创建数据库:
- 打开 MySQL Workbench,并连接到你的 MySQL 服务器。
- 在左侧的导航栏中,右键点击 “Schemas”,然后选择 “Create Schema”。
- 在弹出的对话框中,输入数据库的名称,并选择字符集和排序规则等选项。
- 点击 “Apply” 按钮,MySQL Workbench 将执行创建数据库的操作。
创建了数据库之后,我们需要选择该数据库才能在其中创建表。
二、选择数据库
- 你可以使用以下命令来选择数据库:
USE database_name;
其中,database_name
是你要选择的数据库的名称。例如,要选择名为 qingyunjiao
的数据库,可以输入:
USE qingyunjiao;
三、创建表
3.1 使用 SQL 语句创建表
- 在选择了数据库之后,你可以使用以下 SQL 语句来创建表:
CREATE TABLE table_name (
column1 datatype1,
column2 datatype2,
column3 datatype3,
...
);
其中,table_name
是你要创建的表的名称,column1
、column2
、column3
等是表中的列名,datatype1
、datatype2
、datatype3
等是列的数据类型。例如,要创建一个名为 users
的表,包含 id
、name
和 email
三个列,可以输入:
CREATE TABLE users (
id INT AUTO_INCREMENT PRIMARY KEY,
name VARCHAR(255),
email VARCHAR(255)
);
-
在上面的例子中,
id
列被定义为整数类型,并设置为自动递增的主键。name
和email
列被定义为可变长度的字符串类型。 -
具体操作步骤如下:
- 确定表的结构:明确表中需要哪些列,每个列的数据类型、长度、是否允许为空、是否为主键等。例如,对于一个学生信息表,可以有
student_id
(整数类型,主键,自动递增)、name
(字符串类型,长度为 50,不允许为空)、age
(整数类型)等列。 - 编写 SQL 语句:根据确定的表结构,编写 CREATE TABLE 语句。确保列名和数据类型的准确性。
- 执行 SQL 语句:在连接到 MySQL 服务器并选择了目标数据库后,执行编写好的 SQL 语句。可以在命令行中直接输入 SQL 语句并回车执行,或者使用图形化工具的 SQL 编辑器执行。
- 确定表的结构:明确表中需要哪些列,每个列的数据类型、长度、是否允许为空、是否为主键等。例如,对于一个学生信息表,可以有
-
数据类型详细介绍及选择建议:
-
整数类型:
INT
:标准整数类型,通常占用 4 个字节,可以存储从 -2147483648 到 2147483647 的整数。如果数据是标准的整数范围,如用户 ID、订单编号等,INT
是一个常见的选择。TINYINT
:微小整数类型,占用 1 个字节,可存储范围从 -128 到 127 的整数。例如,用于存储小型计数器或状态标志。SMALLINT
:小整数类型,占用 2 个字节,存储范围从 -32768 到 32767 的整数。可用于一些较小的数量或编号。BIGINT
:大整数类型,占用 8 个字节,可存储非常大的整数范围。当数据超出INT
范围时,如高精度的计数器或大型数据集中的唯一标识符,可以考虑使用BIGINT
。
-
字符串类型:
VARCHAR(n)
:可变长度字符串类型,其中n
表示最大长度。在确定最大长度时,要考虑到可能的最长值,避免设置过长的长度浪费存储空间。例如,存储用户的姓名、地址等。CHAR(n)
:固定长度字符串类型,n
表示字符串的长度。如果存储的字符串长度小于n
,会用空格填充。适用于固定长度的字符串,如性别(“男” 或 “女”)可以使用CHAR(2)
。TEXT
:用于存储较长的文本数据,长度可变。如文章内容、日志信息等。
-
日期和时间类型:
DATE
:用于存储日期,格式为 YYYY-MM-DD。例如,存储出生日期、订单日期等。TIME
:存储时间,格式为 HH:MM:SS。比如,存储会议时间、活动时间等。DATETIME
:存储日期和时间,格式为 YYYY-MM-DD HH:MM:SS。如果需要同时存储日期和时间,DATETIME
是一个合适的选择。TIMESTAMP
:时间戳类型,存储自 1970 年 1 月 1 日以来的秒数。通常用于记录数据的创建或修改时间,因为它会自动更新为当前时间戳。
-
浮点数类型:
FLOAT
:单精度浮点数类型。适用于存储一些近似的数值,如温度、湿度等。DOUBLE
:双精度浮点数类型。对于需要更高精度的浮点数,如科学计算中的数值,可以使用DOUBLE
。
-
在选择数据类型时,需要考虑以下因素:
- 数据的性质:根据数据的实际类型和范围选择合适的数据类型。例如,整数值选择整数类型,字符串选择字符串类型。
- 存储空间:不同的数据类型占用不同的存储空间。要考虑到数据的实际大小,避免使用过大的数据类型浪费存储空间。
- 性能影响:某些数据类型可能会对数据库的性能产生影响。例如,使用整数类型进行比较和计算通常比使用字符串类型更快。
- 准确性要求:如果数据需要高精度的存储,选择合适的浮点数类型或使用定点数类型(如
DECIMAL
)可以确保数据的准确性。对于需要精确存储的字符串数据,如身份证号码、电话号码等,要选择合适的字符串类型,并确保长度足够存储完整的数据。 - 业务场景:根据具体的业务场景来选择数据类型。例如,在电商系统中,订单编号可能需要使用整数类型,而商品描述可能需要使用字符串类型。
- 数据来源和格式:如果数据来自外部系统,要考虑外部系统的数据类型和格式,并选择与之兼容的数据类型。对于一些特定格式的数据,如日期、时间、IP 地址等,可以选择专门的数据类型来存储,以提高数据的准确性和查询性能。
-
3.2 使用图形化工具创建表
- 如果你使用的是图形化工具,如 MySQL Workbench,你可以通过以下步骤创建表:
- 在左侧的导航栏中,选择你要创建表的数据库。
- 右键点击该数据库,然后选择 “Table Data Import Wizard” 或 “Create Table”。
- 如果选择 “Table Data Import Wizard”,你可以按照向导的提示导入数据并创建表。如果选择 “Create Table”,你可以在弹出的对话框中输入表的名称和列的信息。
- 在输入列的信息时,你可以选择列的数据类型、长度、是否允许为空、是否为主键等选项。例如,对于一个整数类型的列,可以设置其是否自动递增;对于一个字符串类型的列,可以设置其长度和是否允许为空。
- 点击 “Apply” 按钮,MySQL Workbench 将执行创建表的操作。
案例分析:
假设我们正在开发一个电商系统,需要创建一个商品表。商品表可能包含商品 ID、商品名称、价格、库存数量等字段。在选择数据类型时,我们可以考虑以下几点:
- 商品 ID:由于商品 ID 通常是唯一的整数,可以选择
INT
类型,并设置为主键和自动递增。 - 商品名称:商品名称是可变长度的字符串,长度可能不确定,因此可以选择
VARCHAR(255)
类型。 - 价格:价格通常是浮点数,可以选择
DECIMAL(10,2)
类型,以确保精度。 - 库存数量:库存数量是整数,可以选择
INT
类型。
通过这个案例,我们可以看到在实际项目中如何根据业务需求选择合适的数据类型。
最佳实践与注意事项:
- 命名规范:为数据库和表选择有意义且简洁的名称,避免使用过长或复杂的名称。同时,遵循一定的命名规范,如使用小写字母、下划线分隔单词等,以提高可读性和可维护性。
- 避免命名冲突:在创建数据库和表时,要注意避免与其他数据库或表的名称冲突。可以在命名时添加特定的前缀或后缀,以区分不同的项目或模块。
- 优化表结构:在设计表结构时,要考虑数据的存储和查询需求,尽量减少冗余数据。例如,可以将重复出现的数据存储在单独的表中,并通过外键关联起来。
- 考虑索引的使用:对于经常查询的列,可以考虑创建索引,以提高查询速度。但要注意,过多的索引会占用额外的存储空间,并可能影响插入和更新操作的性能。
- 设置约束:可以为表中的列设置约束,如唯一约束、非空约束等,以确保数据的合法性和完整性。例如,对于商品表中的商品 ID 列,可以设置唯一约束,确保每个商品都有唯一的标识符。
四、查看数据库和表
4.1 使用 SQL 语句查看数据库和表
- 要查看当前连接的数据库中的所有表,可以使用以下命令:
SHOW TABLES;
- 要查看某个表的结构,可以使用以下命令:
DESCRIBE table_name;
其中,table_name
是你要查看结构的表的名称。
4.2 使用图形化工具查看数据库和表
- 如果你使用的是图形化工具,如 MySQL Workbench,你可以在左侧的导航栏中查看数据库和表的列表。
- 选择一个表后,你可以在右侧的窗口中查看表的结构、数据和其他信息。
结束语:
在 MySQL 中创建数据库和表是数据库管理的基本操作。通过使用 SQL 语句或图形化工具,你可以轻松地创建数据库和表,并根据需要进行修改和管理。在创建表时,要仔细考虑列的数据类型、长度、是否允许为空、是否为主键等选项,以确保表的结构合理、高效。同时,要注意数据库的安全性和备份策略,以防止数据丢失和损坏。希望本文对你在 MySQL 中创建数据库和表有所帮助。
此外,对于一些高级特性,如索引、约束等,可以在创建表时进行设置,以提高数据库的性能和数据的完整性。例如,可以为经常查询的列创建索引,以加快查询速度;可以设置约束,如唯一约束、非空约束等,以确保数据的合法性。在实际应用中,可以根据具体需求进行选择和设置。
大家在学习和实践 MySQL 创建数据库和表的过程中有哪些有趣的发现或者遇到了哪些问题呢?欢迎在评论区或CSDN社区分享交流,让我们一起共同进步。
- 大数据新视界–大数据大厂之Java 与大数据携手:打造高效实时日志分析系统的奥秘(最新)
- 全栈性能优化秘籍–Linux 系统性能调优全攻略:多维度优化技巧大揭秘(最新)
- 大数据新视界–大数据大厂之MySQL数据库课程设计:揭秘 MySQL 集群架构负载均衡核心算法:从理论到 Java 代码实战,让你的数据库性能飙升!(最新)
- 大数据新视界–大数据大厂之MySQL数据库课程设计:MySQL集群架构负载均衡故障排除与解决方案(最新)
- 解锁编程高效密码:四大工具助你一飞冲天!(最新)
- 大数据新视界–大数据大厂之MySQL数据库课程设计:MySQL数据库高可用性架构探索(2-1)(最新)
- 大数据新视界–大数据大厂之MySQL数据库课程设计:MySQL集群架构负载均衡方法选择全攻略(2-2)(最新)
- 大数据新视界–大数据大厂之MySQL数据库课程设计:MySQL 数据库 SQL 语句调优方法详解(2-1)(最新)
- 大数据新视界–大数据大厂之MySQL 数据库课程设计:MySQL 数据库 SQL 语句调优的进阶策略与实际案例(2-2)(最新)
- 大数据新视界–大数据大厂之MySQL 数据库课程设计:数据安全深度剖析与未来展望(最新)
- 大数据新视界–大数据大厂之MySQL 数据库课程设计:开启数据宇宙的传奇之旅(最新)
- 大数据新视界–大数据大厂之大数据时代的璀璨导航星:Eureka 原理与实践深度探秘(最新)
- Java性能优化传奇之旅–Java万亿级性能优化之Java 性能优化逆袭:常见错误不再是阻碍(最新)
- Java性能优化传奇之旅–Java万亿级性能优化之Java 性能优化传奇:热门技术点亮高效之路(最新)
- Java性能优化传奇之旅–Java万亿级性能优化之电商平台高峰时段性能优化:多维度策略打造卓越体验(最新)
- Java性能优化传奇之旅–Java万亿级性能优化之电商平台高峰时段性能大作战:策略与趋势洞察(最新)
- JVM万亿性能密码–JVM性能优化之JVM 内存魔法:开启万亿级应用性能新纪元(最新)
- 十万流量耀前路,成长感悟谱新章(最新)
- AI 模型:全能与专精之辩 —— 一场科技界的 “超级大比拼”(最新)
- 国产游戏技术:挑战与机遇(最新)
- Java面试题–JVM大厂篇之JVM大厂面试题及答案解析(10)(最新)
- Java面试题–JVM大厂篇之JVM大厂面试题及答案解析(9)(最新)
- Java面试题–JVM大厂篇之JVM大厂面试题及答案解析(8)(最新)
- Java面试题–JVM大厂篇之JVM大厂面试题及答案解析(7)(最新)
- Java面试题–JVM大厂篇之JVM大厂面试题及答案解析(6)(最新)
- Java面试题–JVM大厂篇之JVM大厂面试题及答案解析(5)(最新)
- Java面试题–JVM大厂篇之JVM大厂面试题及答案解析(4)(最新)
- Java面试题–JVM大厂篇之JVM大厂面试题及答案解析(3)(最新)
- Java面试题–JVM大厂篇之JVM大厂面试题及答案解析(2)(最新)
- Java面试题–JVM大厂篇之JVM大厂面试题及答案解析(1)(最新)
- Java 面试题 ——JVM 大厂篇之 Java 工程师必备:顶尖工具助你全面监控和分析 CMS GC 性能(2)(最新)
- Java面试题–JVM大厂篇之Java工程师必备:顶尖工具助你全面监控和分析CMS GC性能(1)(最新)
- Java面试题–JVM大厂篇之未来已来:为什么ZGC是大规模Java应用的终极武器?(最新)
- AI 音乐风暴:创造与颠覆的交响(最新)
- 编程风暴:勇破挫折,铸就传奇(最新)
- Java面试题–JVM大厂篇之低停顿、高性能:深入解析ZGC的优势(最新)
- Java面试题–JVM大厂篇之解密ZGC:让你的Java应用高效飞驰(最新)
- Java面试题–JVM大厂篇之掌控Java未来:深入剖析ZGC的低停顿垃圾回收机制(最新)
- GPT-5 惊涛来袭:铸就智能新传奇(最新)
- AI 时代风暴:程序员的核心竞争力大揭秘(最新)
- Java面试题–JVM大厂篇之Java新神器ZGC:颠覆你的垃圾回收认知!(最新)
- Java面试题–JVM大厂篇之揭秘:如何通过优化 CMS GC 提升各行业服务器响应速度(最新)
- “低代码” 风暴:重塑软件开发新未来(最新)
- 程序员如何平衡日常编码工作与提升式学习?–编程之路:平衡与成长的艺术(最新)
- 编程学习笔记秘籍:开启高效学习之旅(最新)
- Java面试题–JVM大厂篇之高并发Java应用的秘密武器:深入剖析GC优化实战案例(最新)
- Java面试题–JVM大厂篇之实战解析:如何通过CMS GC优化大规模Java应用的响应时间(最新)
- Java面试题–JVM大厂篇(1-10)
- Java面试题–JVM大厂篇之Java虚拟机(JVM)面试题:涨知识,拿大厂Offer(11-20)
- Java面试题–JVM大厂篇之JVM面试指南:掌握这10个问题,大厂Offer轻松拿
- Java面试题–JVM大厂篇之Java程序员必学:JVM架构完全解读
- Java面试题–JVM大厂篇之以JVM新特性看Java的进化之路:从Loom到Amber的技术篇章
- Java面试题–JVM大厂篇之深入探索JVM:大厂面试官心中的那些秘密题库
- Java面试题–JVM大厂篇之高级Java开发者的自我修养:深入剖析JVM垃圾回收机制及面试要点
- Java面试题–JVM大厂篇之从新手到专家:深入探索JVM垃圾回收–开端篇
- Java面试题–JVM大厂篇之Java性能优化:垃圾回收算法的神秘面纱揭开!
- Java面试题–JVM大厂篇之揭秘Java世界的清洁工——JVM垃圾回收机制
- Java面试题–JVM大厂篇之掌握JVM性能优化:选择合适的垃圾回收器
- Java面试题–JVM大厂篇之深入了解Java虚拟机(JVM):工作机制与优化策略
- Java面试题–JVM大厂篇之深入解析JVM运行时数据区:Java开发者必读
- Java面试题–JVM大厂篇之从零开始掌握JVM:解锁Java程序的强大潜力
- Java面试题–JVM大厂篇之深入了解G1 GC:大型Java应用的性能优化利器
- Java面试题–JVM大厂篇之深入了解G1 GC:高并发、响应时间敏感应用的最佳选择
- Java面试题–JVM大厂篇之G1 GC的分区管理方式如何减少应用线程的影响
- Java面试题–JVM大厂篇之深入解析G1 GC——革新Java垃圾回收机制
- Java面试题–JVM大厂篇之深入探讨Serial GC的应用场景
- Java面试题–JVM大厂篇之Serial GC在JVM中有哪些优点和局限性
- Java面试题–JVM大厂篇之深入解析JVM中的Serial GC:工作原理与代际区别
- Java面试题–JVM大厂篇之通过参数配置来优化Serial GC的性能
- Java面试题–JVM大厂篇之深入分析Parallel GC:从原理到优化
- Java面试题–JVM大厂篇之破解Java性能瓶颈!深入理解Parallel GC并优化你的应用
- Java面试题–JVM大厂篇之全面掌握Parallel GC参数配置:实战指南
- Java面试题–JVM大厂篇之Parallel GC与其他垃圾回收器的对比与选择
- Java面试题–JVM大厂篇之Java中Parallel GC的调优技巧与最佳实践
- Java面试题–JVM大厂篇之JVM监控与GC日志分析:优化Parallel GC性能的重要工具
- Java面试题–JVM大厂篇之针对频繁的Minor GC问题,有哪些优化对象创建与使用的技巧可以分享?
- Java面试题–JVM大厂篇之JVM 内存管理深度探秘:原理与实战
- Java面试题–JVM大厂篇之破解 JVM 性能瓶颈:实战优化策略大全
- Java面试题–JVM大厂篇之JVM 垃圾回收器大比拼:谁是最佳选择
- Java面试题–JVM大厂篇之从原理到实践:JVM 字节码优化秘籍
- Java面试题–JVM大厂篇之揭开CMS GC的神秘面纱:从原理到应用,一文带你全面掌握
- Java面试题–JVM大厂篇之JVM 调优实战:让你的应用飞起来
- Java面试题–JVM大厂篇之CMS GC调优宝典:从默认配置到高级技巧,Java性能提升的终极指南
- Java面试题–JVM大厂篇之CMS GC的前世今生:为什么它曾是Java的王者,又为何将被G1取代
- Java就业-学习路线–突破性能瓶颈: Java 22 的性能提升之旅
- Java就业-学习路线–透视Java发展:从 Java 19 至 Java 22 的飞跃
- Java就业-学习路线–Java技术:2024年开发者必须了解的10个要点
- Java就业-学习路线–Java技术栈前瞻:未来技术趋势与创新
- Java就业-学习路线–Java技术栈模块化的七大优势,你了解多少?
- Spring框架-Java学习路线课程第一课:Spring核心
- Spring框架-Java学习路线课程:Spring的扩展配置
- Springboot框架-Java学习路线课程:Springboot框架的搭建之maven的配置
- Java进阶-Java学习路线课程第一课:Java集合框架-ArrayList和LinkedList的使用
- Java进阶-Java学习路线课程第二课:Java集合框架-HashSet的使用及去重原理
- JavaWEB-Java学习路线课程:使用MyEclipse工具新建第一个JavaWeb项目(一)
- JavaWEB-Java学习路线课程:使用MyEclipse工具新建项目时配置Tomcat服务器的方式(二)
- Java学习:在给学生演示用Myeclipse10.7.1工具生成War时,意外报错:SECURITY: INTEGRITY CHECK ERROR
- 使用Jquery发送Ajax请求的几种异步刷新方式
- Idea Springboot启动时内嵌tomcat报错- An incompatible version [1.1.33] of the APR based Apache Tomcat Native
- Java入门-Java学习路线课程第一课:初识JAVA
- Java入门-Java学习路线课程第二课:变量与数据类型
- Java入门-Java学习路线课程第三课:选择结构
- Java入门-Java学习路线课程第四课:循环结构
- Java入门-Java学习路线课程第五课:一维数组
- Java入门-Java学习路线课程第六课:二维数组
- Java入门-Java学习路线课程第七课:类和对象
- Java入门-Java学习路线课程第八课:方法和方法重载
- Java入门-Java学习路线扩展课程:equals的使用
- Java入门-Java学习路线课程面试篇:取商 / 和取余(模) % 符号的使用
加入知识星球【青云交技术栈 AI 特训营】,一起实现技术飞跃
关注微信号【QingYunJiao】,备注“Mysql优化”获取【MySQL实战优化高手】相关资料。
关注公众号【青云交】,回复 “Mysql”,即可获取 Mysql 最新资讯。让我们一起交流探讨,共同进步!