“分类:MySQL”的版本间差异

来自Wikioe
跳到导航 跳到搜索
无编辑摘要
 
(未显示同一用户的20个中间版本)
第2行: 第2行:
<div align="center"><span style="color:Chocolate; font-weight:bold; font-size:150%;">MySQL笔记本</span></div>
<div align="center"><span style="color:Chocolate; font-weight:bold; font-size:150%;">MySQL笔记本</span></div>


== 笔记目录及相关 ==
== 关于 ==
MySQL 是最流行的关系型数据库管理系统,在 WEB 应用方面 MySQL 是最好的 '''RDBMS'''(Relational Database Management System:关系数据库管理系统)应用软件之一。


MySQL 是最流行的关系型数据库管理系统,在 WEB 应用方面 MySQL 是最好的 '''RDBMS'''(Relational Database Management System:关系数据库管理系统)应用软件之一。
=== 社区版 与 企业版 ===
 
MySQL 各个版本区别:
 
学习MySQL:
# 做业务,要懂基本的SQL语句;
# 做性能优化,要懂索引,懂引擎;
# 做分库分表,要懂主从,懂读写分离...
 
 
* <big>'''相关文档参见MySQL中文文档:'''</big><div align="center"><span style="color:Chocolate; font-weight:bold; font-size:150%;">[https://www.docs4dev.com/docs/zh/mysql/5.7/reference/introduction.html MySql 中文文档]</span></div>
 
== 想要了解MySQL ==
 
=== 关于MySQL社区及企业版 ===
MySQL各个版本区别:
# MySQL Community Server 社区版本,开源免费,但不提供官方技术支持。
# MySQL Community Server 社区版本,开源免费,但不提供官方技术支持。
# MySQL Enterprise Edition 企业版本,需付费,可以试用30天。
# MySQL Enterprise Edition 企业版本,需付费,可以试用30天。
第24行: 第12行:
# MySQL Cluster CGE 高级集群版,需付费。
# MySQL Cluster CGE 高级集群版,需付费。


=== 关于MySQL大版本5.7与8 ===
=== 大版本:5.7 与 8 ===
语法上区别不大,但是在一些特性上有较大升级,如:数据库引擎、加密方法、数据库特性等。<br/>
语法上区别不大,但是在一些特性上有较大升级,如:数据库引擎、加密方法、数据库特性等。
* 见:“'''[[Mysql5.7与8]]'''”
* 见:“'''[[Mysql5.7与8]]'''”


=== 关于在Linux上使用MySQL ===
=== 在Linux上使用MySQL ===
对于在 Linux/UNIX 上使用 MySQL:<br/>
Linux平台上推荐使用 '''RPM''' 包来安装 Mysql,MySQL AB 提供了以下 RPM包 的下载地址:
Linux平台上推荐使用RPM包来安装Mysql,MySQL AB提供了以下RPM包的下载地址:
# '''MySQL''':MySQL 服务器。你需要该选项,除非你只想连接运行在另一台机器上的 MySQL 服务器。
# MySQL:MySQL服务器。你需要该选项,除非你只想连接运行在另一台机器上的MySQL服务器。
# '''MySQL-client''':MySQL 客户端程序,用于连接并操作 Mysql 服务器。
# MySQL-client:MySQL 客户端程序,用于连接并操作Mysql服务器。
# '''MySQL-devel''':库和包含文件,如果你想要编译其它 MySQL 客户端,例如 Perl 模块,则需要安装该 RPM 包。
# MySQL-devel:库和包含文件,如果你想要编译其它MySQL客户端,例如Perl模块,则需要安装该RPM包。
# '''MySQL-shared''':该软件包包含某些语言和应用程序需要动态装载的共享库(libmysqlclient.so*),使用 MySQL。
# MySQL-shared:该软件包包含某些语言和应用程序需要动态装载的共享库(libmysqlclient.so*),使用MySQL。
# '''MySQL-bench''':MySQL 数据库服务器的基准和性能测试工具。
# MySQL-bench:MySQL数据库服务器的基准和性能测试工具。
 
== 笔记 ==
学习MySQL:
# 做业务,要懂基本的SQL语句;
# 做性能优化,要懂索引,懂引擎;
# 做分库分表,要懂主从,懂读写分离...


=== 关于MySQL的错误信息 ===
=== 错误信息 ===
任何程序软件的使用过程中,错误信息的收集使用都是不可或缺的一环,见“[[MySQL的错误记录]]”
任何程序软件的使用过程中,错误信息的收集使用都是不可或缺的一环,见“[[MySQL的错误记录]]”


第47行: 第40行:
*# “[[MySQL:Client端程序]]”
*# “[[MySQL:Client端程序]]”


== 想要做业务 ==
=== 其他 ===
=== 字符集,排序规则 和 Unicode ===
# “[[MySQL日志分类及简介]]”
<pre>
#* “[[逻辑日志与物理日志]]”
MySQL 提供了字符集支持,使您可以使用各种字符集存储数据并根据各种归类进行比较。默认的 MySQL 服务器字符集和排序规则是“latin1”和“latin1_swedish_ci”,但是您可以在服务器,数据库,表,列和字符串常量级别指定字符集。
# “[[索引:索引使用、索引失效]]”
 
# “[[子查询及连接]]”
字符集问题不仅影响数据存储,还影响 Client 端程序与 MySQL 服务器之间的通信。如果希望 Client 端程序使用与默认字符集不同的字符集与服务器通信,则需要指出哪个字符集。
#  
例如,要使用 utf8 Unicode 字符集,请在连接到服务器后发出以下语句:
# “[[InnoDB的关键特性]]”
    SET NAMES 'utf8';
# “[[MySQL 集群]]”
</pre>
# “[[MySQL 分库分表]]”
 
字符集('''Character Set''')是一组符号和编码。排序规则('''Collation''')是一组用于比较字符集中的字符的规则。
 
 
MySQL 对字符集、排序规则的支持:
# 使用各种字符集存储字符串。
# 使用各种排序规则比较字符串。
# 在同一服务器,同一数据库甚至同一表中混合使用具有不同字符集或排序规则的字符串。
# 在任何级别启用字符集和排序规则的规范。
 
 
* 见:
*# “[[MySQL 中的字符集和排序规则]]”
*# “[[MySQL 字符集:指定字符集和排序规则]]”
*# “[[MySQL 字符集:连接字符集和排序规则]]”
*# “[[MySQL 字符集:错误消息字符集]]”
*# “[[MySQL 字符集:列字符集转换]]”
*# “[[MySQL 字符集:排序规则问题]]”
*# “[[MySQL 字符集:Unicode 支持]]”
*# “[[MySQL 字符集:支持的字符集和排序规则]]”
*# “[[MySQL 字符集:添加字符集]]”【略】
*# “[[MySQL 字符集:向字符集添加排序规则]]”【略】
*# “[[MySQL 字符集:字符集配置]]”
*# “[[MySQL 字符集:MySQL 服务器区域设置支持]]”
 
* 另见:
*: “[[中文字符集及排序]]”
 
=== 关于“数据类型” ===
MySQL 支持以下几种类别的SQL数据类型:数字类型,日期和时间类型,字符串(字符和字节)类型,空间类型和JSON数据类型。
 
数据类型描述使用以下约定:
# 对于整数类型,“'''M'''”表示最大显示宽度。对于浮点和定点类型,“M”是可以存储的总位数(精度)。对于字符串类型,“M”是最大长度。“M”的最大允许值取决于数据类型。
# “'''D'''”适用于浮点和定点类型,并表示小数点后的位数(小数位数)。可能的最大值为 30,但不应大于“M-2”。
# “'''fsp'''”适用于TIME,DATETIME和TIMESTAMP类型,并表示小数秒精度;也就是说,小数点后的位数是秒的小数部分。“fsp”的值(如果给定)必须在 0 到 6 的范围内。值 0 表示没有小数部分。如果省略,则默认精度为 0。【这与标准 SQL 的默认值 6 不同,以便与以前的 MySQL 版本兼容】
# 方括号“'''['''”和“''']'''”指示类型定义的可选部分。
 
* 见:
*# “[[MySQL 数据类型:数值数据类型]]”
*# “[[MySQL 数据类型:日期和时间数据类型]]”
*# “[[MySQL 数据类型:字符串数据类型]]”
*# “[[MySQL 数据类型:空间数据类型]]”
*# “[[MySQL 数据类型:JSON 数据类型]]”
*# “[[MySQL 数据类型:数据类型默认值]]”
*# “[[MySQL 数据类型:数据类型存储要求]]”
*# “[[MySQL 数据类型:使用其他数据库引擎中的数据类型]]”
 
=== 函数和运算符 ===
可以在SQL语句中的多个点使用表达式,例如“SELECT”语句的“ORDER BY”或“HAVING”子句;“SELECT”,“DELETE”或“UPDATE”语句的“WHERE”子句或“SET”语句。可以使用字符值,列值,NULL,内置函数,存储函数,用户定义的函数和运算符来编写表达式。
* 默认情况下,函数名称和其后的括号之间必须没有空格。这有助于 MySQL 解析器区分函数调用和对与函数名称相同的 table 或列的引用。但是,函数参数周围可以有空格。
*: 可以通过使用“'''--sql-mode=IGNORE_SPACE'''”选项启动 MySQL 服务器,以使其接受函数名称后的空格。
*: 各个 Client 端程序可以通过使用“mysql_real_connect()”的“CLIENT_IGNORE_SPACE”选项来请求此行为。
* 见:
*# “[[MySQL 函数和运算符参考]]”【!!!】
*# “[[MySQL 函数和运算符:表达式赋值中的类型转换]]”
*# “[[MySQL 函数和运算符:运算符]]”
*# “[[MySQL 函数和运算符:控制流函数]]”
*# “[[MySQL 函数和运算符:数值函数和运算符]]”
*# “[[MySQL 函数和运算符:日期和时间功能]]”【略,太多了】
*# “[[MySQL 函数和运算符:字符串函数和运算符]]”【略,太多了】
*# “[[MySQL 函数和运算符:全文搜索功能]]”【???】
*# “[[MySQL 函数和运算符:转换函数和运算符]]”
*# “[[MySQL 函数和运算符:XML 函数]]”【略,太多了】
*# “[[MySQL 函数和运算符:位函数和运算符]]”
*# “[[MySQL 函数和运算符:加密和压缩功能]]”【略,太多了】
*# “[[MySQL 函数和运算符:锁函数]]”
*# “[[MySQL 函数和运算符:信息函数]]”
*# “[[MySQL 函数和运算符:空间分析函数]]”【略,太多了】
*# “[[MySQL 函数和运算符:JSON 函数]]”【略,太多了】
*# “[[MySQL 函数和运算符:与全局事务标识符(GTID)一起使用的函数]]”【???】
*# “[[MySQL 函数和运算符:MySQL 企业加密功能]]”【???】
*# “[[MySQL 函数和运算符:汇总函数]]”
*# “[[MySQL 函数和运算符:其他函数]]”
*# “[[MySQL 函数和运算符:精确计算]]”
 
=== SQL 语句 ===
 
* 见:
*# “[[MySQL 语句:数据定义语句(DDL)]]”
*#* “[[MySQL 语句:数据定义语句(DDL):“ALTER TABLE”语句]]”
*#* “[[MySQL 语句:数据定义语句(DDL):“CREATE INDEX”语句]]”
*#* “[[MySQL 语句:数据定义语句(DDL):“CREATE TABLE”语句]]”
*#* “[[MySQL 语句:数据定义语句(DDL):“CREATE TABLESPACE”语句]]”
*# “[[MySQL 语句:数据处理语句(DML)]]”
*#* “[[MySQL 语句:数据处理语句(DML):LOAD DATA 语句]]”
*#* “[[MySQL 语句:数据处理语句(DML):SELECT 语句]]”
*#* “[[MySQL 语句:数据处理语句(DML):子查询]]”
*# “[[MySQL 语句:事务和锁定声明]]”
*# “[[MySQL 语句:复制语句]]”
*# “[[MySQL 语句:预备语句]]”
*# “[[MySQL 语句:复合语句]]”
*# “[[MySQL 语句:数据库管理语句]]”
*# “[[MySQL 语句:工具语句]]”
 
== 想要做性能优化 ==
 
=== 关于MySQL的存储引擎 ===
 
 
 
=== 关于MySQL的索引 ===
 
 
 
== 想要分库分表 ==
 
=== 关于“集群” ===
 
 
=== 关于“” ===
 
 
=== 关于“” ===
 
 
=== 关于“” ===
 


=== 关于“” ===
== 参考 ==
* <span style="color:Chocolate; font-weight:bold; font-size:120%;">[https://www.docs4dev.com/docs/zh/mysql/5.7/reference/introduction.html MySql 中文文档]</span>
* [[MySQL 知识点概览及总结]]

2023年3月31日 (五) 23:02的最新版本

MySQL笔记本

关于

MySQL 是最流行的关系型数据库管理系统,在 WEB 应用方面 MySQL 是最好的 RDBMS(Relational Database Management System:关系数据库管理系统)应用软件之一。

社区版 与 企业版

MySQL 各个版本区别:

  1. MySQL Community Server 社区版本,开源免费,但不提供官方技术支持。
  2. MySQL Enterprise Edition 企业版本,需付费,可以试用30天。
  3. MySQL Cluster 集群版,开源免费。可将几个MySQL Server封装成一个Server。
  4. MySQL Cluster CGE 高级集群版,需付费。

大版本:5.7 与 8

语法上区别不大,但是在一些特性上有较大升级,如:数据库引擎、加密方法、数据库特性等。

在Linux上使用MySQL

Linux平台上推荐使用 RPM 包来安装 Mysql,MySQL AB 提供了以下 RPM包 的下载地址:

  1. MySQL:MySQL 服务器。你需要该选项,除非你只想连接运行在另一台机器上的 MySQL 服务器。
  2. MySQL-client:MySQL 客户端程序,用于连接并操作 Mysql 服务器。
  3. MySQL-devel:库和包含文件,如果你想要编译其它 MySQL 客户端,例如 Perl 模块,则需要安装该 RPM 包。
  4. MySQL-shared:该软件包包含某些语言和应用程序需要动态装载的共享库(libmysqlclient.so*),使用 MySQL。
  5. MySQL-bench:MySQL 数据库服务器的基准和性能测试工具。

笔记

学习MySQL:

  1. 做业务,要懂基本的SQL语句;
  2. 做性能优化,要懂索引,懂引擎;
  3. 做分库分表,要懂主从,懂读写分离...

错误信息

任何程序软件的使用过程中,错误信息的收集使用都是不可或缺的一环,见“MySQL的错误记录

mysqld 与 mysql

  1. mysqld:是后台服务程序,即mysql服务器,是一个服务。(其中的“d”为“daemon”意“守护进程”)
  2. mysql:是一个交互式输入sql语句或从sql文件批处理它们的一个命令行工具,相当于一个客户端软件,可以对服务端mysqld发起连接。

其他

  1. MySQL日志分类及简介
  2. 索引:索引使用、索引失效
  3. 子查询及连接
  4. InnoDB的关键特性
  5. MySQL 集群
  6. MySQL 分库分表

参考