MySQL CHAR 数据类型

简介:在本教程中,您将了解MySQL CHAR数据类型以及如何在数据库表设计中应用它。

MySQL CHAR数据类型简介

CHAR数据类型是MySQL中的固定长度的字符类型。我们经常声明CHAR类型的长度,指定我们要存储的最大字符数。例如,CHAR(20)最多可以容纳20个字符。

如果要存储的数据是固定大小,则应使用CHAR数据类型。与VARCHAR这种情况相比,您将获得更好的性能。

CHAR数据类型的长度可以是0到255之间的任何值。当您存储CHAR值时,MySQL会将其值用空格填充到您声明的长度。

当您查询CHAR值时,MySQL将删除尾随空格。

请注意,如果启用PAD_CHAR_TO_FULL_LENGTH SQL模式,MySQL将不会删除尾随空格。

以下语句创建一个表包含CHAR列。

CREATE TABLE mysql_char_test (

status CHAR(3)

);

status列具有CHAR数据类型。它最多可容纳3个字符。

现在,我们在mysql_char_test表中插入2行。

INSERT INTO mysql_char_test(status)

VALUES('Yes'),('No');

我们使用length函数来获取每个CHAR值的长度。

SELECT

status, LENGTH(status)

FROM

mysql_char_test;

+--------+----------------+

| status | LENGTH(status) |

+--------+----------------+

| Yes | 3 |

| No | 2 |

+--------+----------------+

2 rows in set (0.00 sec)

以下语句插入CHAR带有前导和尾随空格的值。

INSERT INTO mysql_char_test(status)

VALUES(' Y ');

但是,当我们检索值时,MySQL会删除尾随空格。

SELECT

status, LENGTH(status)

FROM

mysql_char_test;

+--------+----------------+

| status | LENGTH(status) |

+--------+----------------+

| Yes | 3 |

| No | 2 |

| Y | 2 |

+--------+----------------+

3 rows in set (0.00 sec)

比较MySQL CHAR值

在存储或比较CHAR值时,MySQL使用分配给列的字符集 排序规则。

