可以設置的
在MySQL
中,資料庫和表對就於那些目錄下的目錄和文件。因而,操作系統的敏感性決定資料庫和表命名的大小寫敏感。這就意味著資料庫和表名在
Windows
中是大小寫不敏感的,而在大多數類型的
Unix
系統中是大小寫敏感的。
奇怪的是列名與列的別名在所有的情況下均是忽略大小寫的,而表的別名又是區分大小寫的。
要避免這個問題,你最好在定義資料庫命名規則的時候就全部採用小寫字母加下劃線的組合,而不使用任何的大寫字母。
或者也可以強制以
-O
lower_case_table_names=1
參數啟動
mysqld(如果使用
--defaults-file=...\my.cnf
參數來讀取指定的配置文件啟動
mysqld
的話,你需要在配置文件的
[mysqld]
區段下增加一行
lower_case_table_names=1)。這樣MySQL
將在創建與查找時將所有的表名自動轉換為小寫字元(這個選項預設地在
Windows
中為
1
,在
Unix
中為
0。從
MySQL
4.0.2
開始,這個選項同樣適用於資料庫名)。
當你更改這個選項時,你必須在啟動
mysqld
前首先將老的表名轉換為小寫字母。
『貳』 如何讓mysql查看錶不區分大小寫
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之前,必須先將舊的資料庫名和表名轉換為小寫。
『叄』 如何調整mysql資料庫的大小寫
1、資料庫名與表名是嚴格區分大小寫
2、表的別名是嚴格區分大小寫
3、列名與列的別名在所有的情況下均是忽略大小寫的
4、變數名也是嚴格區分大小寫的
『肆』 mysql 5.5在windows7 下表名 區分大小寫,怎麼設置
mysql對資料庫名、表名、欄位名這些不區分大小寫,假如有個表叫做abc,那麼下面的語句都能查詢出相同的結果:
select * from ABC;
select * from Abc;
select * from aBC;
這是無法改變的。
如果對於欄位的相等查詢要區分大小寫,例如資料庫中有用戶名為admin,下面的語句都能查出內容:
select * from user where uname='admin';
select * from user where uname='ADMIN';
這樣就很惹人麻煩,要改變這個現象,就必須修改資料庫這個欄位的屬性,增加一個binnary的屬性。
『伍』 怎麼把資料庫中的所有大寫欄位名改為小寫
建表不建議大小寫混用,會給使用帶來不便,況且存到資料庫也不一定是你要的結果.建議都小寫好了,寫語句時,欄位小寫,關鍵字大寫,比較好讀.SQLServer默認安裝是不區分大小寫的,除非你安裝時設定collation區分大小寫Oracle里是沒有大小寫區分的,大寫是oracle內部存儲的。所以:在視圖中取表、表空間等相關對象時才需要用上大寫。你進行的任何dml操作都可以大小寫不分,進入oracle之後,數據字典裡面都是大寫
『陸』 linux下解決mysql區分大小寫問題怎麼解決
以 -O lower_case_table_names=1 參數啟動 mysqld(如果使用 --defaults-file=...\my.cnf 參數來讀取指定的配置文件啟動 mysqld 的話,你需要在配置文件的 [mysqld] 區段下增加一行 lower_case_table_names=1)。這樣MySQL 將在創建與查找時將所有的表名自動轉換為小寫字元(這個選項預設地在 Windows 中為 1 ,在 Unix 中為 0。從 MySQL 4.0.2 開始,這個選項同樣適用於資料庫名)。
當你更改這個選項時,你必須在啟動 mysqld 前首先將老的表名轉換為小寫字母。
換句話說,如果你希望在資料庫裡面創建表的時候保留大小寫字元狀態,則應該把這個參數置0: lower_case_table_names=1 。否則的話你會發現同樣的sqlmp腳本在不同的操作系統下最終導入的結果不一樣(在Windows下所有的大寫字元都變成小寫了)。
『柒』 怎樣把SQL2000資料庫,某一個表裡面的賬號統一修改為小寫的語句
我是來收分的!
Muonline 為資料庫名稱
MEMB_INFO 為數據表名稱
memb___id 為欄位名
-- 下面是SQL語句
use [Muonline] --打開資料庫
UPDATE [MEMB_INFO] SET memb___id = LOWER(memb___id) --這條語句修改表中所有的記錄,請謹慎使用。
給分吧~
『捌』 mysql中資料庫名字分大小寫嗎
分大小寫。
MySQL在Linux下資料庫名、表名、列名、別名大小寫規則是這樣的:資料庫名與表名是嚴格區分大小寫的;表的別名是嚴格區分大小寫的;列名與列的別名在所有的情況下均是忽略大小寫的;變數名也是嚴格區分大小寫的;MySQL在Windows下都不區分大小寫。
不區分大小寫在MySQL中,資料庫和表對就於那些目錄下的目錄和文件。因而,操作系統的敏感性決定資料庫和表命名的大小寫敏感。這就意味著資料庫和表名在Windows中是大小寫不敏感的,而在大多數類型的Unix系統中是大小寫敏感的。
應用環境
與其他的大型資料庫例如Oracle、DB2、SQL Server等相比,MySQL自有它的不足之處,但是這絲毫也沒有減少它受歡迎的程度。對於一般的個人使用者和中小型企業來說,MySQL提供的功能已經綽綽有餘,而且由於 MySQL是開放源碼軟體,因此可以大大降低總體擁有成本。
索引是一種特殊的文件(InnoDB 數據表上的索引是表空間的一個組成部分),它們包含著對數據表裡所有記錄的引用指針。索引不是萬能的,索引可以加快數據檢索操作,但會使數據修改操作變慢。
以上內容參考:網路-mySQL
『玖』 navicat能修改mysql表名大小寫問題嗎
navicat會將所有的表名統一以小寫方式進行顯示,盡管您可以通過手動方式將表名修改為大寫,但是一旦關閉navicat再重新打開,所有的數據表名還是會以小寫狀態顯示出來。
在navicat里未能找到改變有關設置的選項。