MySQL 資料管理

2021-10-20 17:53:09 字數 3764 閱讀 8597

建立表的時候新增外來鍵

/*

學生表的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...