带你了解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_°%’;命令查看当前字符集 , 以进行对比 。
推荐阅读
- 集录音转写、拍照翻译为一体,搜狗AI录音笔E2带你开启智慧办公新体验
- iQOO 7邀请函曝光“马”“鸭”“羊”代表什么
- 更便宜的米11系列新品要来了,小米11Lite了解下
- 人工智能正在了解人类的“言外之意”
- 华为要让专家当家,你了解华为吗?华为对于中国创业者真正的意义
- 小姐姐带你探索萌粉电竞显示器的秘密
- 基于Spring+Angular9+MySQL开发平台
- 曲面电竞显示器了解一下 环绕视觉沉浸体验
- 华为5G智能摄像机带你看查干湖冬捕
- 三星新机专利曝光,伸缩式屏下镜头了解下
