建立表的時候新增外來鍵
/*
學生表的gradeid欄位 要去引用年級表的gradeid
1. 定義外來鍵key
2. 給外來鍵新增約束(執行引用)
*/create
table
ifnot
exists
`student`
(`id`
int(4)
notnull
auto_increment
comment
"學號"
,`name`
varchar(3
)not
null
default
"匿名"
comment
"姓名"
,`gradeid`
int(10)
notnull
comment
"學生的年紀"
,primary
key(
`id`),
key`fk_gradeid`
(`gradeid`),
constraint
`fk_gradeid`
foreign
key(
`gradeid`
)references
`grade`
(`gradeid`))
engine
=innodb
default
charset
=utf8
create
table grade (
`gradeid`
int(10)
notnull
auto_increment
comment
'年級id'
,`gradename`
varchar(50
)not
null
comment
'年級名稱'
,primary
key(
`gradeid`))
engine
=innodb
default
charset
=utf8
--學生表的 gradeid欄位要去引用年級表的gradeid--定義外來鍵key
--給這個外來鍵新增約束(執行引用)references 引用
建立完錶後新增外來鍵
create
table
ifnot
exists
`student`
(`id`
int(4)
notnull
auto_increment
comment
"學號"
,`name`
varchar(3
)not
null
default
"匿名"
comment
"姓名"
,`gradeid`
int(10)
notnull
comment
"學生的年紀"
,primary
key(
`id`))
engine
=innodb
default
charset
=utf8
create
table grade (
`gradeid`
int(10)
notnull
auto_increment
comment
'年級id'
,`gradename`
varchar(50
)not
null
comment
'年級名稱'
,primary
key(
`gradeid`))
engine
=innodb
default
charset
=utf8
alter
table
`student`
addconstraint
`fk_gradeid`
foreign
key(
`gradeid`
)references
`grade`
(`gradeid`
)
以上的操作都是物理外來鍵,資料庫級別的外來鍵,我們不建議使用!(避免資料庫過多造成困擾,這裡了解即可)
最佳實踐
-- 插入語句(新增)
-- insert into 表名([欄位名1,欄位2,欄位3]) values ("值1"),("值2"),("值3"),("值4")
insert
into
`grade`
(`gradename`
)values
("大四"
)-- 單個字段插入單個屬性
insert
into
`grade`
(`gradename`
)values
("大一"),
("大二"
)-- 單個字段插入多個屬性
insert
into
`student`
(`id`
,`name`
)values
("1"
,"張三"
)-- 多個字段新增單個屬性
insert
into
`student`
(`id`
,`name`
)values
("1"
,"張三"),
("2"
,"李四"
)-- 多個字段新增多個屬性
注意事項:欄位和字段之間使用英文逗號隔開
欄位是可以省略的,但是後面的值必須要一一對應,乙個都不能少
可以同時插入多個資料,後面的值需要使用,隔開 (),(),()…
-- 修改學員條件
update student set
`name`
="李旭"
where id=1;
-- 不指定條件的情況下,會改動表中所有的資料
update student set
`name`
="餘餘"
;update student set
`name`
="李旭"
,`psd`
=333333
where id=1;
-- 修改多個欄位的屬性
-- 語法
-- update 表名 set colnum_name = value,[colnum_name = value,colnum_name = value...] where 條件;
update student set birthday =
current_time
where
`name`
="餘餘"
and ***=
"男"-- 根據多個條件定位資料
條件:mysql運算子 MySQL 資料管理
方式1 方式2 資料庫意義 資料儲存,資料管理 dml 語言 資料操作語言 插入語句 新增 insert into 表名 欄位名1,欄位2,欄位3 values 值1 值2 值3 一般寫插入語句,我們一定要資料和字段一一對應!注意事項 1.欄位和字段之間使用 英文逗號 隔開 2.欄位是可以省略的,但...
MySQL資料管理
外來鍵管理 外來鍵作用 外來鍵用來強制引用完整性,乙個表可以有多個外來鍵 建立外來鍵 a 建表時指定外來鍵約束 定義外來鍵約束語法 constraint 外鍵名 foreign key 外來鍵字段 references 關聯表名 關聯字段 b 建表後修改子表新增外來鍵 新增外來鍵約束語法 alter...
mysql資料管理
外來鍵 刪除有外來鍵關係的表時,要先刪除引用該外來鍵的表,在刪除這個外來鍵的表 新增外來鍵 資料庫級別的外來鍵,不建議使用 避免資料庫過多造成困擾 最好使用程式級別的方法去呼叫 alter table 表名 add constraint 約束名 foreign key 作為外來鍵的列 referen...