首页 > 编程知识 正文

数据库图片的数据类型,mysql数据库

时间:2023-05-03 18:28:22 阅读:40046 作者:2260

关于存储引擎

存储引擎是MySQL数据库管理系统的重要特征之一,在具体开发时,为了提高MySQL数据库管理系统的使用效率和灵活性,可以

选择存储引擎的实际需求。 因为存储引擎指定表的类型,如如何存储数据、如何编制索引以及是否支持事务,而存储引擎则决定是否计算表

飞机内的存储方式。

用户在选择存储引擎之前,必须确定数据库管理系统支持的存储引擎。

SQL语句: show engines;

为了容易看到,我们通常这样写。 show engines G

*选择版本(; 显示MySQL数据库管理系统的版本信息

运行结果显示,MySQL 5.6支持9种存储引擎,分别为FEDERATED、MRG_MYISAM、MyISAM、BLACKHOLE、CSV、MEMORY、ARCHIVE、inoddom

其中Engine参数表示存储引擎名称。 Support参数指示MySQL数据库管理系统是否支持存储引擎,值YES表示支持,NO表示不支持,值DEFAULT表示DBMS默认支持

Comment参数表示有关存储引擎的注释。 Transactions参数指示存储引擎是否支持事务,是表示支持,否表示不支持。 XA参数指示存储引擎支持的分布式是否符合XA规范,是表示支持。

o表示不支持; Savepoints参数指示存储引擎是否支持事务中的保存点,是表示支持,否表示不支持

要执行SQL语句,请执行';' 可以使用,“g”和“g”符号表示语句的结尾。 前两个符号的作用相同,G不仅可以表示语句结束,还可以使结果显示得更漂亮

在MySQL数据库管理系统中,可以使用show engines查看支持的存储引擎,也可以使用show variables查看支持的存储引擎

SQL:show variables like 'have% ';

Variable_name参数表示存储引擎的名称。 Value参数指示MySQL数据库管理系统是否支持此存储引擎,是表示支持,否表示不支持,禁用表示支持但未打开

使用默认存储引擎

在刚才的研究中,我们发现MySQL 5.6数据库管理系统的默认存储引擎是InnoDB。 在数据库管理系统中,是否可以更改默认存储引擎? 让我们看看默认存储引擎的行为

1、查询默认存储引擎

要操作默认存储引擎,首先要验证默认存储引擎是什么。 执行SQL语句show variables以显示默认存储引擎

SQL:showvariableslike ' storage _ engine % '; #like关键字为“storage_engine%”表示查询默认存储引擎

根据运行结果,默认的存储引擎是InnoDB

2、修改默认存储引擎

在MySQL数据库管理系统中,如果需要更改默认的存储引擎,可以使用两种方法:向导方法和手动修改配置文件

要在向导中更改默认存储引擎,必须在图形实例配置向导中选择默认存储引擎。 建议手动更改配置文件

如果手动更改配置文件以更改默认存储引擎,则必须更改MySQL数据库管理系统配置文件my.ini。 步骤如下。

a、修改[mysqld]组的默认存储引擎参数

b、重新启动MySQL服务

3、选择存储引擎

在具体使用MySQL数据库管理系统时,选择合适的存储引擎是一个非常复杂的问题。 每个存储引擎都有自己的特性、优势和APP应用程序,因此不能自由选择存储引擎。

以下是一些常见的存储引擎。 特征请参照下表

MyISAM存储引擎:不支持事务,也不支持外键,因此访问速度很快。 因此,此存储引擎非常适合不要求事务完整性且以访问为中心的APP应用程序

InnoDB存储引擎比MyISAM存储引擎占用更多的磁盘空间,因为它具有支持事务安装、提交、回滚和崩溃恢复功能

因此,此存储引擎非常适合需要并发控制的APP应用程序,因为它需要频繁的更新和删除操作,而且还要求事务的完整性

内存存储引擎:存储引擎使用内存存储数据,因此对存储引擎的数据访问速度很快,但不保证安全。 如果与APP应用程序相关的数据很小,则必须进行

最适合此存储引擎的快速访问

数据类型

在MySQL DBMS中,存储引擎可以确定表的类型,并确定表的存储方式。 同时MySQL DBM

S也提供了数据类型来决定表存储数据的类型。MySQL DBMS提供了

整数类型、浮点数类型、定点数类型和位类型、日期和时间类型、字符串类型

1、整数类型

MySQL DBMS除了支持标准SQL中的所有证书类型(SMALLINT和INT)外,还进行了相应的扩展。扩展后增加了TINYINT、MEDIUMINT和BIGINT类型

下表是各种整数类型的特性

在具体使用MySQL DBMS时,如果需要存储整数类型数据,则可以选择上述的整数类型,至于选择哪一个,首先需要判断存储证书数据的取值范围,当不超过

255时,那选择TINYINT类型就足够了。虽然BIGINT类型的取值范围最大,最常用的证书类型却是INT。

如果无法区分各个整数类型的表示范围,可以通过查看MySQL的系统帮助查看相关信息。

查看帮助信息

help contents可以查看MySQL帮助文档支持的目录列表,然后根据需要查看的条目选择查看。

2、浮点数类型、定点数类型和位类型

MySQL DBMS除了支持标准SQL中所有的浮点类型(FLOAT和DOUBLE)、定点数类型(DEC)外,还进行了相应扩展。扩展后增加了位类型(BIT)

在具体使用时,如果需要存储小数数据,则可以选择FLOAT和DOUBLE类型,如何选择需要判断存储小数数据需要精确的小数位数,当需要精确到小数点后10位

就需要选择DOUBLE类型

存储小数数据,除了可以使用FLOAT和DOUBLE类型外,还可以选择DEC和DECIMAL类型,当要求小数数据精度非常高时,可以选择DEC和DECIMAL类型,它们

的精确度比DOUBLE类型还要高

FLOAT、DOUBLE数据类型存储数据时存储的是近似值,而DECIMAL存储的是字符串,因此提供了更高的精度,在需要表示金额等货币类型时优先选择DECIMAL数据类型

3、日期和时间类型

MySQL DBMS中有多种表示日期和时间的数据类型,各种版本有微小的差异,下表是MySQL DBMS所支持的日期和时间类型的特性

具体应用中,各种日期和时间类型的应用场合:

如果要表示年月日,一般会使用DATE类型

如果要表示年月日时分秒,一般会选择DATETIME类型

如果需要经常插入或更新日期为当前系统时间,一般会使用TIMESTAMP类型

如果要表示时分秒,一般会使用TIME类型

如果要表示年份,一般会使用YEAR类型。因为该类型比DATE类型占用更少的空间

4、字符串类型

MySQL DBMS中有多种表示字符串的数据类型,各种版本有微小的差异,下表展示了MySQL DBMS中所支持的CHAR系列字符串类型的特性

具体使用MySQL DBMS时,如果需要存储少量字符串,可以选择CHAR和VARCHAR,如果所存储的字符串长度是不固定的,变化的,那就选择VARCHAR;否则,选择CHAR

##########################################################################################################################

下表是MySQL DBMS所支持的TEXT类型的字符串的特性

具体使用时,如果需要存储大量字符串(存储文章内容的纯文本),则可以选择TEXT系列字符串类型。至于具体选择哪一个,需要判断所存储字符串长度,根据存储字符串长度来决定合适的类型

##########################################################################################################################

下表是MySQL DBMS 支持的BINARY系列字符串类型的特性

具体使用中,如果需要存储少量二进制数据,则可以选择BINARY和VARBINARY类型。至于选择具体哪一个,判断所存储的二进制数据长度是否是变化的,如果是选择VARBINARY类型;否则选择BINARY类型

##########################################################################################################################

下表是MySQL DBMS支持的BLOB系列字符串类型的特性

如果需要存储大量二进制数据(存储电影等视频文件),可以选择BLOB字符串。具体选择哪个,需要判断所存储二进制数据的长度来决定

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。