MYSQL 区分大小写及乱码解决
2016-04-06 14:54
405 查看
1、linux下mysql安装完后是默认:区分表名的大小写,不区分列名的大小写;
2、用root帐号登录后,在/etc/my.cnf 中的[mysqld]后添加添加lower_case_table_names=1,重启MYSQL服务,这时已设置成功:不区分表名的大小写;
lower_case_table_names参数详解:
lower_case_table_names = 0
其中 0:区分大小写,1:不区分大小写
MySQL在Linux下数据库名、表名、列名、别名大小写规则是这样的:
1、数据库名与表名是严格区分大小写的;
2、表的别名是严格区分大小写的;
3、列名与列的别名在所有的情况下均是忽略大小写的;
4、变量名也是严格区分大小写的;
MySQL在Windows下都不区分大小写。
3、如果想在查询时区分字段值的大小写,则:字段值需要设置BINARY属性,设置的方法有多种:
A、创建时设置:
CREATE TABLE T(
A VARCHAR(10) BINARY
);
B、使用alter修改:
ALTER TABLE `tablename` MODIFY COLUMN `cloname` VARCHAR(45) BINARY;
C、mysql table editor中直接勾选BINARY项。
乱码解决,更详细的看下字符集设置这篇
在[mysqld] 下增加下句
default-character-set=utf8
2、用root帐号登录后,在/etc/my.cnf 中的[mysqld]后添加添加lower_case_table_names=1,重启MYSQL服务,这时已设置成功:不区分表名的大小写;
lower_case_table_names参数详解:
lower_case_table_names = 0
其中 0:区分大小写,1:不区分大小写
MySQL在Linux下数据库名、表名、列名、别名大小写规则是这样的:
1、数据库名与表名是严格区分大小写的;
2、表的别名是严格区分大小写的;
3、列名与列的别名在所有的情况下均是忽略大小写的;
4、变量名也是严格区分大小写的;
MySQL在Windows下都不区分大小写。
3、如果想在查询时区分字段值的大小写,则:字段值需要设置BINARY属性,设置的方法有多种:
A、创建时设置:
CREATE TABLE T(
A VARCHAR(10) BINARY
);
B、使用alter修改:
ALTER TABLE `tablename` MODIFY COLUMN `cloname` VARCHAR(45) BINARY;
C、mysql table editor中直接勾选BINARY项。
乱码解决,更详细的看下字符集设置这篇
在[mysqld] 下增加下句
default-character-set=utf8
相关文章推荐
- 如何ubuntu下启动/停止/重启MySQL
- mysql数据库优化
- mysql basic command
- [翻译]MySQL5.0用户手册——第三章:快速入门
- [翻译]MySQL5.0用户手册——第三章:快速入门
- 如何查询mysql编码,及如何应对mysql乱码问题
- Mysql 入门第五课
- mysql 5.6 online ddl
- hibernate mysql写入中文乱码
- 命令行创建mysql数据库指定编码方法
- 安装mysql5.7
- mysql中Table is read only的解决方法
- SSD 下的 MySQL IO 优化
- 忘记mysql的登陆密码
- 微博MySQL优化之路
- MySQL relay_log_purge=0 时的风险
- Ubuntu中MySQL中文乱码解决
- mysql 发生系统错误1067
- MySQL(4)
- C#使用MySQL连接数据库