内容简介:版权声明:本文为博主原创文章,欢迎扩散,扩散请务必注明出处。 https://blog.csdn.net/robinson_0612/article/details/82824320
版权声明:本文为博主原创文章,欢迎扩散,扩散请务必注明出处。 https://blog.csdn.net/robinson_0612/article/details/82824320
在 MySQL 关系型数据库中,MySQL支持的数据类型非常丰富。它主要分为3大类,即:数值型,日期时间性,字符型。而实际上这三类数据类型可以进一步的细分扩展,可以根据业务需要选择最适合的一种。本文主要介绍字符类型,并演示其用法。
一、字符型
MySQL支持的字符类型可以进一步细分,即可以分为定(变)长字符型,大值字符型,枚举集合类型等。如下图所示:
二、字符型空间需求
三、字符型演示
mysql> show variables like 'version'; +---------------+------------+ | Variable_name | Value | +---------------+------------+ | version | 5.7.22-log | +---------------+------------+ mysql> select 'Leshami' as Author -> union all -> select 'http://blog.csdn.net/leshami'; +------------------------------+ | Author | +------------------------------+ | Leshami | | http://blog.csdn.net/leshami | +------------------------------+ -- 创建表,包含2种数据类型的列 mysql> CREATE TABLE vc -> ( -> v VARCHAR(4), -> c CHAR(4) -> ); Query OK, 0 rows affected (0.12 sec) mysql> INSERT INTO vc -> VALUES ('ab ', 'ab '); Query OK, 1 row affected (0.02 sec) -- 通过字符串函数可知,第二列定长类型ab后的空格被截断 mysql> SELECT CONCAT('(', v, ')'), -> CONCAT('(', c, ')') FROM vc; +---------------------+---------------------+ | CONCAT('(', v, ')') | CONCAT('(', c, ')') | +---------------------+---------------------+ | (ab ) | (ab) | +---------------------+---------------------+ 1 row in set (0.00 sec) -- 创建包含枚举和集合类型的表 mysql> CREATE TABLE tb5(status ENUM('a','b'), -> range_set SET ('a','b','c','d')); Query OK, 0 rows affected (0.16 sec) mysql> INSERT INTO tb5 -> VALUES ('a', ('a,b')), ('b', ('a,d')); Query OK, 2 rows affected (0.05 sec) Records: 2 Duplicates: 0 Warnings: 0 -- 以下insert操作仅为status插入值,报错,因为c值不在枚举范围内 mysql> INSERT INTO tb5(status) -> VALUES ('c'); ERROR 1265 (01000): Data truncated for column 'status' at row 1 -- 以下insert操作仅为status插入值,报错,因为a,b联合值不在枚举范围内 mysql> INSERT INTO tb5(status) -> VALUES ('a,b'); ERROR 1265 (01000): Data truncated for column 'status' at row 1 -- 以下insert操作仅为range_set插入值,报错,因为值超出集合范围 mysql> INSERT INTO tb5(range_set) -> VALUES ('a,b,c,f'); ERROR 1265 (01000): Data truncated for column 'range_set' at row 1 -- 以下操作成功 mysql> INSERT INTO tb5(range_set) -> VALUES ('a,b,c,d,a,c'); Query OK, 1 row affected (0.02 sec) -- 查看数据行 mysql> SELECT * FROM tb5; +--------+-----------+ | status | range_set | +--------+-----------+ | a | a,b | | b | a,d | | NULL | a,b,c,d | +--------+-----------+ 3 rows in set (0.00 sec) mysql> SELECT status + 0, range_set + 0 -> FROM tb5; +------------+---------------+ | status + 0 | range_set + 0 | +------------+---------------+ | 1 | 3 | | 2 | 9 | | NULL | 15 | +------------+---------------+ 3 rows in set (0.00 sec) -- 对于枚举型与集合型,不能超出枚举和集合范围 -- 集合型列值插入时可以重复,插入成功后重复值被过滤
以上所述就是小编给大家介绍的《MySQL数据类型 -- 字符型》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!
猜你喜欢:- Go 语言函数式编程系列教程(六) —— 数据类型篇:字符串和字符类型
- 二)redis 字符串类型
- python数据类型-字符串常用操作
- Golang语言包-字符串处理string和字符串类型转换strconv
- redis 基本数据类型-字符串(String)
- TypeScript 4.1 RC 发布,字符串模板类型实装
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
C语言接口与实现
David R. Hanson / 郭旭 / 人民邮电出版社 / 2011-9 / 75.00元
《C语言接口与实现:创建可重用软件的技术》概念清晰、实例详尽,是一本有关设计、实现和有效使用C语言库函数,掌握创建可重用C语言软件模块技术的参考指南。书中提供了大量实例,重在阐述如何用一种与语言无关的方法将接口设计实现独立出来,从而用一种基于接口的设计途径创建可重用的API。 《C语言接口与实现:创建可重用软件的技术》是所有C语言程序员不可多得的好书,也是所有希望掌握可重用软件模块技术的人员......一起来看看 《C语言接口与实现》 这本书的介绍吧!