程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> MYSQL數據庫 >> MySQL綜合教程 >> 如何設置MySQL數據庫名、表名大小寫敏感,mysql數據庫名

如何設置MySQL數據庫名、表名大小寫敏感,mysql數據庫名

編輯:MySQL綜合教程

如何設置MySQL數據庫名、表名大小寫敏感,mysql數據庫名


在 MySQL 中,數據庫和表其實就是數據目錄下的目錄和文。

因而,操作系統的敏感性決定數據庫和表命名的大小寫敏感。這就意味著數據庫和表名在 Windows 中是大小寫不敏感的,而在大多數類型的 Unix/Linux 系統中是大小寫敏感的。

MySQL大小寫敏感可以通過配置文件的lower_case_table_names參數來控制。

WINDOWS:
編輯MySQL安裝目錄下的my.ini 文件,在[mysqld]節下 添加 lower_case_table_names=0 (備注:為0時大小寫敏感,為1時大小寫不敏感,默認為1),可以實現MySql按照建表Sql語句的大小寫狀態來定義表名。

LINUX:
編輯/etc/my.cnf文件,在[mysqld]節下 添加 lower_case_table_names 參數,並設置相應的值 (備注:為0時大小寫敏感,為1時大小寫不敏感,默認為0)


怎設置mysql 數據庫列內容區分大小寫

mysql默認的設置或是對整個庫的設置
是否區分大小寫和校對規則有關,默認設的規則是大小寫不敏感的。
show create table如果看到collate是ci結尾,那麼就是不區別的,如果cs或bin結尾,就是區別的。
如果建表的時候選擇的是區別大小寫的規則而查詢的時候又暫時不想區別,
可以用類似
WHERE column_name COLLATE latin1_general_ci = 'xxx'
的寫法改變查詢使用的校對規則
 

linux中怎讓mysql的表不區分sql語句的大小寫?

Windows 環境下大小寫不敏感

CREATE TABLE tab (
id INT AUTO_INCREMENT,
val VARCHAR(10),
PRIMARY KEY (id)
);

mysql> select * from tab;
Empty set (0.00 sec)

mysql> select * from Tab;
Empty set (0.00 sec)

mysql> select * from `Tab`;
Empty set (0.00 sec)

在MySQL中如何在硬盤上保存和使用表名和數據庫名由lower_case_tables_name系統變量確定,可以在啟動mysqld時設置。lower_case_tables_name可以采用下面的任一值:
值含義
0使用CREATE TABLE或CREATE DATABASE語句指定的大寫和小寫在硬盤上保存表名和數據庫名。名稱比較對大小寫敏感。在Unix系統中的默認設置即如此。請注意如果在大小寫不敏感的文件系統上用--lower-case-table-names=0強制設為0,並且使用不同的大小寫訪問MyISAM表名,會導致索引破壞。
1表名在硬盤上以小寫保存,名稱比較對大小寫敏感。MySQL將所有表名轉換為小寫以便存儲和查找。該行為也適合數據庫名和表的別名。該值為Windows和Mac OS X系統中的默認值。
2表名和數據庫名在硬盤上使用CREATE TABLE或CREATE DATABASE語句指定的大小寫進行保存,但MySQL將它們轉換為小寫以便查找。名稱比較對大小寫敏感。注釋:只在對大小寫不敏感的文件系統上適用! InnoDB表名以小寫保存,例如lower_case_tables_name=1。
在Windows和Mac OS X中,lower_case_tables_name的 默認值是1。
如果只在一個平台上使用MySQL,通常不需要更改lower_case_tables_name變量。然而,如果你想要在對大小寫敏感不同的文件系統的平台之間轉移表,會遇到困難。例如,在Unix中,my_tables和MY_tables是兩個不同的表,但在Windows中,這兩個表名相同。要想避免由於數據庫或表名的大小寫造成的數據轉移問題,可使用兩個選項:
• 在任何系統中可以使用lower_case_tables_name=1。使用該選項的不利之處是當使用SHOW TABLES或SHOW DATABASES時,看不出名字原來是用大寫還是小寫。
• 在Unix中使用lower_case_tables_name=0,在Windows中使用lower_case_tables_name=2。這樣了可以保留數據庫名和表名的大小寫。不利之處是必須確保在Windows中查詢總是用正確大小寫引用數據庫名和表名。如果將查詢轉移到Unix中,由於在Unix中大小寫很重要,如果大小寫不正確,它們不工作。
例外:如果你正使用InnoDB表,在任何平台上均應將lower_case_tables_name設置為1,以強制將名轉換為小寫。
請注意在Unix中將lower_case_tables_name設置為1之前,重啟mysqld之前,必須先將舊的數據庫名和表名轉換為小寫。...余下全文>>
 

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved