服务器之家:专注于服务器技术及软件下载分享
分类导航

Mysql|Sql Server|Oracle|Redis|

服务器之家 - 数据库 - Mysql - MySQL笔记之数据类型详解

MySQL笔记之数据类型详解

2019-12-24 14:36MYSQL教程网 Mysql

本篇文章对mysql数据类型进行了详细的介绍,需要的朋友参考下

字符型数据

字符型数据可以使用定长或变长的字符串来实现,其不同点在于固定长度的字符串使用空格向右填充,以保证占用同样的字节数;变长字符串不需要向右填充,并且所有字节数可变。

char                         定长型,字节长度固定,最大长度为255字节,可以使用char(20)这种方式限定长度,查询速度快,但不灵活

varchar                    变长型,字节长度随数据量变化,最多可存储65535字节,varchar(20)可以限定长度,查询速度不及char,但使用灵活

如果需要存储文本或者文档,需要使用text类型数据,包括四种

tinytext                     255字节

text                          65535字节

mediumtext             16777215字节

longtext                   4294967295字节

以上三种在进行分组排序或者比较的时候只采用前1024字节进行比较

字符集

对于拉丁语系,比如英语,其中每个字母只需要1个字节来存储;而其他一些语言,比如中文,包含了大量字符,每个字符的存储需要多个字节,因此这类字符集被称为多字符集

在mysql中,可以使用SHOW CAHRACTER SET语句查看字符集

复制代码代码如下:

mysql> SHOW CHARACTER SET;
+----------+-----------------------------+---------------------+--------+
| Charset  | Description                 | Default collation   | Maxlen |
+----------+-----------------------------+---------------------+--------+
| big5     | Big5 Traditional Chinese    | big5_chinese_ci     |      2 |
| dec8     | DEC West European           | dec8_swedish_ci     |      1 |
| cp850    | DOS West European           | cp850_general_ci    |      1 |
| hp8      | HP West European            | hp8_english_ci      |      1 |
| koi8r    | KOI8-R Relcom Russian       | koi8r_general_ci    |      1 |
| latin1   | cp1252 West European        | latin1_swedish_ci   |      1 |
| latin2   | ISO 8859-2 Central European | latin2_general_ci   |      1 |
| swe7     | 7bit Swedish                | swe7_swedish_ci     |      1 |
| ascii    | US ASCII                    | ascii_general_ci    |      1 |
| ujis     | EUC-JP Japanese             | ujis_japanese_ci    |      3 |
| sjis     | Shift-JIS Japanese          | sjis_japanese_ci    |      2 |
| hebrew   | ISO 8859-8 Hebrew           | hebrew_general_ci   |      1 |
| tis620   | TIS620 Thai                 | tis620_thai_ci      |      1 |
| euckr    | EUC-KR Korean               | euckr_korean_ci     |      2 |
| koi8u    | KOI8-U Ukrainian            | koi8u_general_ci    |      1 |
| gb2312   | GB2312 Simplified Chinese   | gb2312_chinese_ci   |      2 |
| greek    | ISO 8859-7 Greek            | greek_general_ci    |      1 |
| cp1250   | Windows Central European    | cp1250_general_ci   |      1 |
| gbk      | GBK Simplified Chinese      | gbk_chinese_ci      |      2 |
| latin5   | ISO 8859-9 Turkish          | latin5_turkish_ci   |      1 |
| armscii8 | ARMSCII-8 Armenian          | armscii8_general_ci |      1 |
| utf8     | UTF-8 Unicode               | utf8_general_ci     |      3 |
| ucs2     | UCS-2 Unicode               | ucs2_general_ci     |      2 |
| cp866    | DOS Russian                 | cp866_general_ci    |      1 |
| keybcs2  | DOS Kamenicky Czech-Slovak  | keybcs2_general_ci  |      1 |
| macce    | Mac Central European        | macce_general_ci    |      1 |
| macroman | Mac West European           | macroman_general_ci |      1 |
| cp852    | DOS Central European        | cp852_general_ci    |      1 |
| latin7   | ISO 8859-13 Baltic          | latin7_general_ci   |      1 |
| utf8mb4  | UTF-8 Unicode               | utf8mb4_general_ci  |      4 |
| cp1251   | Windows Cyrillic            | cp1251_general_ci   |      1 |
| utf16    | UTF-16 Unicode              | utf16_general_ci    |      4 |
| cp1256   | Windows Arabic              | cp1256_general_ci   |      1 |
| cp1257   | Windows Baltic              | cp1257_general_ci   |      1 |
| utf32    | UTF-32 Unicode              | utf32_general_ci    |      4 |
| binary   | Binary pseudo charset       | binary              |      1 |
| geostd8  | GEOSTD8 Georgian            | geostd8_general_ci  |      1 |
| cp932    | SJIS for Windows Japanese   | cp932_japanese_ci   |      2 |
| eucjpms  | UJIS for Windows Japanese   | eucjpms_japanese_ci |      3 |
+----------+-----------------------------+---------------------+--------+
 rows in set (0.00 sec)


