当前位置:Gxlcms > 数据库问题 > MySQL服务 - MySQL列类型、SQL模式、数据字典

MySQL服务 - MySQL列类型、SQL模式、数据字典

时间:2021-07-01 10:21:17 帮助过:6人阅读

char 255 定长字符串,区分大小写 varchar 65535 变长字符串,区分大小写 binary 255 二进制定长字符串,区分大小写 varbinary 65535 二进制变长字符串,区分大小写 tinytext 255 text类型是文本大对象存储,就是说它存储的并不是数据本身,而是一个指针,指向数据的存储所在位置;text不区分大小写 text 65535 mediumtext 16777215 longtext 4294967295 tinyblob 255 blob类型是二进制大对象存储,它是text的二进制形式,区分大小写 blob 65535 mediumblob 16777215 longblob 4294967295

2.数值型:

      数值型限定只能存储数值类数据,MySQL的数值类型如下:

类型            名称              取值范围(有符号,无符号)
TINYINT         最小整数      -1281270255
SMALLINT        小整数            -3276832767065535
MEDIUMINT       中整数            -83886078388607016777215
INT             整数        -2147483647214748364704294967295
BIGINT          大整数            -92233720368547758079223372036854775807018446744073709551615
decimal         十进制            
FLOAT           单精度浮点
DOUBAL          双精度浮点

3.日期及时间型:

      日期时间型用来记录日期或时间,MySQL的日期时间类型如下:

类型                名称                取值范围
DATE 日期 ‘1000-01-01到‘9999-12-31‘ TIME 时间 ‘-838:59:59‘到‘838:59:59‘ DATETIME 日期时间 ‘1000-01-01 00:00:00‘到‘9999-12-31 23:59:59‘ TIMESTAMP 时间戳         ‘1970-01-01 00:00:00‘到’2037年某时‘ YEAR 年 4位格式:19012155,2位格式:1970-2069(70-69),或:0000

4.自有类型:

      自有类型是MySQL内置的类型,有两种:

SET:字符串集合,事先给出多个元素(最多64个)供用户选择,用户可以选多个元素填入
ENUM:枚举,事先给出多个元素(最多65536个)供用户选择,用户只能选一个元素填入

二、MySQL的SQL模式:

      MySQL服务器可以以不同的SQL模式来操作,并且可以为不同客户端应用不同模式。这样每个应用程序可以根据自己的需求来定制服务器的操作模式。这类模式定义了MySQL应支持的SQL语法,以及应该在数据上执行何种确认检查。这样,就能在众多不同的环境下、与其他数据库服务器一起更容易地使用MySQL。MySQL常用的有三种SQL模式,传统模式、严格模式和ANSI模式。MySQL的SQL模式默认为空,该模式为非严格模式。

      可以通过如下命令查看MySQL当前的SQL模式:

mysql> SHOW GLOBAL VARIABLES LIKE sql_mode;
mysql> SELECT @@sql_mode;

       可以通过如下命令设置MySQL的SQL模式:

mysql> SET [GLOBAL|SESSION] sql_mode=modes;

      或启动MySQL时指定SQL模式:

shell> mysqld --sql-mode="modes"

1.TRADITIONAL,传统模式:

      该模式的简单描述是当在列中插入不正确的值时“给出错误而不是警告”。注释:一旦发现错误立即放弃INSERT/UPDATE。如果你使用非事务存储引擎,那么出现错误前进行的数据更改不会“回滚”,会导致结果更新“只进行了一部分”。

mysql> SET [GLOBAL|SESSION] sql_mode=‘TRADITIONAL‘;

2.STRICT,严格模式:

      如果不能将给定的值插入到表中,则放弃该语句。严格模式具有两种:STRICT_TRANS_TABLES和STRICT_ALL_TABLES。STRICT_TRANS_TABLES对支持事务的表实行严格模式,STRICT_ALL_TALBES在所有表执行严格模式。

mysql> SET [GLOBAL|SESSION] sql_mode=‘STRICT_TRANS_TABLES‘;
mysql> SET [GLOBAL|SESSION] sql_mode=‘STRICT_ALL_TABLES‘;

3.ANSI模式:

      更改操作的语法和行为,使其更适合标准的SQL。

三、数据字典:

      数据字典就类似于系统编目或花名册(和目录不太相同),它保存数据库服务器上的元数据信息(数据库的整体属性信息)。元数据信息包括:关系(表)的名字、每个关系的各字段的名字、各字段的数据类型和长度约束、每个关系上的视图的名字及视图的定义、授权用户的名字、用户的授权和账户信息、统计类的数据:、每个关系字段的个数、每个关系中的行数、每个关系的存储方法;

     在mysql上保存元数据的数据库有:mysql库、infomation_schema库、和performance_schema库,performance_schema库是一个虚拟的库,类似于Linux的/proc等伪文件系统。

 

MySQL服务 - MySQL列类型、SQL模式、数据字典

标签:

人气教程排行