⑴ linux下mysql表名大小寫問題
這個和hibernate 無關,MYSQL的問題
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項。
⑵ 如何將mysql的表名和列名轉換為大寫
剛開始使用 mysql 的時候,剛開始是想要區分列名大小寫的問題,在網上看到很多辦法, 於是就 1、 linux 下 mysql 安裝完後是默認:區分表名的大小寫,不區分列名的大小寫; 2、 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 下都不區分大小寫。 在 my.ini 中的[mysqld]後添加添加 lower_case_table_names=1,重啟 MYSQL 服務, 這時已設置成功:不區分表名的大小寫; lower_case_table_names 參數詳解: lower_case_table_names = 0 其中 0:區分大小寫,1:不區分大小寫 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 但是經過本人的實踐之後如果按此方法修改後表名的區分大小寫指的是你創建一 個表之後,它保留你創建時候的表名的原貌,但是在系統後台存儲的時候此表是不 區分大小寫的,也就是說在創建一個表名僅大小寫不一樣的表是不可以的。 例如; 在修改為表名區分大小寫之後,也就是 lower_case_table_names = 0 (不管是在哪個系 統下)在 mysql 命令行界面下輸入 CREATE TABLE TEST ( Id int not null primary key, Name varchar not null ); 之後你執行 show tables; 會包含一個 TEST 表,表名保留原來的大小寫, 你如果輸入 show tables like 『t%』;是查不到這個新建的表的; 之後你在創建另外一個表, CREATE TABLE test ( Id int not null primary key, Name varchar not null ); 系統會提示你,表 test 已經存在,不允許創建。
⑶ mysql區分表名區分大小寫嗎
用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修改
⑷ sql server資料庫表中各欄位名需要大寫嗎
SQLSERVER默認不區分表名、欄位名和值的大小寫的
==================================
關於SQLSERVER要設置區分大小寫
下面語句是設置SQL Server資料庫是否區分大小寫:(表名和資料庫欄位名)
--修改資料庫不區分大小寫
alter database 資料庫名稱 COLLATE Chinese_PRC_CI_AS
如:alter database zjk_cx COLLATE Chinese_PRC_CI_AS
--修改資料庫區分大小寫
alter database 資料庫名稱 COLLATE Chinese_PRC_CS_AS
如:alter database zjk_cx COLLATE Chinese_PRC_CS_AS
下面是資料庫各行記錄內容是否區分大小寫:(一般在查詢時的where條件中使用)
--不區分大小寫
alter database 資料庫名稱 alter column 欄位名稱 欄位類型 COLLATE Chinese_PRC_CI_AS
如:alter database zjk_cx alter column DBConn varchar(500) COLLATE Chinese_PRC_CI_AS
--區分大小寫
alter database 資料庫名稱 alter column 欄位名稱 欄位類型 COLLATE Chinese_PRC_CS_AS
如:alter database zjk_cx alter column DBConn varchar(500) COLLATE Chinese_PRC_CS_AS
⑸ 資料庫設計時資料庫名表名和列名大小寫問題
有好幾種,如果是java的話
表名可以跟對應的對象名一樣,比如UserInfo,然後列名可以寫跟類的屬性命名形式一樣,比如userName, lastLoginTime, insertTime
這樣命名可能一些自動工具會方便一些(比如hibernate, ibatis都有生成代碼的工具)
還見過一種是表名和列都是全大寫,單詞之間用"_"分割,表名還要加對應的前綴,例如"T_"前綴表示是表, "V_"前綴表示視圖等
網上有一些公司內部自己定的資料庫規範文檔,可以參考下
(對不起!您的提問(回答)中包含不適合發表的內容,請修改後再提交)<--居然提示這個,我擦
⑹ Oracle 訪問資料庫欄位和表名有大小寫區分嗎
Oracle資料庫內部是區分大小寫的。
舉例說明一下:
create table t (id number) ;
等價於
create table T (id number) ;
以上兩種情況下,表名不區分大小寫,默認在數據字典中都是大寫的T
但是如果使用如下的方式創建:
create table "t" (id number) ;
則,表名為小寫。訪問的時候必須使用雙引號。
select * from "t" ;
⑺ oracle 表名和列名都是大寫
oracle中默認的會把表名、欄位名等設置成大寫的,如果你想用小寫字母或是大小寫混合,需要用雙引號把其引起來,例如新建的表名叫tableName,需要的建表語句為:create table "tableName";
⑻ mysql中資料庫名字分大小寫嗎
分大小寫。
MySQL在Linux下資料庫名、表名、列名、別名大小寫規則是這樣的:資料庫名與表名是嚴格區分大小寫的;表的別名是嚴格區分大小寫的;列名與列的別名在所有的情況下均是忽略大小寫的;變數名也是嚴格區分大小寫的;MySQL在Windows下都不區分大小寫。
不區分大小寫在MySQL中,資料庫和表對就於那些目錄下的目錄和文件。因而,操作系統的敏感性決定資料庫和表命名的大小寫敏感。這就意味著資料庫和表名在Windows中是大小寫不敏感的,而在大多數類型的Unix系統中是大小寫敏感的。
應用環境
與其他的大型資料庫例如Oracle、DB2、SQL Server等相比,MySQL自有它的不足之處,但是這絲毫也沒有減少它受歡迎的程度。對於一般的個人使用者和中小型企業來說,MySQL提供的功能已經綽綽有餘,而且由於 MySQL是開放源碼軟體,因此可以大大降低總體擁有成本。
索引是一種特殊的文件(InnoDB 數據表上的索引是表空間的一個組成部分),它們包含著對數據表裡所有記錄的引用指針。索引不是萬能的,索引可以加快數據檢索操作,但會使數據修改操作變慢。
以上內容參考:網路-mySQL
⑼ 資料庫表名有大小寫區分怎麼辦
大多數情況下,資料庫對象名是不區分大小寫的。
什麼資料庫的表名是大小寫區分的?
我所知道的特例是Oracle,正常情況下,無論你輸入的表名是大寫、還是小寫,那麼都以大寫存儲的;使用的時候,大小寫都可以。
而用雙引號引起來的表名,如果是小寫的話,那麼使用的時候,必須用雙引號引起來的小寫才行。
⑽ mysql 表名 應該用大寫嗎
MySQL在Linux下資料庫名、表名、列名、別名大小寫規則是這樣的:
1、資料庫名與表名是嚴格區分大小寫的;
2、表的別名是嚴格區分大小寫的;
3、列名與列的別名在所有的情況下均是忽略大小寫的;
4、變數名也是嚴格區分大小寫的;
MySQL在Windows下都不區分大小寫。