MySQL表的創(chuàng)建及字段介紹(小白入門篇)
引言
“ 這是MySQL系列筆記的第一篇,文章內(nèi)容均為本人通過實踐及查閱資料相關(guān)整理所得,可用作新手入門指南,或者個人知識點查閱。”
庫的下一級單位是表,表再往下是字段,所以這一篇筆記我們先介紹一下表字段,然后再介紹如何創(chuàng)建表的操作
- 表字段介紹
- 創(chuàng)建表
- 查看表信息
1、表字段介紹
這里介紹幾種常用的字段類型:
varchar
可變長字符,這個可變針對的是 MySQL 底層對該字段存儲的長度是可變的
比如我們給某字段定義 varchar(100),當(dāng)我們插入數(shù)據(jù),給該字段傳入 10個字符,或者100個字符都是可以的,MySQL 會根據(jù)給定字符串來存儲長度
與之對應(yīng)的是 char 這是定長字符,當(dāng)我們定義 char(100),我們可以存儲 10個字符,也可以存儲100 個字符,但不管我們存多少, MySQL 在底層對這個字段都會給出 100 個字符長度存儲
varchar 字節(jié)可存儲范圍為 0-65535,但實際上并不能真的存儲這么長的字節(jié)數(shù)
如果字節(jié)長度不超過 255,則需要一個字節(jié)來存儲長度,
如果長度超過255則額外需要兩個字節(jié)來存儲長度
還有一些其他的原因,導(dǎo)致 varchar 的最大存儲長度是會小于 65535 的
int
整型,用于儲存證書,四個字節(jié),一個字節(jié)八位,所以存儲的范圍 -2 ^ (48 - 1) ~ 2 ^ (48 - 1) - 1,也就是 -2^31 ~ 2^31 - 1
datetime
日期時間,包括年月日時分秒的數(shù)據(jù)
text
文本字段,可以存儲 65535 個字節(jié)到 64kb 的數(shù)據(jù),記住一點,text 字段是個筐,啥都往里裝。
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 一個 DATABASE 就可以運行上面的創(chuàng)建表的命令。
第一行有一個 if not exists,后面緊跟著將要創(chuàng)建的表名,表示如果不存在該表,則創(chuàng)建
第二行,id int not null 是表示創(chuàng)建的 id 字段不允許為 null,auto_increment 參數(shù)表示是自增,primary key 則表示是主鍵
第三行表示 name 字段為 varchar(100) 字符串類型,且長度最大為 100個字符長度,not null 表示該字段不允許為 null
第四行表示 num 字段為整型數(shù)據(jù),且 default 是默認(rèn)值為 0
3、查看表信息
我們可以通過 DESC 命令來查看一張表的基本信息:
DESC?table_name;
大致會顯示下面的內(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)建的表名更改為需要新建的表名運行就可以了。
以上就是MySQL表的創(chuàng)建及字段介紹(小白入門篇)的詳細(xì)內(nèi)容,更多關(guān)于MySQL表創(chuàng)建表字段的資料請關(guān)注腳本之家其它相關(guān)文章!
相關(guān)文章
MySQL算術(shù)/比較/邏輯/位/運算符與正則舉例詳解
每種數(shù)據(jù)庫都支持SQL語句,但是它們也都有各自支持的運算符,下面這篇文章主要給大家介紹了關(guān)于MySQL算術(shù)/比較/邏輯/位/運算符與正則的相關(guān)資料,文中通過實例代碼介紹的非常詳細(xì),需要的朋友可以參考下2023-02-02
MySQL數(shù)據(jù)庫中存儲圖片和讀取圖片的操作代碼
在MySQL數(shù)據(jù)庫中存儲圖片通常有兩種主要方式:將圖片以二進(jìn)制數(shù)據(jù)(BLOB 類型)直接存儲在數(shù)據(jù)庫中,或者將圖片文件存儲在服務(wù)器文件系統(tǒng)上,而在數(shù)據(jù)庫中存儲圖片的路徑或URL,以下是這兩種方法的詳細(xì)解釋,包括存儲和讀取操作,需要的朋友可以參考下2024-11-11
從入門到高階實戰(zhàn)詳解如何使用MySQL做數(shù)據(jù)統(tǒng)計
這篇文章主要為大家詳細(xì)介紹了MySQL中統(tǒng)計分析的核心功能,包括基礎(chǔ)聚合函數(shù),分組統(tǒng)計,窗口函數(shù)(8.0+以及性能優(yōu)化策略,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以了解下2026-03-03
MySQL學(xué)習(xí)記錄之KEY分區(qū)引發(fā)的血案
這篇文章主要給大家介紹了關(guān)于MySQL學(xué)習(xí)記錄之KEY分區(qū)引發(fā)的血案的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-11-11
MySQL的id關(guān)聯(lián)和索引使用的實際優(yōu)化案例
這篇文章主要介紹了MySQL的id關(guān)聯(lián)實際優(yōu)化案例,關(guān)聯(lián)和索引一直是MySQL常見的可優(yōu)化大塊兒,需要的朋友可以參考下2015-05-05
mysql8關(guān)閉binlog并清空Binlog的方法
這篇文章主要介紹了mysql8關(guān)閉binlog并清空Binlog,本文通過實例代碼給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下2023-09-09

