• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • MsSql
  • Mysql
  • oracle
  • MariaDB
  • DB2
  • SQLite
  • PostgreSQL
  • MongoDB
  • Redis
  • Access
  • 数据库其它
  • sybase
  • HBase
您的位置:首页 > 数据库 >Mysql > 【MySQL】char和varchar的不同

【MySQL】char和varchar的不同

作者: 字体:[增加 减小] 来源:互联网 时间:2017-12-17

通过本文主要向大家介绍了mysql等相关知识,希望本文的分享对您有所帮助
CHAR    0-255字节 定长字符串
VARCHAR 0-65535 字节  变长字符串

创建测试表

mysql> create table char_test(char_col char(10));
Query OK, 0 rows affected (0.30 sec)

查看mysql中的创建语句(这样可以看到更详细的创建语句,可以把INTEGER、BOOL等别名转换为MySQL的基本数据类型。);

mysql> show create table char_test;
+-----------+------------------------------------------------------------------------------------------------------+
| Table     | Create Table                                                                                         |
+-----------+------------------------------------------------------------------------------------------------------+
| char_test | CREATE TABLE `char_test` (
  `char_col` char(10) DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=latin1 |
+-----------+------------------------------------------------------------------------------------------------------+
1 row in set (0.00 sec)

插入3行数据

mysql> insert into char_test(char_col) values
    -> ('string1'),('  string2'),('string3  ');
Query OK, 3 rows affected (0.03 sec)
Records: 3  Duplicates: 0  Warnings: 0

这是后检索这些值的时候,发现string3的末尾空格被截断了;

mysql> select concat("'", char_col, "'" ) from char_test;
+-----------------------------+
| concat("'", char_col, "'" ) |
+-----------------------------+
| 'string1'                   |
| '  string2'                 |
| 'string3'                   |
+-----------------------------+
3 rows in set (0.00 sec)

如果用varchar(10)字段存储相同的值,可以得到如下结果:

mysql> select concat("'", varchar_col, "'" ) from varchar_test;
+--------------------------------+
| concat("'", varchar_col, "'" ) |
+--------------------------------+
| 'string1'                      |
| '  string2'                    |
| 'string3  '                    |
+--------------------------------+
3 rows in set (0.00 sec)

参考:高性能MySQL(第3版). Baron Schwartz,Peter Zaitsev,Vadim Tkachenko 著;宁海元,周振兴,彭立勋 等 译

分享到:QQ空间新浪微博腾讯微博微信百度贴吧QQ好友复制网址打印

您可能想查找下面的文章:

相关文章

  • 2018-12-05MySql 错误Incorrect string value for column
  • 2018-12-05 mysql进阶(七)limit的用法
  • 2018-12-05MySQL rand函数实现随机数的方法_MySQL
  • 2018-12-05如何在Linux下安装和配置PHPmyadmin?
  • 2018-12-05Oracle 创建监控账户 提高工作效率
  • 2018-12-05mysql实现自动监控同步的脚本
  • 2018-12-05Myeclipse连接mysql数据库心得体会_MySQL
  • 2018-12-0515个初学者必看的基础SQL查询语句
  • 2018-12-05高性能MySQL-特定类型查询的优化详解
  • 2018-12-05MySQL学习笔记2:数据库的基本操作(创建删除查看)

文章分类

  • MsSql
  • Mysql
  • oracle
  • MariaDB
  • DB2
  • SQLite
  • PostgreSQL
  • MongoDB
  • Redis
  • Access
  • 数据库其它
  • sybase
  • HBase

最近更新的内容

    • SQL Server连接失败错误及解决第1/5页
    • SQL Server 数据库清除日志的方法
    • myeclipse中连接mysql数据库示例代码_MySQL
    • NoSQL之Redis高性能的key-value数据库深入浅出(分布式应用+简单微博系统)
    • 更新text字段时出现Row size too large报错应付措施
    • MAC下MYSQL数据库密码忘记了怎么办
    • mysql Out of memory (Needed 16777224 bytes)的错误解决
    • Oracle查看和修改连接数(进程/会话/并发等等)
    • 通过SQL Server的位运算功能巧妙解决多选查询方法
    • JDBC是如何实现动态查询的?

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有