天天看點

mysql爆破表名長度_mysql字段名長度 表長度

辨別符

最大長度

允許的字元

資料庫

64

一個目錄名中允許的任何字元,除了“/”、“\” 或 “.”。

64

一個檔案名中允許的任何字元,除了 “/” 或 “.”。

64

所有的字元。

别名

255

所胡的字元。

注意,除了上面的,在一個辨別符中還不能有 ASCII(0) 或 ASCII(255) 或引用字元。

注意,如果辨別符是一個受限掉的詞或包含特殊的字元,當使用它時,必須以一個 ` (backtick) 來引用它。

mysql> SELECT * FROM `select` WHERE `select`.id > 100;

檢視章節

6.1.7 MySQL 對保留字挑剔嗎?

在 MySQL 3.23.6 以前的版本中,命名規則如下:

一個名字可以由目前字元集中包含的文字與數字字元以及 “_” 和 “$” 組成。預設字元集為 ISO-8859-1 Latin1;這可以通過改變 mysqld 的 --default-character-set 的選項來改變。檢視章節

4.6.1 用于資料和排序的字元集

一個名字可以以在名字中合法的任何字元開始。特别地,一個名字可以以一個數字開始(這不同于許多其它的資料庫系統!)。但一個名字不能 僅僅 以數字組成。

不能在名字中使用 “.” 字元,因為它是用于擴充格式的,你可以用它引用列(見下面)。

建議不要使用象 1e 這樣的名字,因為一個表達式 1e+1 是存在二義性的。它可以被解釋為表達式 1e + 1 或數字 1e+1。

在 MySQL 中,你可以使用下清單格中的任一種方式引用一個列:

列引用

含義

col_name

列 col_name 來自查詢所用的任何一個表中對應字段

tbl_name.col_name

列 col_name 來自目前資料庫中的表 tbl_name

db_name.tbl_name.col_name

列 col_name 來自資料庫 db_name 中的表 tbl_name。這個形式從 MySQL 3.22 或以後版本開始可用。

`column_name`

該字段是一個關鍵詞或包含特殊字元。

在一條語句中的列引用中,不需要明确指定一個 tbl_name 或 db_name.tbl_name 字首,除非這個引用存在二義性。例如,假設表 t1 和 t2 均包含一個字段 c,當用一個使用了 t1 和 t2 的 SELECT 檢索 c 時。在這種情況下,c 存在二義性,因為它在這個語句所使用的表中不是唯一的,因而必須通過寫出 t1.c 或 t2.c 來指明你所需的是哪個表。同樣的,如果從資料庫 db1 的表 t 和資料庫 db2 的表 t 中檢索,你必須用db1.t.col_name 和 db2.t.col_name 來指定引用哪個庫表的列。

句法 .tbl_name 意味着表 tbl_name 在目前資料庫中。這個句法是為了與 ODBC 相容,因為一些 ODBC 程式以一個 “.” 字元作為表名的字首。

6.1.3 名字的大小寫敏感性

在 MySQL 中,資料庫和表對就于那些目錄下的目錄和檔案。因而,作業系統的敏感性決定資料庫和表命名的大小寫敏感。這就意味着資料庫和表名在 Windows 中是大小寫不敏感的,而在大多數類型的 Unix 系統中是大小寫敏感的。一個特例是 Mac OS X,當預設的 HFS+ 檔案系統使用時。然而 Mac OS X 還支援 UFS 卷,那些在 Mac OS X 是大小寫敏感的就如他們在任一 Unix 上一樣。檢視章節

1.8.3 MySQL 對 ANSI SQL92 的擴充

注意:盡管在 Windows 中資料庫與表名是忽略大小寫的,你不應該在同一個查詢中使用不同的大小寫來引用一個給定的資料庫和表。下面的查詢将不能工作,因為它以 my_table 和 MY_TABLE 引用一個表:

mysql> SELECT * FROM my_table WHERE MY_TABLE.col=1;

列名與列的别名在所有的情況下均是忽略大小寫的。

表的别名是區分大小寫的。下面的查詢将不能工作,因為它用 a 和 A 引用别名:

mysql> SELECT col_name FROM tbl_name AS a

->                 WHERE a.col_name = 1 OR A.col_name = 2;

如果記憶資料庫和表名的字母大小寫有困難,建議采用一個一緻一約定,例如總是以小寫字母建立資料庫和表。

避免這個問題的另一個辦法就是以 -O lower_case_table_names=1 參數啟動 mysqld。預設地在 Windows 中這個選項為 1 ,在 Unix 中為 0。

如果 lower_case_table_names 為 1 ,MySQL 将在存儲與查找時将所有的表名轉換為小寫字線。(從 MySQL 4.0.2 開始,這個選項同樣适用于資料庫名。) 注意,當你更改這個選項時,你必須在啟動 mysqld 前首先将老的表名轉換為小寫字母。

如果将 MyISAM 從 Windows 移動到一個 Unix 磁盤中,在某些情況下你可能需要使用 “mysql_fix_extensions” 工具來修正指定資料庫目錄下的檔案擴充名(小寫字母 “.frm”,大寫字母 “.MYI” 和 “.MYD”)。“mysql_fix_extensions” 存放在 “scripts” 子目錄下。

6.1.4 使用者變量

MySQL 支援連接配接特定(connection-specific)的使用者變量,用 @variablename 句法表示。一個變量名可以由目前字元集中包含的文字與數字字元以及 “_”、“$” 和 “.” 組成。缺少的字元集為 ISO-8859-1 Latin1;這可以通過改變 mysqld 的--default-character-set 的選項來改變。

轉自: http://hi.baidu.com/wuyunchong/item/84842e2f51beec0843634a20