MySQL(2):數據管理

一. 外鍵概念:

若是公共關鍵字在一個關係中是主關鍵字,那麼這個公共關鍵字被稱爲另外一個關係的外鍵。因而可知,外鍵表示了兩個關係之間的相關聯繫。以另外一個關係的外鍵做主關鍵字的表被稱爲主表,具備此外鍵的表被稱爲主表的從表。在實際操做中,將一個表的值放入第二個表來表示關聯,所使用的值是第一個表的主鍵值(在必要時可包括複合主鍵值)。此時,第二個表中保存這些值的屬性稱爲外鍵(foreign key)3d

二. 外鍵做用:

保持數據一致性,完整性,主要目的是控制存儲在外鍵表中的數據,約束。 使兩張表造成關聯,外鍵只能引用外表中的列的值或使用空值code

三. 建立外鍵

1.建立父表 grade

CREATE TABLE `grade`(
`gradeid` INT(10)  NOT NULL AUTO_INCREMENT COMMENT '年級ID',
`gradename` VARCHAR(50) NOT NULL  COMMENT '年級名稱',
 PRIMARY KEY (`gradeid`)
)ENGINE=INNODB DEFAULT CHARSET=utf8

父表圖
在這裏插入圖片描述blog

2.建立子表 student

CREATE TABLE `student` (
`studentno` INT(4) NOT NULL COMMENT '學號',
`studentname` VARCHAR(20) NOT NULL COMMENT '姓名',
`gradeid` INT(10) DEFAULT NULL COMMENT '年級',
 PRIMARY KEY (`studentno`),
 KEY `FK_gradeid` (`gradeid`),
 CONSTRAINT `FK_gradeid` FOREIGN KEY (`gradeid`) REFERENCES `grade` (`gradeid`)
) ENGINE=INNODB DEFAULT CHARSET=utf8

子表圖
在這裏插入圖片描述
外鍵效果圖
在這裏插入圖片描述圖片

父表中的主鍵是gradeid,子表中的主鍵是studentno,在子表中把父表中的主鍵gradeid設爲外鍵,由於子表用有gradeid,因此點擊gradeid會查詢到父表中的信息it

四. 刪除外鍵

ALTER TABLE student DROP FOREIGN KEY FK_gradeid;
ALTER TABLE student DROP INDEX FK_gradeid;

注意 : 刪除具備主外鍵關係的表時 , 要先刪子表 , 後刪主表io

五. 添加數據

INSERT INTO 表名[(字段1,字段2,字段3,...)] VALUES('值1','值2','值3')

注意:
1:字段或值之間用英文逗號隔開.
2:'字段1,字段2...'該部分可省略 , 但添加的值務必與表結構,數據列,順序相對應,且數量一致.
3:可同時插入多條數據 , values 後用英文逗號隔開變量

六. 修改數據

UPDATE 表名 SET column_name=value [,column_name2=value2,...] [WHERE condition];

注意:
1:column_name 爲要更改的數據列
2:value 爲修改後的數據 , 能夠爲變量 , 具體指 , 表達式或者嵌套的SELECT結果
3:condition 爲篩選條件 , 如不指定則修改該表的全部列數據引用

相關文章
相關標籤/搜索