加入收藏 | 设为首页 | 会员中心 | 我要投稿 湖南网 (https://www.hunanwang.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程 > 正文

MySQL巨细写题目

发布时间:2017-07-23 09:15:06 所属栏目:编程 来源:站长网
导读:MySQL巨细写敏感 字符串巨细写敏感和Mysql的数据库的名字、表名字、字段名字、尚有字段值有关。 1.和数据库名字、表名字、存储进程和触发器有关 Mysql中节制数据库名和表名的巨细写敏感是由参数lower_case_table_names节制, 为0时; 暗示区分巨细写,行使
副问题[/!--empirenews.page--]

MySQL巨细写敏感

字符串巨细写敏感和Mysql的数据库的名字、表名字、字段名字、尚有字段值有关。

1.和数据库名字、表名字、存储进程和触发器有关

Mysql中节制数据库名和表名的巨细写敏感是由参数lower_case_table_names节制,

为0时;

暗示区分巨细写,行使CREATE TABLE或CREATE DATABASE语句指定的巨细写字母在硬盘上生涯表名和数据库名。

名称较量对巨细写敏感。在巨细写不敏感的操纵体系如windows或Mac OS x上我们不能将该参数设为0,假如在

巨细写不敏感的文件体系大将--lowercase-table-names逼迫设为0,而且行使差异的巨细写会见MyISAM表名,

也许会导致索引粉碎。

为1时;

暗示将名字转化为小写后存储,名称较量对巨细写不敏感。MySQL将全部表名转换为小写在存储和查找表上。

该举动也得当数据库名和表的别名。该值为Windows的默认值。

为2时;

表名和数据库名在硬盘上行使CREATE TABLE或CREATE DATABASE语句指定的巨细写字母举办生涯,但MySQL将它们

转换为小写在查找表上。名称较量对巨细写不敏感,即凭证巨细写来生涯,凭证小写来较量。注释:只在对巨细

写不敏感的文件体系上行使! innodb表名用小写生涯。

假如你行使innodb表,为了停止停止巨细写敏感题目,可以把lower_case_table_names=1

把lower_case_table_names从0改变为1

在你把lower_case_table_names配置为1时,在restart你的mysqld之前,请把数据库名和表名变动为小写

mysql> RENAME TABLE T1 TO t1;

2.和字段名字有关

字段名是不区分巨细写的

3.和字段值有关

字段值的巨细写由Mysql的collate来节制。提到collate,就不得不说字符集。字符集是一套标记和编码,collate

是在字符集内用于较量字符的一套法则,好比界说'A'<'B'这样的相关的法则。差异的字符集有多种校对法则,一样平常

而言,collate以其相干的字符集名开始,凡是包罗一个说话名,而且以_ci(巨细写不敏感)、_cs(巨细写敏感)

或_bin(二元)竣事 。

好比 utf8字符集:

utf8_general_ci,暗示不区分巨细写,这个是utf8字符集默认的collate;

utf8_general_cs暗示区分巨细写,

utf8_bin暗示二进制较量,同样也区分巨细写。

查察数据库的字符集相干信息

mysql> show variables like '%character%';

+--------------------------+----------------------------------+

| Variable_name            | Value                            |

+--------------------------+----------------------------------+

| character_set_client     | utf8                             |

| character_set_connection | utf8                             |

| character_set_database   | utf8                             |

| character_set_filesystem | binary                           |

| character_set_results    | utf8                             |

| character_set_server     | utf8                             |

| character_set_system     | utf8                             |

| character_sets_dir       | /usr/local/mysql/share/charsets/ |

+--------------------------+----------------------------------+

8 rows in set (0.00 sec)

查察数据库collation相干信息

mysql> show variables like '%collation%';

+----------------------+-----------------+

| Variable_name        | Value           |

+----------------------+-----------------+

| collation_connection | utf8_general_ci |

| collation_database   | utf8_general_ci |

| collation_server     | utf8_general_ci |

+----------------------+-----------------+

3 rows in set (0.01 sec)

test是默认建设的数据库

mysql> show create database test;

+----------+---------------------------------------------------------------+

| Database | Create Database                                               |

+----------+---------------------------------------------------------------+

| test     | CREATE DATABASE `test` /*!40100 DEFAULT CHARACTER SET utf8 */ |

+----------+---------------------------------------------------------------+

1 row in set (0.00 sec)

testx是指定字符集和collation的数据库

mysql> create database testx default character set utf8 collate utf8_bin;

Query OK, 1 row affected (0.00 sec)

mysql> show create database testx;

+----------+---------------------------------------------------------------------------------+

(编辑:湖南网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

热点阅读