其中Maxlen列大于1则代表此行为多字符集,比如gb2312,存储一个汉字最多需要2个字节,utf8最多则需要3个

 

数值型数据

整数型数据

MySQL,数据类型

浮点型数据

MySQL,数据类型

数值型数据可以定义为unsigned,对整数而已可以改变其范围,对浮点数而言可以限定其不能为负数

 

时间数据

MySQL,数据类型

延伸 · 阅读

精彩推荐
  • MysqlMySQL慢查询日志的基本使用教程

    MySQL慢查询日志的基本使用教程

    MySQL的慢查询日志是MySQL提供的一种日志记录,它用来记录在MySQL中响应时间超过阀值的语句,具体指运行时间超过long_query_time值的SQL,则会被记录到慢查询...

    听风。2872019-06-11
  • MysqlMysql中replace与replace into的用法讲解

    Mysql中replace与replace into的用法讲解

    今天小编就为大家分享一篇关于Mysql中replace与replace into的用法讲解,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随...

    CODETC4682019-06-24
  • MysqlMySQL prepare语句的SQL语法

    MySQL prepare语句的SQL语法

    PREPARE语句用于预备一个语句,并指定名称statement_name,以后引用该语句 ...

    MYSQL教程网3392019-11-28
  • MysqlMySQL Event Scheduler(事件调度器)

    MySQL Event Scheduler(事件调度器)

    事件调度器是在 MySQL 5.1 中新增的另一个特色功能,可以作为定时任务调度器,取代部分原先只能用操作系统任务调度器才能完成的定时功能。 ...

    mysql教程网4792019-11-08
  • MysqlCentOS mysql安装系统方法

    CentOS mysql安装系统方法

    CentOS mysql安装还是很常用的软件,我就学习如何CentOS mysql安装,在这里拿出来和大家分享一下,希望对大家有用。 ...

    mysql教程网1622019-11-11
  • MysqlMySQL使用正则表达式进行查询操作经典实例总结

    MySQL使用正则表达式进行查询操作经典实例总结

    这篇文章主要介绍了MySQL使用正则表达式进行查询操作,结合实例形式总结分析了各种常见匹配模式的查询操作实现技巧,具有一定参考借鉴价值,需要的朋友...

    程志伟3302019-07-08
  • Mysql实例讲解MySQL中乐观锁和悲观锁

    实例讲解MySQL中乐观锁和悲观锁

    在本篇文章里我们通过实例总结了关于MySQL中乐观锁和悲观锁区别的知识点,有兴趣的读者们学习下。...

    laozhang2452019-06-07
  • MysqlMySQL中的运算符使用实例展示

    MySQL中的运算符使用实例展示

    请问,什么是最好的参考文档,我的答案是:真实可行的样例语句。 ...

    mysql教程网3152019-11-12