带你了解MySQL数据库小技巧( 三 )
CHAR和VARCHAR的区别:
- CHAR是固定长度字符 , VARCHAR是可变长度字符;CHAR会自动删除插入数据的尾部 空格 , VARCHAR不会删除尾部空格 。
- CHAR是固定长度 , 所以它的处理速度比VARCHAR的速度要快 , 但是它的缺点就是浪费 存储空间 。 所以对存储不大 , 但在速度上有要求的可以使用CHAR类型 , 反之可以使用 VARCHAR类型来实现 。
对于MyISAM存储引擎:最好使用固定长度的数据列代替可变长度的数据列 。 这样可以使 整个表静态化 , 从而使数据检索更快 , 用空间换时间 。
对于InnoDB存储引擎:使用可变长度的数据列 , 因为InnoDB数据表的存储格式不分固定 长度和可变长度 , 因此使用CHAR不一定比使用VARCHAR更好 , 但由于VARCHAR是按照 实际的长度存储 , 比较节省空间 , 所以对磁盘I/O和数据存储总量比较好 。
- ENUM 和 SET
- BLOB 和 TEXT BLOB是二进制字符串 , TEXT是非二进制字符串 , 两者均可存放大容量的信息 。 BLOB主 要存储图片、音频信息等 , 而TEXT只能存储纯文本文件 。 应分清两者的用途 。
12、MySQL中可以存储文件吗?MySQL中的BLOB和TEXT字段类型可以存储数据量较大的文件 , 可以使用这些数据类型 存储图像、声音或者是大容量的文本内容 , 例如网页或者文档 。 虽然使用BLOB或者TEXT可 以存储大容量的数据 , 但是对这些字段的处理会降低数据库的性能 。 如果并非必要 , 可以选择只 储存文件的路径 。
13、MySQL中如何执行区分大小写的字符串比较?在Windows平台下 , MySQL是不区分大小的 , 因此字符串比较函数也不区分大小写 。 如果 想执行区分大小写的比较 , 可以在字符串前面添加BINARY关键字 。 例如默认情况下 , ’a’=‘A’ 返回结果为1 , 如果使用BINARY关键字 , BINARY’a’=‘A’结果为0,在区分大小写的情况下 , ’a’ 与’A’并不相同 。
14、如何从日期时间值中获取年、月、日等部分日期或时间值?MySQL中 , 日期时间值以字符串形式存储在数据表中 , 因此可以使用字符串函数分别截取日期时间值的不同部分 , 例如某个名称为dt的字段有值“2010-10-01 12:00:30” , 如果只需要获 得年值 , 可以输入LEFT(dt, 4) , 这样就获得了字符串左边开始长度为4的子字符串 , 即YEAR 部分的值;如果要获取月份值 , 可以输入MID(dt,6,2) , 字符串第6个字符开始 , 长度为2的子 字符串正好为dt中的月份值 。 同理 , 读者可以根据其他日期和时间的位置 , 计算并获取相应的值 。
15、如何改变默认的字符集?CONVERT()函数改变指定字符串的默认字符集 , 在开始的章节中 , 向读者介绍使用GUI图形化安装配置工具进行MySQL的安装和配置 , 其中的一个步骤是可以选择MySQL的默认字符集 。 但是 , 如果只改变字符集 , 没有必要把配置过程重新执行一遍 , 在这里 , 一个简单的方式是 修改配置文件 。 在Windows中 , MySQL配置文件名称为my.ini , 该文件在MySQL的安装目录下面 。 修改配置文件中的default-character-set和character-set-server参数值 , 将其改为想要的字 符集名称 , 如gbk、gb2312、latinl等 , 修改完之后重新启动MySQL服务 , 即可生效 。 读者可以在修改字符集时使用SHOW VARIABLES LIKE ’character_set_°%’;命令查看当前字符集 , 以进行对比 。
- 买买买!佳能定制玻璃杯了解一下
- 一线大牛带你深入解析AutoConfiguration源码
- 198元的旗舰手机膜了解一下?防窥、耐磨、防指纹,虽贵确实好
- 2K价位入手同轴音箱,老牌厂家KEF了解一下?
- 腾讯面试:MySQL事务与MVCC如何实现的隔离级别?
- 「杂谈」GAN最成功的3个商业化落地领域,你是否了解过?
- Linux中MySQL配置文件my.cnf参数优化
- 你真的了解边缘计算吗?——掌握边缘计算必需具备的4项技能
- Verizon用户可通过UW信号标记了解iPhone 12是否已用上5G毫米波
- RS485和CAN总线比较有什么特点?总结了6点,可帮你了解