亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 數據庫 > MySQL > 正文

MySQL所支持的數據類型與表字段約束類型的學習教程

2024-07-24 13:08:18
字體:
來源:轉載
供稿:網友
這篇文章主要介紹了MySQL所支持的數據類型與表字段約束類型的學習教程,是MySQL入門學習中的基礎知識,需要的朋友可以參考下
 

MySQL 數據(字段)類型
在創建表的時候,要明確定義字段對應的數據類型。MySQL 主要的數據類型分為數值類型、字符串(文本)類型、時間日期類型和其他類型幾類。
數值類型
數值類型說明:

MySQL所支持的數據類型與表字段約束類型的學習教程

補充說明
在 int(integer) 系列中,只能存儲整型值,且可以在后面用括號指定顯示的尺寸(M),如果不指定則會默認分配。如果實際值的顯示寬度大于設定值,將會顯示實際值而不會截斷以適應顯示尺寸。如 smallint(3) 中的 3 即為顯示尺寸,即顯示三位的數值(不包括 - 號)
int 類型可以指定 UNSIGNED 屬性,即無符號(非負),所以存儲范圍有兩種
在 float、double 及 decimal 類型中,不能指定 UNSIGNED 屬性,其顯示尺寸包含了小數點精度(D),即 float(3,1) 保存范圍為 -99.9 至 99.9
decimal 必須指定顯示尺寸(M)和小數點精度(D),float 和 double 都是可選的
在可能涵蓋取值范圍的基礎上,盡可能選擇較小的類型以提高效率和節約存儲空間,如年齡,就選擇 tinyint(3) 。該原則對于字符類型同樣適用
字符串(文本)類型
字符串(文本)類型說明:

MySQL所支持的數據類型與表字段約束類型的學習教程

補充說明
char 和 varcha 需要指定長度,不同的是,char 存儲時總是按照指定的長度儲存,而 varchar 則根據實際字符串長度再加上一個字節分配空間。
時間日期類型
時間日期類型說明:

MySQL所支持的數據類型與表字段約束類型的學習教程

提示
在 PHP 中,一般情況下對于時間都是按照 UNIX 時間戳以 int 類型存儲于表中,再根據實際需要用 PHP 的時間函數進行處理,但不完全都是這樣。

MySQL 表字段屬性
主鍵
表的主鍵(primary key,主關鍵字)是表中的一個或多個字段,它的值用于惟一地標識表中的某一條記錄。一個表不能有多個主關鍵字,并且主關鍵字的列不能包含空值和重復值。主關鍵字是可選的,并且可在 CREATE TABLE 或 ALTER TABLE 語句中定義。
語法:
PRIMARY KEY (column_name)

MySQL所支持的數據類型與表字段約束類型的學習教程

在這個表中,uid 這個字段就是該表的主鍵。
建立主鍵應該遵循的一般原則
主鍵應當是對用戶沒有意義的
永遠也不要更新主鍵,如果主鍵需要更新,則說明主鍵應對用戶無意義的原則被違反了
主鍵不應包含動態變化的數據,如時間戳、創建時間等
主鍵應當由系統自動生成
外鍵
在兩個表的關系中,當一張表(如表A )的主關鍵字被包含在另一張表(如表B)中時,A 表中的主關鍵字便成為 B 表的外鍵(外關鍵字)。B 表稱為主表,A 表稱為從表。
外鍵主要用于保持數據一致性,完整性,避免冗余數據,使兩張或多張表形成關聯。

MySQL所支持的數據類型與表字段約束類型的學習教程

在這個文章評論表 comment 樣例中,uid 便是外鍵,它是 user 表的主鍵。在該表中記錄了用戶對文章的評論,關于用戶信息,只需對應 user 表的主鍵 uid 即可。在數據一致性方面,比如當 comment 表沒有 uid 為 3 的評論后,才可以刪除 user 表中 uid = 3 的記錄。
自動遞增
在 MySQL 數據庫中,提供了字段的自動遞增(AUTO_INCREMENT)屬性,即將該字段設置為 int 類的數據類型,每向數據表添加一條記錄,該字段的值會自動加1 。設置了自動遞增后,該列不用再設置默認值和唯一性約束。
例子:

uid mediumint(8) NOT NULL auto_increment

