1. 程式人生 > >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

相關推薦

mysql長度 長度

識別符號 最大長度 允許的字元 資料庫 64 一個目錄名中允許的任何字元,除了“/”、“\” 或 “.”。 表 64 一個檔名中允許的任何字元,除了 “/” 或 “.”。 列 64 所有的字元。 別名 255 所胡的字元。 注意,除了上面的,在一個識別符號中

navicat設定MySQLint型別的長度INT(M)

1.varchar型別的長度是指這個欄位的字元(字母或漢字)個數。 2.數字型別的長度就不是這個意思,更為複雜。 int型別:長度的設定值範圍1~255(設定0時自動轉為11,不設定時自動轉為預設的11)(顯示寬度),在此範圍內任意長度值的欄位值範圍都是-214748

Python查詢MySQL資料,並提取mysql轉化成DataFrame

今天覆習一下,用python操作mysql以及excel,並且作為橋樑,連線mysql,excel. 那麼既然用到了python操作資料就不免需要用到dataframe做資料分析,本文主要一個麻煩點在於從mysql 中獲取到的資料沒有欄位名, 下面直接上程式碼: import pymys

mybatis解決實體類列名不一樣的問題

Book類有成員變數:bookName,price book表有列名:book_name,price 解決方法一:在BookMapper.xml檔案的sql語句中使用別名 例如: <select id="getAllBooks" resultType="Book">

【Django】orm指定

1.指定欄位名: 在定義欄位的時候,增加引數db_column=’real_field’; 2.指定表名: 在model的class中,新增Meta類,在Meta類中指定表名db_table 例如在某個

關於mysql和保留字衝突的問題

建了個表,有個欄位起名為key,結果insert語句報錯了,說是sql不對。 建表語句如下: CREATE TABLE `base_error_message_test` (   `message_id` varchar(50) NOT NULL,   `message`

Mysql與保留字衝突導致的異常解決

一:引言 用hibernate建表時經常遇到的一個異常:Error executing DDL via JDBC Statement 方法: 檢視報錯sql語句。問題就在這裡。 我是表名(

oracle 等物件的命名長度限制

                原創作品,出自 “深藍的blog” 部落格,歡迎轉載,轉載時請務必註明出處,否則追究版權法律責任。今天在為某系統資料庫結構整理升級指令碼時,遇到了“命名位元組過長的錯誤”,類似於下面的截圖語句:        由於升級的結構中對於欄位名的命名根據業務進行了修改,出現了命名過長的

oracle等物件的命名長度限制

原創作品,出自 “深藍的blog” 部落格,歡迎轉載,轉載時請務必註明出處,否則追究版權法律責任。 今天在為某系統資料庫結構整理升級指令碼時,遇到了“命名位元組過長的錯誤”,類似於下面的截圖語句:         由於升級的結構中對於欄位名的命名根據業務進行了修改,出現

postgresql獲取結構,註釋、型別及長度註釋(轉載)

轉載地址:https://blog.csdn.net/weixin_38924323/article/details/80982760 場景描述:navicate 將postgresql表結構匯出到Excel。 1、查詢表名和表註釋 select relna

Oracle:、constraint長度有限制

說明:複製表(只複製結構,源表名:a 新表名:b)     SQL: select * into b from a where 1<>1 feedom.net   說明:拷貝表(拷貝資料,源表名:a 目標表名:b)   中國網管聯盟www_bitscn_com   SQL: insert

查詢某個型別,長度說明,查詢主鍵資訊,查詢自增列資訊的儲存過程

create PROCEDURE [dbo].[ziduan] /*  function:查詢某個表的欄位名,欄位型別,長度及欄位說明,並asc排序;查詢主鍵資訊;查詢自增列資訊  */ (@biaoming nvarchar(50) )  ASSET NOCOUNT ON

mysql每個型別長度大小與建的型別長度

在建立資料庫表時,例如 create table user ( id int(4) primary key , name varchar(20), pwd varchar(20) ); 括號裡的數字叫資料的寬度,我們不能一概而論,因為不同的資料型別對寬度的處理也不一樣: 1、整數型別,這裡顯示的寬度

Oracle中查詢庫中的長度、是否為空等

--查詢所有的表名 select t.table_name from user_tables t; --查詢表的欄位名 select t.column_name from user_col_co

Oracle修改結構長度

新增欄位的語法:alter table tablename add (column datatype [default value][null/not null],….); 修改欄位的語法:al

資料庫限制長度

Oracle 的命名規則: 1、要以字母開頭 2、包含字母和數字,以及# $ 3、不能超過30個字元 資料庫表名、欄位名的長度限制:  資料庫                 表名      

SQL Server 2008獲取一個,型別,長度,是否主鍵,是否為空,註釋等資訊

SELECT [表名]= case when a.colorder=1 then d. name else '' end , [表說明]= case when

mysql中獲取&的查詢語句

  1:查詢資料庫中所有表名  select table_name   from information_schema.tables   where table_schema='csdb' and table_type='base table';   table_schema:用於限定資料

mysql 獲得指定資料庫所有以及指定的所有

SELECT COLUMN_NAME 列名, DATA_TYPE 欄位型別, COLUMN_COMMENT 欄位註釋 FROM information_schema. COLUMNS WHERE

navicat mysql查資料庫中表數量,數量(持續更新中)

1.查資料庫中表數量 (紅色標記的是常用到的重要的表結構資訊表) mysql> use information_schema;Database changedmysql> show tables;+-------------------------------