
*****
## MySQL外鍵
在實際開發的項目中,一個健壯數據庫中的數據一定有很好的參照完整性。例如學生表和成績單兩張表,如果成績單中有張三的成績,學生表中張三的檔案卻被刪除了,這樣就會產生垃圾數據或者錯誤數據。為了保證數據的完整性,將兩張表之間的數據建立關系,因此就需要在成績表中添加外鍵約束。
班級表
~~~
create table classes(
id int(4) not null primary key,
name varchar(36)
);
~~~
學生表
~~~
create table student(
sid int(4) not null primary key,
sname varchar(36),
gid int(4) not null
);
~~~
引入外鍵之后,外鍵列只能插入參照列存在的值,參照列被參照的值不能被刪除,這就保證了數據的參照完整性。
### 添加外鍵
語法
~~~
alert table 表名 add constraint 外鍵名字 foreign key(外鍵字段名) references 外表表名(主鍵字段名)
~~~
### 驗證外鍵的作用
~~~
insert into student (sid, sname, gid) values(1000, 'juran', 123);
~~~
### 刪除外鍵約束
~~~
alter table 表名 drop foreign key 外鍵名;
~~~
- 1-數據庫-基本使用
- 1-1-數據存儲
- 1-2-數據庫
- 1-3-MySQL安裝和配置
- 1-4-SQL
- 1-5-數據完整性
- 1-6-命令行操作數據庫
- 2-MySQL查詢
- 2-1-MySQL查詢
- 2-2-條件
- 2-3-聚合函數
- 2-4-分組
- 2-5-排序
- 2-6-分頁
- 2-7-連接查詢
- 2-8-子查詢
- 2-9-自關聯
- 3-MySQL外鍵
- 4-MySQL與Python交互
- 4-1-數據準備
- 4-2-數據表的拆分
- 4-3-Python操作MySQL
- 5-MySQL高級
- 5-1-視圖
- 5-2-事務
- 5-3-索引
- 5-4-賬戶管理(了解)
- 6-數據庫存儲引擎
- 6-1-MyISAM存儲引擎
- 6-2-Innodb存儲引擎
- 6-3-CSV存儲引擎
- 6-4-Memory存儲引
- 7-MySQL基準測試
- 8-explain分析SQL語句
- 8-1-影響服務器性能的幾個方面
- 8-2-explain分析SQL
- 9-索引優化案例
- 10-索引優化
- 11-排序優化
- 12-慢查詢日志
- 13-Show Profile進行SQL分析
- 14-數據庫鎖
- 15-主從復制
- 16-MySQL分區表
- 17-MySQL操作規范