非空
因為邏輯上的一些要求,有時候需要把字段屬性設置為非空(NOT NULL),如記錄用戶名、密碼等非空值的字段。
設置為非空的列,雖然不是必須,但最好設定一個默認值,以防止意外的錯誤和減少增加數據時的 SQL 語句復雜度。當向數據表增加數據記錄時,如果設置為非空的字段不寫入數據,系統將會以默認值寫入。
例子:

username char(20) NOT NULL default ''//將NOT NULL 改為 NULLALTER TABLE user CHANGE username username char(20) NULL

提示
在上面的例子中 CHANGE 后面 username username ,前者表示更改的字段名,后者表示新字段名。在本例中,只更改了字段屬性為 NULL ,不涉及到字段名稱的更改,因此二者一致。

與非空相反,可以將字段屬性設置為空,如果字段屬性沒有設置為非空(NOT NULL)屬性,那么系統默認就是可以為空(NULL)值的。
將NULL 改為 NOT NULL:

ALTER TABLE user CHANGE username username char(20) NOT NULL DEFAULT ''

唯一性約束
有時候某些字段數據不允許重復,如用戶名,這時候就需要增加唯一性約束(UNIQUE)。
語法:

UNIQUE (column_name)//給表字段增加 UNIQUEALTER TABLE tb_name ADD UNIQUE (column_name)//去掉 UNIQUEALTER TABLE tb_name DROP INDEX column_name

主鍵(PRIMARY KEY)會強制性的擁有自動定義的唯一性約束,不用額外定義 UNIQUE 。
索引
數據庫索引(index)是為了增加查詢速度而對字段附加的一種標識。我們對表的某些可能需要經常查詢的字段建立適當的索引,那么在查詢該字段數據時,便會顯著的加快查詢速度。
語法:
KEY key_name (column_name)
KEY 后面的字符為索引名稱,括號內為建立索引的字段名。
改進后的建表 SQL

CREATE TABLE user (  uid mediumint(8) unsigned NOT NULL auto_increment,  username char(15) NOT NULL default '',  password char(32) NOT NULL default '',  email varchar(40) NOT NULL default '',  regdate int(10) unsigned NOT NULL default '0',  PRIMARY KEY (uid),  UNIQUE KEY username (username),  KEY email (email)) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ;

補充說明
在建表語句正文后面還附加了建表的其它幾個屬性:
ENGINE:表示存儲引擎類型,分為 MyISAM 和 InnoDB 兩種類型。MyISAM 不支持事務處理等高級處理,強調表的性能,執行也比 InnoDB 快。而 InnoDB 提供事務支持已經外部鍵等高級數據庫功能,性能上比 MyISAM 差。默認為 MyISAM 類型
CHARSET:表示數據表表字符集,一般為 gbk 或 utf8 以及 big5 等,為了兼容性考慮,我們設置為 utf8 字符集
AUTO_INCREMENT:設置主鍵默認增長的開始數



