`

【面试题】char 和 vachar 区别

阅读更多

         首先明确的是,char的长度是不可变的,而varchar的长度是可变的,也就是说,定义一个char[10]和varchar[10],如果存进去的是‘csdn’,那么char所占的长度依然为10,除了字符‘csdn’外,后面跟六个空格,而varchar就立马把长度变为4了,取数据的时候,char类型的要用trim()去掉多余的空格,而varchar是不需要的,尽管如此,char的存取数度还是要比varchar要快得多,因为其长度固定,方便程序的存储与查找;但是char也为此付出的是空间的代价,因为其长度固定,所以难免会有多余的空格占位符占据空间,可谓是以空间换取时间效率,而varchar是以空间效率为首位的。再者,char的存储方式是,对英文字符(ASCII)占用1个字节,对一个汉字占用两个字节;而varchar的存储方式是,对每个英文字符占用2个字节,汉字也占用2个字节,两者的存储数据都非unicode的字符数据。

0
0
分享到:
评论

相关推荐

    mysql面试题100题

    - 字符串类型:VARCHAR、CHAR、TEXT 和 BLOB,其中 VARCHAR 和 CHAR 区别在于 VARCHAR 变长,CHAR 定长。 - 日期和时间类型:DATETIME、DATE 和 TIMESTAMP,建议优先使用 TIMESTAMP,因为它在空间效率上优于 ...

    java 面试题基础题,sql 面试题 带答案

    包括数值类型(如 INT、FLOAT)、字符串类型(如 VARCHAR、CHAR)、日期时间类型(如 DATE、TIMESTAMP)等。 2. **SELECT 语句:** 用于从数据库中选择数据,如 `SELECT * FROM table_name;` 获取表中的所有记录...

    mysql面试题 mysql面试题mysql面试题

    本文总结了MySQL面试题中的知识点,包括索引、MyISAM和InnoDB、事务、数据库设计、索引使用注意事项、CHAR和VARCHAR、NOW()和CURRENT_DATE()、视图、游标和存储过程、drop、delete和truncate等。

    SQLServer高频面试题及答案

    SQL Server高频面试题及答案 数据库基础知识篇 1. 主键、外键、超键、候选键 超键是关系模式中能唯一标识元组的属性集。候选键是最小超键,即没有冗余元素的超键。主键是数据库表中对储存数据对象予以唯一和完整...

    mysql常见面试题及答案

    2. CHAR 和 VARCHAR 是 MySQL 中的字符串类型,前者固定长度,后者可变长度。 3. ENUM 是 MySQL 中的一种字符串对象,用于指定一组预定义的值。 四、索引 1. 索引是 MySQL 中的一种数据结构,用于提高查询效率。 2...

    MySQL面试题及答案.pdf

    11. CHAR 和 VARCHAR 的区别:CHAR 和 VARCHAR 类型在存储和检索方面有所不同。CHAR 列长度固定为创建表时声明的长度,VARCHAR 列长度可变。 12. 字符串类型:字符串类型有 SET、BLOB、ENUM、CHAR、TEXT、VARCHAR ...

    2024年java面试题-数据库MySQL面试题第一部分

    CHAR 与 VARCHAR 的区别 - CHAR 的长度固定,范围为 1 至 255。 - VARCHAR 的长度可变。 - 当存储 CHAR 值时,会用空格填充到指定长度,并在检索时删除尾随空格。 ### 12. 列的字符串类型 - 字符串类型包括:SET、...

    SQL面试题2

    接下来,文件描述了char和varchar数据类型的区别: 1. char类型是定长的数据类型,当存储的数据长度小于定义的长度时,数据库会自动用空格填充至指定长度。 2. varchar类型是变长的数据类型,它不会使用空格来填充...

    MySQL面试题(含答案).pdf

    11. CHAR与VARCHAR的区别: - CHAR长度固定,用空格填充到指定长度,检索时会去除尾部空格。 - VARCHAR长度可变,只存储实际使用的字符,节省空间。 12. MySQL中的字符串类型: - SET:存储一组预定义的选项。 ...

    DBA常见理论面试题

    DBA常见理论面试题 以下是对给定文件的知识点总结: 数据库基础概念 * char、varchar、nvarchar之间的区别:char是固定长度字符串,varchar是可变长度字符串,nvarchar是unicode字符集的可变长度字符串。它们的...

    mysql面试题,mysql面试题

    CHAR 和 VARCHAR 的区别? 主键和候选键有什么区别? myisamchk 是用来做什么的? 如果一个表有一个定义为TIMESTAMP,将产生什么? 你怎么看到为表格式定义的所有搜索引擎? 列对运算符是什么?

    Java面试题大全(整理版)1000+面试题 (面试准备+Java基础+高级特性+常见问题+答案解析)

    - CHAR和VARCHAR区别在于固定长度和可变长度。 这些面试题覆盖了Java开发者所需的核心技能和知识,通过解答这些问题,开发者不仅可以为面试做好准备,还能加深对Java生态系统各组件的理解。对于想要提升技能或跳槽...

    mysql数据库面试题及答案(29题).pdf

    MySQL数据库面试题及答案(29题)是面对 MySQL 数据库的常见面试题和答案的集合。这些问题涵盖了 MySQL 的基本概念、数据类型、存储引擎、事务、索引、 查询优化、安全性等方面。 事务隔离级别 在 MySQL 中,...

    mysql面试题 包含 初级 中级 高级 各级别知识点.rar

    char、varchar2、varchar有什么区别? 合并查询有哪些? SQL语句执行顺序 null的含义 MySQL、SqlServer、oracle写出字符存储、字符串转时间 update语句可以修改结果集中的数据吗? B树和B+树的区别 你见过...

    2024年java面试题-数据库MySQL面试题第二部分

    #### 五、CHAR与VARCHAR的区别 - **CHAR**: 字符串长度固定,存储和检索时会补全至指定长度; - **VARCHAR**: 字符串长度可变,存储时不补空格,节省空间。 #### 六、主键与候选键 - **主键**: 每个表只能有一个...

    mysql面试题 值得学习

    - CHAR与VARCHAR的主要区别在于:CHAR是定长的,而VARCHAR是变长的。CHAR在检索时会删除尾部空格,VARCHAR则在存储时根据实际长度节省空间,但会额外存储长度信息。 - CHAR和VARCHAR的选择取决于数据的稳定性和...

    MySQL面试题(含答案)- MySQL面试题及答案

    MySQL是世界上最受欢迎的关系型数据库管理系统之...通过阅读《MySql面试题.pdf》、《MySQL常见面试题总结.pdf》、《MySQL面试题(含答案).pdf》和《MySQL面试题及答案.pdf》等资料,你可以更深入地理解和掌握这些内容。

    常问的MySQL面试题集合

    问题1:char、varchar的区别是什么? varchar是变长而char的长度是固定的。如果你的内容是固定大小的,你会得到更好的性能。 问题2: TRUNCATE和DELETE的区别是什么? DELETE命令从一个表中删除某一行,或多行,...

Global site tag (gtag.js) - Google Analytics