創(chuàng)建測(cè)試主表. ID 是主鍵.
水磨溝網(wǎng)站制作公司哪家好,找創(chuàng)新互聯(lián)建站!從網(wǎng)頁(yè)設(shè)計(jì)、網(wǎng)站建設(shè)、微信開發(fā)、APP開發(fā)、成都響應(yīng)式網(wǎng)站建設(shè)等網(wǎng)站項(xiàng)目制作,到程序開發(fā),運(yùn)營(yíng)維護(hù)。創(chuàng)新互聯(lián)建站2013年至今到現(xiàn)在10年的時(shí)間,我們擁有了豐富的建站經(jīng)驗(yàn)和運(yùn)維經(jīng)驗(yàn),來(lái)保證我們的工作的順利進(jìn)行。專注于網(wǎng)站建設(shè)就選創(chuàng)新互聯(lián)建站。
CREATE TABLE test_main (
id INT,
value VARCHAR(10),
PRIMARY KEY(id)
);
-- 創(chuàng)建測(cè)試子表.
CREATE TABLE test_sub (
id INT,
main_id INT,
value VARCHAR(10),
PRIMARY KEY(id)
);
-- 插入測(cè)試主表數(shù)據(jù).
INSERT INTO test_main(id, value) VALUES (1, 'ONE');
INSERT INTO test_main(id, value) VALUES (2, 'TWO');
-- 插入測(cè)試子表數(shù)據(jù).
INSERT INTO test_sub(id, main_id, value) VALUES (1, 1, 'ONEONE');
INSERT INTO test_sub(id, main_id, value) VALUES (2, 2, 'TWOTWO');
一、Mysql支持以下約束:
※? 主鍵約束 :primary key
※? 唯一性約束:unique key
※? 外鍵約束:foreign key
※? 非空約束:not null
※? 默認(rèn)值約束:default
二、主鍵約束:
一個(gè)表只能有一個(gè)主鍵,當(dāng)建表時(shí)忘記設(shè)置主鍵約束時(shí).設(shè)置為主鍵的列查詢速度會(huì)非???,所以一般會(huì)用聚集索引,這個(gè)我們后面會(huì)講到。
添加主鍵約束:設(shè)置myself表的age為主鍵
語(yǔ)法:alter? table 表名 add primary key;(列名)※? 可以有多個(gè)列名。
三、外鍵約束:
何為外鍵,當(dāng)建表時(shí)需要用到另外一個(gè)表的主鍵作為本表的的主鍵時(shí),需要設(shè)置外鍵。設(shè)置外間后,若想在刪除本表數(shù)據(jù)時(shí)會(huì)級(jí)聯(lián)刪除或者默認(rèn)刪除其他方式。
添加外鍵約束:設(shè)置本表的cno為外鍵
語(yǔ)法:alter table 表名稱 add foreign key (列名稱)? references? 關(guān)聯(lián)表名稱(列名稱);
四、非空約束:
當(dāng)插入新數(shù)據(jù)時(shí)對(duì)應(yīng)的列為不能空。非空約束是相對(duì)于默認(rèn)值約束而說(shuō)的。
添加非空約束:
語(yǔ)法:alter table 表名 modify 列名 列類型 not null;?
五、默認(rèn)值約束:default:
當(dāng)插入時(shí)沒(méi)有插入值時(shí),會(huì)自動(dòng)插入默認(rèn)值。默認(rèn)值約束相對(duì)于非空約束而說(shuō)。
添加默認(rèn)值約束:
語(yǔ)法:alter table 表名 add 列名 列類型 not null default '默認(rèn)值';
六、唯一性約束:
本列的內(nèi)容只能唯一不能重復(fù)。
添加唯一約束:
語(yǔ)法:alter table 列名 add unique(列名稱)? ※可以有多個(gè)列名稱,用逗號(hào)隔開。
create?table?a?(
a_id?int?primary?key,??##主鍵
a_name?varchar(2)
)
create?table?b(
b_id?int?,
b_name?varchar(2)
)
##添加外鍵
alter?table?b?add?constraint?fk_b_a?foreign?key?b_id?references?a(a_id)