CHAR使用比较运算符(如=,<>,>,

请注意,当您使用CHAR值进行模式匹配时,LIKE运算符会考虑尾随空格。

在前面的示例中,我们使用前导和尾随空格存储值Y. 但是,当我们执行以下查询时:

SELECT

*

FROM

mysql_char_test

WHERE

status = 'Y';

Empty set (0.00 sec)

MySQL不返回任何行,因为它不考虑尾随空格。要匹配'Y',我们需要删除尾随空格,如下所示:

SELECT

*

FROM

mysql_char_test

WHERE

status = ' Y';

+--------+

| status |

+--------+

| Y |

+--------+

1 row in set (0.00 sec)

MySQL CHAR和UNIQUE索引

如果CHAR列具有UNIQUE索引并且您插入的值与许多尾随空格中的现有值不同,则MySQL将因重复键错误而拒绝更改。

请参阅以下示例。

首先,为mysql_char_test表的status列创建唯一索引。

CREATE UNIQUE INDEX uidx_status ON mysql_char_test(status);

其次,在表mysql_char_test中插入一个新行。

INSERT INTO mysql_char_test(status)

VALUES('N');

第三,插入以下值将导致重复键错误。

INSERT INTO mysql_char_test(status)

VALUES('N ');

ERROR 1062 (23000): Duplicate entry 'N' for key 'uidx_status'

在本教程中,我们向您介绍了MySQL CHAR数据类型及其功能。现在,您应很好地理解CHAR数据类型以将其应用于数据库设计中。

mysql里的char怎么添加数据类型_MySQL CHAR 数据类型相关推荐

  1. MySQL里和trunc函数相同的_mysql 函数中与Oracle中ltrim函数功能相同的函数是什么函数?...

    一.ANSI字符函数 字符函数用于在SQL里以不同于存储方式的格式来表示字符串. 串接就是把两个单独的字符串组合为一个. 子串的概念就是从字符串里提取一部分. TRANSLATE函数用于逐字符地把一个 ...

  2. blob数据类型_MySQL的数据类型

    一,MySQL的数据类型 数据类型是定义列中可以存储什么类型的数据以及该数据实际怎样存储的基本规则 数据类型限制存储在数据列列中的数据.例如,数值数据类型列只能接受数值类型的的数据 在设计表时,应该特 ...

  3. linux mysql 数据类型_MySQL的数据类型和建库策略(转)

    MySQL的数据类型和建库策略: 无论是在小得可怜的免费数据库空间或是大型电子商务网站,合理的设计表结构.充分利用空间是十分必要的.这就要求我们对数据库系统的常用数据类型有充分的认识.下面我就将我的一 ...

  4. mysql的基本数据类型_mysql基本数据类型(mysql学习笔记三)

    Mysql数据类型 小数: 浮点:小数位可以变化 Float单精度默认精度6位左右 Double双精度默认精度16位左右 支持,控制数值范围 Type(M,D) M表示所有数值位数(不包括小数点和符号 ...

  5. mysql忽略数据类型_MYSQL 常用数据类型

    数字列类型 数字列类型用于储存各种数字数据,如价格.年龄或者数量.数字列类型主要分为两种:整数型和浮点型.所有的数字列类型都允许有两个选项:UNSIGNED和ZEROFILL.选择UNSIGNED的列 ...

  6. mysql中的基本数据类型_mysql基本数据类型

    2018-07-12 11:24:24 mysql数据库分多钟数据类型,大类可以分为三种:数值类型.时间(日期)和字符(串)类型. 数值类型 MySQL支持所有标准SQL数值数据类型. 这些类型包括严 ...

  7. mysql里条件语句和循环语句_MySQL与Oracle 差异比较之四条件循环语句

    循环语句 编号 类别 oracle Mysql 注释 1 IF语句使用不同 IFiv_weekly_day = 'MON'THEN ii_weekly_day := 'MON'; ELSIFiv_we ...

  8. mysql如何给text字段添加索引_MySQL 是如何利用索引的

    阅读本文大概需要 4 分钟. 一.前言 在 MySQL 中进行 SQL 优化的时候,经常会在一些情况下,对 MySQL 能否利用索引有一些迷惑.例如: MySQL 在遇到范围查询条件的时候就停止匹配了 ...

  9. mysql里hdr是什么的缩写_MySQL事务之-2

    在上一篇中我们提到了MySQL的事务特性,这一片主要讲述事务的实现. 事务的隔离性由锁来实现.原子性,一致性,持久性通过数据库的redo和undo log来实现. redo恢复提交事务修改页的操作,而 ...

最新文章

  1. c语言延时函数_介召几个frida在安卓逆向中使用的脚本以及延时Hook手法
  2. android pdf阅读工具,android pdf 阅读器开发, pdf demo, pdf第三方控件
  3. python编程入门与案例详解pdf-Flutter技术入门与实战 PDF 清晰版
  4. Android 使用Listview的优化
  5. synchronized同步块和volatile同步变量
  6. SAP 电商云 Spartacus UI CheckoutDeliveryService 的单元测试设计
  7. .NET应用迁移到.NET Core--调查案例
  8. 关于线程上下文切换,你知道多少?
  9. div+css经典三行两列布局
  10. pytorch之参数的初始化
  11. 福利 | 国外最牛逼的一套 PPT 作品送给你
  12. 测试cpu是否有问题的软件,cpu测试软件|CPU检测软件有哪些 5款CPU检测工具介绍
  13. 大学四年因为知道了这 60 个网站,我成了别人眼中的大神!
  14. 机器人领域SCI期刊总结
  15. click与onclick的区别
  16. 武汉大学.计算机学院.密码学,密码学教学课件-武汉大学计算机学院.ppt
  17. SitePoint播客#67:浏览器之舞
  18. 使用python操作新浪微博和一些想法
  19. 使用LaTeX的中文字体出现Package fontspec Error: The font “宋体“ cannot be found.解决方案
  20. pytorch中torch.mul、torch.mm/torch.bmm、torch.matmul的区别

热门文章

  1. 最新微信小程序获取音频时长与实时获取播放进度
  2. 横版射击,王者归来|Cocos精品《合金弹头OL》
  3. 郭盛华:揭秘多年来黑客入侵iPhone的情况
  4. NOIP2015跳石头【二分答案(最小值最大化) | 贪心】
  5. 微博第三方+海外国际版+V2EX第三方
  6. 什么是执行计划? 怎么用?
  7. 计算机绘制表格教案,word中插入表格教案
  8. 证明:无理数的无理数次方是否还是无理数
  9. 手机远程服务器rd,手机远程连接服务器工具:RD client远程桌面使用教程
  10. 有些疑问,阿里云到底是做啥子的呢?