MySQL表的創(chuàng)建及字段介紹(小白入門篇)
引言
“ 這是MySQL系列筆記的第一篇,文章內(nèi)容均為本人通過實(shí)踐及查閱資料相關(guān)整理所得,可用作新手入門指南,或者個(gè)人知識(shí)點(diǎn)查閱。”
庫的下一級單位是表,表再往下是字段,所以這一篇筆記我們先介紹一下表字段,然后再介紹如何創(chuàng)建表的操作
- 表字段介紹
- 創(chuàng)建表
- 查看表信息
1、表字段介紹
這里介紹幾種常用的字段類型:
varchar
可變長字符,這個(gè)可變針對的是 MySQL 底層對該字段存儲(chǔ)的長度是可變的
比如我們給某字段定義 varchar(100),當(dāng)我們插入數(shù)據(jù),給該字段傳入 10個(gè)字符,或者100個(gè)字符都是可以的,MySQL 會(huì)根據(jù)給定字符串來存儲(chǔ)長度
與之對應(yīng)的是 char 這是定長字符,當(dāng)我們定義 char(100),我們可以存儲(chǔ) 10個(gè)字符,也可以存儲(chǔ)100 個(gè)字符,但不管我們存多少, MySQL 在底層對這個(gè)字段都會(huì)給出 100 個(gè)字符長度存儲(chǔ)
varchar 字節(jié)可存儲(chǔ)范圍為 0-65535,但實(shí)際上并不能真的存儲(chǔ)這么長的字節(jié)數(shù)
如果字節(jié)長度不超過 255,則需要一個(gè)字節(jié)來存儲(chǔ)長度,
如果長度超過255則額外需要兩個(gè)字節(jié)來存儲(chǔ)長度
還有一些其他的原因,導(dǎo)致 varchar 的最大存儲(chǔ)長度是會(huì)小于 65535 的
int
整型,用于儲(chǔ)存證書,四個(gè)字節(jié),一個(gè)字節(jié)八位,所以存儲(chǔ)的范圍 -2 ^ (48 - 1) ~ 2 ^ (48 - 1) - 1,也就是 -2^31 ~ 2^31 - 1
datetime
日期時(shí)間,包括年月日時(shí)分秒的數(shù)據(jù)
text
文本字段,可以存儲(chǔ) 65535 個(gè)字節(jié)到 64kb 的數(shù)據(jù),記住一點(diǎn),text 字段是個(gè)筐,啥都往里裝。
2、創(chuàng)建表
以下是創(chuàng)建一張表的基本語法:
create?table?if?not?exists?table_name( ?id?int?not?null?auto_increment?primary?key, ?name?varchar(100)?not?null, ?num?int?default?0 );
在我們進(jìn)入 MySQL 之后,use 一個(gè) DATABASE 就可以運(yùn)行上面的創(chuàng)建表的命令。
第一行有一個(gè) if not exists
,后面緊跟著將要?jiǎng)?chuàng)建的表名,表示如果不存在該表,則創(chuàng)建
第二行,id int not null
是表示創(chuàng)建的 id 字段不允許為 null,auto_increment 參數(shù)表示是自增,primary key 則表示是主鍵
第三行表示 name 字段為 varchar(100) 字符串類型,且長度最大為 100個(gè)字符長度,not null 表示該字段不允許為 null
第四行表示 num 字段為整型數(shù)據(jù),且 default 是默認(rèn)值為 0
3、查看表信息
我們可以通過 DESC 命令來查看一張表的基本信息:
DESC?table_name;
大致會(huì)顯示下面的內(nèi)容:
+-------+--------------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
+-------+--------------+------+-----+---------+----------------+
| id | int(11) | NO | PRI | NULL | auto_increment |
| name | varchar(100) | NO | | NULL | |
| num | int(11) | YES | | 0 | |
+-------+--------------+------+-----+---------+----------------+
返回的就包含了這張表所有的信息
Field 這列表示的是字段名
Type 表示的是字段類型,比如 int, varchar 等
Null 表示是否允許為 Null 值,No 表示不允許為 Null
Key 表示該字段是否有一些約束信息,比如 主鍵 PRI,或者 唯一鍵 UNI
Default 表示該字段的默認(rèn)值
Extra 這一行是一些額外的信息,比如 auto_increment 自增的屬性
可以看到, DESC table_name 命令這條命令之后,將我們創(chuàng)建表的屬性都展示了出來。
創(chuàng)建相同表
如果是想創(chuàng)建一張和某表一樣表結(jié)構(gòu)的表,可以用下面下面的命令獲得創(chuàng)建表的語句:
show?create?table?table_name;
然后就可以獲得創(chuàng)建該表的 sql 語句,把創(chuàng)建的表名更改為需要新建的表名運(yùn)行就可以了。
以上就是MySQL表的創(chuàng)建及字段介紹(小白入門篇)的詳細(xì)內(nèi)容,更多關(guān)于MySQL表創(chuàng)建表字段的資料請關(guān)注腳本之家其它相關(guān)文章!
相關(guān)文章
MySQL報(bào)錯(cuò)1118,數(shù)據(jù)類型長度過長問題及解決
在使用MySQL過程中,常見的一個(gè)問題是報(bào)錯(cuò)1118,這通常發(fā)生在創(chuàng)建表時(shí),錯(cuò)誤提示為“Row size too large. The maximum row size for the used table type, not counting BLOBs, is 65535. This includes storage overhead, check the manual2024-10-10MSQL中DATETIME或TIMESTAMP的區(qū)別小結(jié)
MySQL中的?DATETIME?和?TIMESTAMP?類型都用于存儲(chǔ)日期和時(shí)間信息,本文主要介紹了MSQL中DATETIME或TIMESTAMP的區(qū)別小結(jié),具有一定的參考價(jià)值,感興趣的可以了解一下2024-03-03MySQL批量修改表及表內(nèi)字段排序規(guī)則舉例詳解
在MySQL中字段排序規(guī)則(也稱為字符集和排序規(guī)則)用于確定如何比較和排序字符串,下面這篇文章主要給大家介紹了關(guān)于MySQL批量修改表及表內(nèi)字段排序規(guī)則的相關(guān)資料,需要的朋友可以參考下2024-05-05mysql8.0.30安裝配置最詳細(xì)教程(windows?64位)
這篇文章主要給大家介紹了關(guān)于windows?64位下mysql8.0.30安裝配置的相關(guān)資料,主要以圖片的形式展示安裝教程x,簡單易懂,小白專屬,需要的朋友可以參考下2022-09-09詳解如何對MySQL數(shù)據(jù)庫進(jìn)行授權(quán)管理
MySQL數(shù)據(jù)授權(quán)是指數(shù)據(jù)庫管理員通過設(shè)置權(quán)限,控制用戶對數(shù)據(jù)庫中的數(shù)據(jù)的訪問和操作能力,在MySQL中,每個(gè)用戶賬戶都有特定的權(quán)限,本文給大家介紹了如何對MySQL數(shù)據(jù)庫進(jìn)行授權(quán)管理,需要的朋友可以參考下2024-11-11Mysql 日期時(shí)間 DATE_FORMAT(date,format)
Mysql 日期時(shí)間 DATE_FORMAT(date,format) ,需要的朋友可以參考下。2010-12-12