mysql 开发基础系列4 字符数据类型

字符串类型

  1.1 CHAR 和VARCHAR 类型

    CHAR 列的长度固定为创建表时声明的长度,VARCHAR 列中的值为可变长字符串。在检索的时候,CHAR 列删除了尾部的空格,而VARCHAR 则保留这些空格。(在sqlserver里都是长度2)

CREATE TABLE vc (v VARCHAR(4), c CHAR(4));
INSERT INTO vc VALUES ('ab ', 'ab ');
SELECT LENGTH(v),LENGTH(c) FROM vc;

   

  1.2 BINARY 和VARBINARY 类型

    BINARY 和VARBINARY 类似于CHAR 和VARCHAR,不同的是它们包含二进制字符串。

CREATE TABLE t (c BINARY(3));
INSERT INTO t VALUES('a');

  1.3 ENUM 类型 (ENUM 中文名称叫枚举类型)  插入1为M,2为F, 3则报错。    数字序号对应着字段数。

CREATE TABLE t1 (gender ENUM('M','F'));
-- 插入枚举类型的四种值
INSERT INTO t1 VALUES('M'),('1'),('f'),(NULL);
SELECT * FROM t1;

  可以看出ENUM 类型是忽略大小写的

  

  1.4 SET 类型

    Set 和ENUM 除了存储之外,最主要的区别在于Set 类型一次可以选取多个成员。 一行不会插入重复值如: a,d,a 保存后为a,d  

CREATE TABLE t3 (col SET ('a','b','c','d'));
INSERT INTO t3 VALUES('a,b'),('a,d,a'),('a,b'),('a,c'),('a');
SELECT * FROM t3;

    

  

 

posted on   花阴偷移  阅读(395)  评论(0编辑  收藏  举报

编辑推荐:
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
阅读排行:
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· Manus爆火,是硬核还是营销?
· 一文读懂知识蒸馏
· 终于写完轮子一部分:tcp代理 了,记录一下

导航

点击右上角即可分享
微信分享提示