注:相關教程知識閱讀請移步到MYSQL教程頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
久久精品中文字幕电影| 国产精品久久久久秋霞鲁丝| 97视频在线观看视频免费视频| 亚洲国产日韩欧美在线99| 国产欧美久久一区二区| 欧美精品在线极品| 精品无人区乱码1区2区3区在线| 亚洲free性xxxx护士hd| 日韩大陆毛片av| 日韩美女写真福利在线观看| 欧美夫妻性生活视频| 亚洲精品国产免费| 日韩高清电影好看的电视剧电影| 国产成人福利网站| 国产精品中文字幕在线观看| 欧美激情精品久久久久久久变态| 精品日本高清在线播放| 亚洲精品欧美日韩| 国产成人精品视频在线| 91天堂在线观看| 国产精品偷伦一区二区| 亚洲精品99久久久久中文字幕| 97精品久久久中文字幕免费| 国产精品美女久久久久久免费| 日韩福利视频在线观看| 在线精品国产欧美| 成人免费直播live| 久久不射电影网| 欧美性猛交xxx| 大桥未久av一区二区三区| 在线午夜精品自拍| 性色av一区二区三区红粉影视| 久久久久久久97| 国产在线精品成人一区二区三区| 欧美性猛交xxxx乱大交| 久久久亚洲国产天美传媒修理工| 欧美另类精品xxxx孕妇| 91久久精品一区| 欧美一区二粉嫩精品国产一线天| 91精品久久久久久久久不口人| 色老头一区二区三区| 欧美性猛交xxxx偷拍洗澡| 亚洲精品电影网站| 亚洲一区二区三区视频播放| 这里只有精品久久| 俺去啦;欧美日韩| 久久久精品久久久久| 国产欧美在线视频| 亚洲国产成人在线播放| 久久精品国产免费观看| 欧美疯狂xxxx大交乱88av| 久久精品国产v日韩v亚洲| 福利视频导航一区| 欧美区二区三区| 欧美性视频在线| 亚洲精选一区二区| 一区二区福利视频| 在线观看日韩www视频免费| 中文字幕亚洲国产| 欧美大全免费观看电视剧大泉洋| 97久久伊人激情网| 精品国产一区二区三区久久久狼| 在线免费观看羞羞视频一区二区| 亚洲天堂成人在线视频| 秋霞成人午夜鲁丝一区二区三区| 日本视频久久久| 97婷婷大伊香蕉精品视频| 国产一区二区精品丝袜| 亚洲人成电影网站色| 亚洲v日韩v综合v精品v| 一区二区三区久久精品| 久久久久北条麻妃免费看| 亚洲一区第一页| 狠狠操狠狠色综合网| 国产主播欧美精品| 97国产在线视频| 欧美高清第一页| 国模精品视频一区二区| 国产精品久久一区| 91爱爱小视频k| 91网站免费观看| 91精品一区二区| 久久久久99精品久久久久| 欧美日韩免费网站| 亚洲人成人99网站| 成人国产精品久久久久久亚洲| 欧美亚洲国产日本| 亚洲成人av片在线观看| 国产精品久久久久高潮| 一区二区三区无码高清视频| 亚洲香蕉av在线一区二区三区| 日韩成人性视频| 国产一区二区三区三区在线观看| 欧美电影在线观看高清| 国产99久久精品一区二区永久免费| 中文字幕欧美亚洲| 91免费精品国偷自产在线| 久久久人成影片一区二区三区| 亚洲大胆美女视频| 久久777国产线看观看精品| 欧美日韩免费在线| 国产成人精品视频在线观看| 亚洲人成伊人成综合网久久久| 欧美日韩国产成人在线| 国产剧情日韩欧美| 欧美精品videos性欧美| 亚洲欧美日韩中文视频| 国产精品国内视频| 日韩欧美中文免费| 日韩av在线网| 国产精品你懂得| 亚洲成人激情在线观看| 国产精品久久久久久av福利| 国产精品久久久久久网站| 日韩性xxxx爱| 亚洲欧美另类中文字幕| 欧美床上激情在线观看| www.午夜精品| 久久精品国产69国产精品亚洲| 欧美一区二区色| 亚洲区免费影片| 97成人在线视频| 欧美日韩国产精品一区二区不卡中文| 国产精品久久久久久亚洲影视| 日韩av在线影院| 亚洲天堂日韩电影| 国产视频在线观看一区二区| 日韩成人小视频| 亚洲欧美一区二区三区四区| 亚洲性夜色噜噜噜7777| 日韩美女免费观看| 日韩欧美高清视频| 国产精品久久久久久久久| 欧美激情极品视频| 国产精品h片在线播放| 51色欧美片视频在线观看| 欧美精品在线免费观看| 国产精品观看在线亚洲人成网| 欧美孕妇性xx| 日韩av最新在线| 日韩国产中文字幕| 日韩有码视频在线| 红桃av永久久久| 日本在线观看天堂男亚洲| 国产成人一区二区三区电影| 疯狂蹂躏欧美一区二区精品| 久久噜噜噜精品国产亚洲综合| 亚洲第一视频在线观看| 91亚洲va在线va天堂va国| 伊人久久精品视频| 91视频国产一区| 色噜噜狠狠色综合网图区| 欧美亚洲一区在线| 国产精品影片在线观看| 青青草成人在线| 91国产精品电影| 精品国产乱码久久久久久虫虫漫画| 日韩在线资源网| 久久久久这里只有精品| 欧美第一淫aaasss性| 日韩国产欧美精品在线| 国内精品久久影院| 日韩精品久久久久久福利| 91在线观看免费网站|