mysql創建表字段長度范圍_Mysql的建表規范與注意事項?、 表設計規范

網站建設哪家好,找成都創新互聯公司!專注于網頁設計、網站建設、微信開發、微信小程序開發、集團企業網站建設等服務項目。為回饋新老客戶創新互聯還提供了天山免費建站歡迎大家使用!
庫名、表名、字段名必須使??寫字母,“_”分割。
庫名、表名、字段名必須不超過12個字符。
庫名、表名、字段名見名知意,建議使?名詞?不是動詞。
建議使?InnoDB存儲引擎。
存儲精確浮點數必須使?DECIMAL替代FLOAT和DOUBLE。
建議使?UNSIGNED存儲?負數值。
建議使?INT UNSIGNED存儲IPV4。
整形定義中不添加長度,?如使?INT,?不是INT(4)。
使?短數據類型,?如取值范圍為0-80時,使?TINYINT UNSIGNED。
不建議使?ENUM類型,使?TINYINT來代替。
盡可能不使?TEXT、BLOB類型。
VARCHAR(N),N表?的是字符數不是字節數,?如VARCHAR(255),可以最?可存儲255個漢字,需要根據實際的寬度來選擇N。
VARCHAR(N),N盡可能?,因為MySQL?個表中所有的VARCHAR字段最?長度是65535個字節,進?排序和創建臨時表?類的內存操作時,會使?N的長度申請內存。
表字符集選擇UTF8。
使?VARBINARY存儲變長字符串。
存儲年使?YEAR類型。
存儲?期使?DATE類型。
存儲時間(精確到秒)建議使?TIMESTAMP類型,因為TIMESTAMP使?4字節,DATETIME使?8個字節。
建議字段定義為NOT NULL。
將過?字段拆分到其他表中。
禁?在數據庫中使?VARBINARY、BLOB存儲圖?、?件等。
表結構變更需要通知DBA審核。
?、 索引規范
?唯?索引必須按照“idx_字段名稱_字段名稱[_字段名]”進?命名。
唯?索引必須按照“uniq_字段名稱_字段名稱[_字段名]”進?命名。
索引名稱必須使??寫。
索引中的字段數建議不超過5個。
單張表的索引數量控制在5個以內。
唯?鍵由3個以下字段組成,并且字段都是整形時,使?唯?鍵作為主鍵。
沒有唯?鍵或者唯?鍵不符合5中的條件時,使??增(或者通過發號器獲取)id作為主鍵。
唯?鍵不和主鍵重復。
索引字段的順序需要考慮字段值去重之后的個數,個數多的放在前?。
ORDER BY,GROUP BY,DISTINCT的字段需要添加在索引的后?。
使?EXPLAIN判斷SQL語句是否合理使?索引,盡量避免extra列出現:Using File Sort,UsingTemporary。
UPDATE、DELETE語句需要根據WHERE條件添加索引。
不建議使?%前綴模糊查詢,例如LIKE “%weibo”。
對長度過長的VARCHAR字段建?索引時,添加crc32或者MD5 Hash字段,對Hash字段建?索引。
合理創建聯合索引(避免冗余),(a,b,c) 相當于 (a) 、(a,b) 、(a,b,c)。
合理利?覆蓋索引。
SQL變更需要確認索引是否需要變更并通知DBA。
三、 SQL語句規范
使?prepared statement,可以提供性能并且避免SQL注?。
SQL語句中IN包含的值不應過多。
UPDATE、DELETE語句不使?LIMIT。
WHERE條件中必須使?合適的類型,避免MySQL進?隱式類型轉化。
SELECT語句只獲取需要的字段。
SELECT、INSERT語句必須顯式的指明字段名稱,不使?SELECT *,不使?INSERTINTO table()。
使 ?SELECT column_name1, column_name2 FROM table WHERE[condition]?不是SELECT column_name1 FROM table WHERE[condition]和SELECT column_name2 FROM table WHERE [condition]。
WHERE條件中的?等值條件(IN、BETWEEN、、=)會導致后?的條件使?不了索引。
避免在SQL語句進?數學運算或者函數運算,容易將業務邏輯和DB耦合在?起。
INSERT語句使?batch提交(INSERT INTO tableVALUES(),(),()……),values的個數不應過多。
避免使?存儲過程、觸發器、函數等,容易將業務邏輯和DB耦合在?起,并且MySQL的存儲過程、觸發器、函數中存在?定的bug。
避免使?JOIN。
使?合理的SQL語句減少與數據庫的交互次數。
不使?ORDER BY RAND(),使?其他?法替換。
建議使?合理的分頁?式以提?分頁的效率。
統計表中記錄數時使?COUNT(*),?不是COUNT(primary_key)和COUNT(1)。
禁?在從庫上執?后臺管理和統計類型功能的QUERY。
四、 散表規范
每張表數據量建議控制在5000w以下。
可以結合使?hash、range、lookup table進?散表。
散表如果使?md5(或者類似的hash算法)進?散表,表名后綴使?16進制,?如user_ff。
推薦使?CRC32求余(或者類似的算術算法)進?散表,表名后綴使?數字,數字必須從0開始并等寬,?如散100張表,后綴從00-99。
使?時間散表,表名后綴必須使?特定格式,?如按?散表user_20110209、按?散表user_201102。
五、 其他
批量導?、導出數據需要DBA進?審查,并在執?過程中觀察服務。
批量更新數據,如update,delete 操作,需要DBA進?審查,并在執?過程中觀察服務。
產品出現?數據庫平臺運維導致的問題和故障時,如前端被抓站,請及時通知DBA,便于維護服務穩定。
業務部門程序出現bug等影響數據庫服務的問題,請及時通知DBA,便于維護服務穩定。
業務部門推?活動,請提前通知DBA進?服務和訪問評估。
如果出現業務部門?為誤操作導致數據丟失,需要恢復數據,請在第?時間通知DBA,并提供準確時間,誤操作語句等重要線索。
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
FAQ
1-1.庫名、表名、字段名必須使??寫字母,“_”分割。
a)MySQL有配置參數lower_case_table_names,不可動態更改,Linux系統默認為0,即庫表名以實際情況存儲,??寫敏感。如果是1,以?寫存儲,??寫不敏感。如果是2,以實際情況存儲,但以?寫?較。
b) 如果??寫混合?,可能存在abc,Abc,ABC等多個表共存,容易導致混亂。
c) 字段名顯?區分??寫,但實際使?不區分,即不可以建?兩個名字?樣但??寫不?樣的字段。
d) 為了統?規范, 庫名、表名、字段名使??寫字母。
1-2.庫名、表名、字段名必須不超過12個字符。
庫名、表名、字段名?持最多64個字符,但為了統?規范、易于辨識以及減少傳輸量,必須不超過12字符。
1-3.庫名、表名、字段名見名知意,建議使?名詞?不是動詞。
a) ?戶評論可?表名usercomment或者comment。
b) 庫表是?種客觀存在的事物,?種對象,所以建議使?名詞。
1-4.建議使?InnoDB存儲引擎。
a) 5.5以后的默認引擘,?持事務,?級鎖,更好的恢復性,?并發下性能更好,對多核,?內存,ssd等硬件?持更好。
b) 具體?較可見附件的官???書。
1-5.存儲精確浮點數必須使?DECIMAL替代FLOAT和DOUBLE。
a) mysql中的數值類型(不包括整型):
IEEE754浮點數:float (單精度) , double 或real (雙精度)
定點數: decimal或 numeric
單精度浮點數的有效數字?進制是24位,按?進制來說,是8位;雙精度浮點數的有效數字?進制是53位,按?進制來說,是16 位
?個實數的有效數字超過8位,?單精度浮點數來表?的話,就會產?誤差!同樣,如果?個實數的有效數字超過16位,?雙精度浮點數來表?,也會產?誤差
b)IEEE754標準的計算機浮點數,在內部是??進制表?的,但在將?個?進制數轉換為?進制浮點數時,也會造成誤差,原因是不是所有的數都能轉換成有限長度的?進制數。
即?個?進制可以準確轉換成?進制,但?個帶?數的?進制不?定能夠準確地??進制來表?。
實例:
drop table if exists t;
create table t(value float(10,2));
insert into t values(131072.67),(131072.68);
select value from t;
+-----------+
|value |
+-----------+
| 131072.67 |
| 131072.69 |
+-----------+
1-6.建議使?UNSIGNED存儲?負數值。
同樣的字節數,存儲的數值范圍更?。如tinyint 有符號為 -128-127,?符號為0-255
1-7. 如何使?INT UNSIGNED存儲ip?
使?INTUNSIGNED?不是char(15)來存儲ipv4地址,通過MySQL函數inet_ntoa和inet_aton來進?轉化。Ipv6地址?前沒有轉化函數,需要使?DECIMAL或者兩個bigINT來存儲。例如:
SELECT INET_ATON('209.207.224.40');
3520061480
SELECT INET_NTOA(3520061480);
209.207.224.40
1-8. INT[M],M值代表什么含義?
注意數值類型括號后?的數字只是表?寬度?跟存儲范圍沒有關系,?如INT(3)默認顯?3位,空格補齊,超出時正常顯?,Python、Java客戶端等不具備這個功能。
1-10.不建議使?ENUM、SET類型,使?TINYINT來代替。
a)ENUM,有三個問題:添加新的值要做DDL,默認值問題(將?個?法值插?ENUM(也就是說,允許的值列之外的字符串),將插?空字符串以作為特殊錯誤值),索引值問題(插?數字實際是插?索引對應的值)
實例:
drop table if exists t;
create table t(sex enum('0','1'));
insert into t values(1);
insert into t values('3');
select * from t;
+------+
| sex |
+------+
| 0 |
| |
+------+
2 rows in set (0.00 sec)
1-11.盡可能不使?TEXT、BLOB類型。
a) 索引排序問題,只能使?max_sort_length的長度或者??指定ORDER BY SUBSTRING(column,length)的長度來排序
b) Memory引擘不?持text,blog類型,會在磁盤上?成臨時表
c) 可能浪費更多的空間
d) 可能?法使?adaptive hash index
e) 導致使?where沒有索引的語句變慢
1-13. VARCHAR中會產?額外存儲嗎?
VARCHAR(M),如果M256時會使??個字節來存儲長度,如果M=256則使?兩個字節來存儲長度。
1-14.表字符集選擇UTF8。
a) 使?utf8字符集,如果是漢字,占3個字節,但ASCII碼字符還是1個字節。
b) 統?,不會有轉換產?亂碼風險
c) 其他地區的?戶(美國、印度、臺灣)?需安裝簡體中??持,就能正常看您的?字,并且不會出現亂碼
d)ISO-8859-1編碼(latin1)使?了單字節內的所有空間,在?持ISO-8859-1的系統中傳輸和存儲其他任何編碼的字節流都不會被拋棄。即把其他任何編碼的字節流當作ISO-8859-1編碼看待都沒有問題,保存的是原封不動的字節流。
1-15.使?VARBINARY存儲變長字符串。
?進制字節流,不存在編碼問題
1-18. 為什么建議使?TIMESTAMP來存儲時間?不是DATETIME?
DATETIME和TIMESTAMP都是精確到秒,優先選擇TIMESTAMP,因為TIMESTAMP只有4個字節,?DATETIME8個字節。同時TIMESTAMP具有?動賦值以及?動更新的特性。
如何使?TIMESTAMP的?動賦值屬性?
a) 將當前時間作為ts的默認值:ts TIMESTAMP DEFAULTCURRENT_TIMESTAMP。
b) 當?更新時,更新ts的值:ts TIMESTAMP DEFAULT 0 ONUPDATE CURRENT_TIMESTAMP。
c) 可以將1和2結合起來:ts TIMESTAMP DEFAULTCURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP。
1-19.建議字段定義為NOT NULL。
a)如果null字段被索引,需要額外的1字節
b)使索引,索引統計,值的?較變得更復雜
c)可?0,''代替
d)如果是索引字段,?定要定義為not null
1-21.禁?在數據庫中使?VARBINARY、BLOB存儲圖?、?件等。
采?分布式?件系統更?效
2. 為什么MySQL的性能依賴于索引?
MySQL的查詢速度依賴良好的索引設計,因此索引對于?性能?關重要。合理的索引會加快查詢速度(包括UPDATE和DELETE的速
度,MySQL會將包含該?的page加載到內存中,然后進?UPDATE或者DELETE操作),不合理的索引會降低速度。
MySQL索引查找類似于新華字典的拼?和部?查找,當拼?和部?索引不存在時,只能通過?頁?頁的翻頁來查找。當MySQL查詢不能使?索引時,MySQL會進?全表掃描,會消耗?量的IO。
2-5. 為什么?張表中不能存在過多的索引?
InnoDB的secondaryindex使?b+tree來存儲,因此在UPDATE、DELETE、INSERT的時候需要對b+tree進?調整,過多的索引會減慢更新的速度。
2-11. EXPLAIN語句
EXPLAIN語句(在MySQL客戶端中執?)可以獲得MySQL如何執?SELECT語句的信息。通過對SELECT語句執?EXPLAIN,可以知曉MySQL執?該SELECT語句時是否使?了索引、全表掃描、臨時表、排序等信息。盡量避免MySQL進?全表掃描、使?臨時表、排序等。詳見官??檔。
2-13.不建議使?%前綴模糊查詢,例如LIKE “%weibo”。
會導致全表掃描
2-14. 如何對長度?于50的VARCHAR字段建?索引?
下?的表增加?列url_crc32,然后對url_crc32建?索引,減少索引字段的長度,提?效率。
CREATE TABLE url(
……
url VARCHAR(255) NOT NULL DEFAULT 0,
url_crc32INT UNSIGNED NOT NULL DEFAULT 0,
……
index idx_url(url_crc32)
);
2-16. 什么是覆蓋索引?
InnoDB 存儲引擎中,secondaryindex(?主鍵索引)中沒有直接存儲?地址,存儲主鍵值。如果?戶需要查詢secondaryindex中所不包含的數據列時,需要先通過secondaryindex查找到主鍵值,然后再通過主鍵查詢到其他數據列,因此需要查詢兩次。
覆蓋索引的概念就是查詢可以通過在?個索引中完成,覆蓋索引效率會?較?,主鍵查詢是天然的覆蓋索引。
合理的創建索引以及合理的使?查詢語句,當使?到覆蓋索引時可以獲得性能提升。
?如SELECT email,uid FROM user_email WHEREuid=xx,如果uid不是主鍵,適當時候可以將索引添加為index(uid,email),以獲得性能提升。
3-3.UPDATE、DELETE語句不使?LIMIT。
a) 可能導致主從數據不?致
b) 會記錄到錯誤?志,導致?志占??量空間
3-4. 為什么需要避免MySQL進?隱式類型轉化?
因為MySQL進?隱式類型轉化之后,可能會將索引字段類型轉化成=號右邊值的類型,導致使?不到索引,原因和避免在索引字段中使?函數是類似的。
3-6. 為什么不建議使?SELECT *?
增加很多不必要的消耗(cpu、io、內存、?絡帶寬);增加了使?覆蓋索引的可能性;當表結構發?改變時,前段也需要更新。
3-13. 如何減少與數據庫的交互次數?
使?下?的語句來減少和db的交互次數:
INSERT ... ON DUPLICATE KEY UPDATE
REPLACE
INSERT IGNORE
INSERT INTO values(),()如何結合使?多個緯度進?散表散庫?
例如微博message,先按照crc32(message_id)將message散到16個庫中,然后針對每個庫中的表,?天?成?張新表。
3-14. 為什么不能使?ORDER BY rand()?
因為ORDER BYrand()會將數據從磁盤中讀取,進?排序,會消耗?量的IO和CPU,可以在程序中獲取?個rand值,然后通過在從數據庫中獲取對應的值。
3-15. MySQL中如何進?分頁?
假如有類似下?分頁語句:
SELECT * FROM table ORDER BY TIME DESC LIMIT 10000,10;
這種分頁?式會導致?量的io,因為MySQL使?的是提前讀取策略。
推薦分頁?式:
SELECT * FROM table WHERE TIME
SELECT * FROM tableinner JOIN(SELECT id FROM table ORDER BY TIME LIMIT 10000,10) as t USING(id)
3-17.為什么避免使?復雜的SQL?
拒絕使?復雜的SQL,將?的SQL拆分成多條簡單SQL分步執?。原因:簡單的SQL容易使?到MySQL的querycache;減少鎖表時間特別是MyISAM;可以使?多核cpu。
2. InnoDB存儲引擎為什么避免使?COUNT(*)?
InnoDB表避免使?COUNT(*)操作,計數統計實時要求較強可以使?memcache或者Redis,?實時統計可以使?單獨統計表,定時更新。
¥
5
百度文庫VIP限時優惠現在開通,立享6億+VIP內容
立即獲取
mysql創建表字段長度范圍_Mysql的建表規范與注意事項
mysql創建表字段長度范圍_Mysql的建表規范與注意事項?、 表設計規范
庫名、表名、字段名必須使??寫字母,“_”分割。
庫名、表名、字段名必須不超過12個字符。
庫名、表名、字段名見名知意,建議使?名詞?不是動詞。
建議使?InnoDB存儲引擎。
存儲精確浮點數必須使?DECIMAL替代FLOAT和DOUBLE。
建議使?UNSIGNED存儲?負數值。
建議使?INT UNSIGNED存儲IPV4。
第 1 頁
整形定義中不添加長度,?如使?INT,?不是INT(4)。
使?短數據類型,?如取值范圍為0-80時,使?TINYINT UNSIGNED。
不建議使?ENUM類型,使?TINYINT來代替。
盡可能不使?TEXT、BLOB類型。
VARCHAR(N),N表?的是字符數不是字節數,?如VARCHAR(255),可以最?可存儲255個漢字,需要根據實際的寬度來選擇N。
VARCHAR(N),N盡可能?,因為MySQL?個表中所有的VARCHAR字段最?長度是65535個字節,進?排序和創建臨時表?類的內存操作時,會使?N的長度申請內存。
第 2 頁
表字符集選擇UTF8。
使?VARBINARY存儲變長字符串。
存儲年使?YEAR類型。
存儲?期使?DATE類型。
存儲時間(精確到秒)建議使?TIMESTAMP類型,因為TIMESTAMP使?4字節,DATETIME使?8個字節。
建議字段定義為NOT NULL。
將過?字段拆分到其他表中。
禁?在數據庫中使?VARBINARY、BLOB存儲圖?、?件等。
表結構變更需要通知DBA審核。
第 3 頁
?、 索引規范
?唯?索引必須按照“idx_字段名稱_字段名稱[_字段名]”進?命名。
唯?索引必須按照“uniq_字段名稱_字段名稱[_字段名]”進?命名。
索引名稱必須使??寫。
索引中的字段數建議不超過5個。
單張表的索引數量控制在5個以內。
唯?鍵由3個以下字段組成,并且字段都是整形時,使?唯?鍵作為主鍵。
沒有唯?鍵或者唯?鍵不符合5中的條件時,使??增(或者通過發號器獲取)id作為主鍵。
第 4 頁
唯?鍵不和主鍵重復。
索引字段的順序需要考慮字段值去重之后的個數,個數多的放在前?。
ORDER BY,GROUP BY,DISTINCT的字段需要添加在索引的后?。
使?EXPLAIN判斷SQL語句是否合理使?索引,盡量避免extra列出現:Using File Sort,UsingTemporary。
UPDATE、DELETE語句需要根據WHERE條件添加索引。
不建議使?%前綴模糊查詢,例如LIKE “%weibo”。
對長度過長的VARCHAR字段建?索引時,添加crc32或者MD5 Hash字段,對Hash字段建?索引。
直接寫alter table語句修改字段類型及長度,或者在數據庫連接客戶端右鍵修改表來設置字段長度。
MySQL 數據庫的varchar類型在4.1以下的版本中的最大長度限制為255,其數據范圍可以是0~255或1~255(根據不同版本數據庫來定)。在 MySQL5.0以上的版本中,varchar數據類型的長度支持到了65535,也就是說可以存放65532個字節的數據,起始位和結束位占去了3個字 節,也就是說,在4.1或以下版本中需要使用固定的TEXT或BLOB格式存放的數據可以使用可變長的varchar來存放,這樣就能有效的減少數據庫文 件的大小。
MySQL 數據庫的varchar類型在4.1以下的版本中,nvarchar(存儲的是Unicode數據類型的字符)不管是一個字符還是一個漢字,都存為2個字節 ,一般用作中文或者其他語言輸入,這樣不容易亂碼 ;varchar: 漢字是2個字節,其他字符存為1個字節 ,varchar適合輸入英文和數字。
4.0版本以下,varchar(20),指的是20字節,如果存放UTF8漢字時,只能存6個(每個漢字3字節) ;5.0版本以上,varchar(20),指的是20字符,無論存放的是數字、字母還是UTF8漢字(每個漢字3字節),都可以存放20個,最大大小是65532字節 ;varchar(20)在Mysql4中最大也不過是20個字節,但是Mysql5根據編碼不同,存儲大小也不同,具體有以下規則:
a) 存儲限制
varchar 字段是將實際內容單獨存儲在聚簇索引之外,內容開頭用1到2個字節表示實際長度(長度超過255時需要2個字節),因此最大長度不能超過65535。
b) 編碼長度限制
字符類型若為gbk,每個字符最多占2個字節,最大長度不能超過32766;
字符類型若為utf8,每個字符最多占3個字節,最大長度不能超過21845。
若定義的時候超過上述限制,則varchar字段會被強行轉為text類型,并產生warning。
c) 行長度限制
導致實際應用中varchar長度限制的是一個行定義的長度。 MySQL要求一個行的定義長度不能超過65535。若定義的表長度超過這個值,則提示
ERROR 1118 (42000): Row size too large. The maximum row size for the used table type, not counting BLOBs, is 65535. You have to change some columns to TEXT or BLOBs。
---------------------------------------------------------------------
mysql的vachar字段的類型雖然最大長度是65535,但是并不是能存這么多數據,最大可以到65533(不允許非空字段的時候),當允許非空字段的時候只能到65532。
設置方法:
1、安裝好Mysql后 下載navicat類似管理工具。
2、根據所需連接Mysql,新建數據庫、表,根據字段設置長度。
3、完成后保存數據? 具體操作圖片如下 最總得出結論有長度,小數點設置所以可以設置類型長度。
Navicat是一套快速、可靠并價格相宜的數據庫管理工具,專為簡化數據庫的管理及降低系統管理成本而設。它的設計符合數據庫管理員、開發人員及中小企業的需要。Navicat 是以直覺化的圖形用戶界面而建的,讓你可以以安全并且簡單的方式創建、組織、訪問并共用信息。
1、數據庫一般decimal用的比較多 ,double和float沒用過。其實小數長度是看業務需求的,精度需求。
2、小數長度是看業務需求的。比如拿價格來說,現在少數超市商品有分的,一般都是到角,所以說精度比分小一級就好了,滿足了需求,又可以防止以后需求變動。
可以設置數據類型長度
精確數字
整數
bigint
從 -2^63 (-9223372036854775808) 到 2^63-1 (9223372036854775807) 的整型數據(所有數字)。
int
從 -2^31 (-2,147,483,648) 到 2^31 - 1 (2,147,483,647) 的整型數據(所有數字)。
smallint
從 -2^15 (-32,768) 到 2^15 - 1 (32,767) 的整數數據。
tinyint
從 0 到 255 的整數數據。
bit
bit
1 或 0 的整數數據。
decimal 和 numeric
decimal
從 -10^38 +1 到 10^38 –1 的固定精度和小數位的數字數據。
numeric
功能上等同于 decimal。
money 和 smallmoney
money
貨幣數據值介于 -2^63 (-922,337,203,685,477.5808) 與 2^63 - 1 (+922,337,203,685,477.5807) 之間,精確到貨幣單位的千分之十。
smallmoney
貨幣數據值介于 -214,748.3648 與 +214,748.3647 之間,精確到貨幣單位的千分之十。
近似數字
float
從 -1.79E + 308 到 1.79E + 308 的浮點精度數字。
real
從 -3.40E + 38 到 3.40E + 38 的浮點精度數字。
datetime 和 smalldatetime
datetime
從 1753 年 1 月 1 日到 9999 年 12 月 31 日的日期和時間數據,精確到百分之三秒(或 3.33 毫秒)。
smalldatetime
從 1900 年 1 月 1 日到 2079 年 6 月 6 日的日期和時間數據,精確到分鐘。
字符串
char
固定長度的非 Unicode 字符數據,最大長度為 8,000 個字符。
varchar
可變長度的非 Unicode 數據,最長為 8,000 個字符。
text
可變長度的非 Unicode 數據,最大長度為 2^31 - 1 (2,147,483,647) 個字符。
Unicode 字符串
nchar
固定長度的 Unicode 數據,最大長度為 4,000 個字符。
nvarchar
可變長度 Unicode 數據,其最大長度為 4,000 字符。sysname 是系統提供用戶定義的數據類型,在功能上等同于 nvarchar(128),用于引用數據庫對象名。
ntext
可變長度 Unicode 數據,其最大長度為 2^30 - 1 (1,073,741,823) 個字符。
二進制字符串
binary
固定長度的二進制數據,其最大長度為 8,000 個字節。
varbinary
可變長度的二進制數據,其最大長度為 8,000 個字節。
image
可變長度的二進制數據,其最大長度為 2^31 - 1 (2,147,483,647) 個字節。
其它數據類型
cursor
游標的引用。
sql_variant
一種存儲 SQL Server 支持的各種數據類型(text、ntext、timestamp 和 sql_variant 除外)值的數據類型。
table
一種特殊的數據類型,存儲供以后處理的結果集。
timestamp
數據庫范圍的唯一數字,每次更新行時也進行更新。
uniqueidentifier
全局唯一標識符 (GUID)。
如果是建表語句則在create table時即指定字段類型和長度,如果是修改表,則用alter語句修改,或者直接在客戶端工具上選中表右鍵編輯表,在可視化頁面調整長度都可以。
文章題目:mysql怎么設置長度 mysql怎么修改字段長度
文章網址:http://www.yijiale78.com/article8/doddhip.html
成都網站建設公司_創新互聯,為您提供定制開發、網站內鏈、Google、虛擬主機、域名注冊、微信小程序
聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