資料庫MySQL之DML(三)

2021-10-02 17:37:00 字數 4814 閱讀 5022

1.外來鍵在建立表的時候,增加約束 (麻煩,比較複雜)

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

-- 兩個表之間要有乙個關聯

create

table

ifnot

exists

`student`

(`id`

int(4)

notnull

auto_increment

comment

'學號'

,`name`

varchar(30

)not

null

default

'匿名'

comment

'姓名'

,`pwd`

varchar(20

)not

null

default

'123456'

comment

'密碼'

,`***`

varchar(2

)not

null

default

'女'comment

'性別'

,`birthday`

datetime

default

null

comment

'出生日期'

,`gradeid`

int(10)

notnull

comment

'學生的年級'

,`address`

varchar

(100

)default

null

comment

'家庭住址'

,`email`

varchar(50

)default

null

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

create

table

ifnot

exists

`student`

(`id`

int(4)

notnull

auto_increment

comment

'學號'

,`name`

varchar(30

)not

null

default

'匿名'

comment

'姓名'

,`pwd`

varchar(20

)not

null

default

'123456'

comment

'密碼'

,`***`

varchar(2

)not

null

default

'女'comment

'性別'

,`birthday`

datetime

default

null

comment

'出生日期'

,`gradeid`

int(10)

notnull

comment

'學生的年級'

,`address`

varchar

(100

)default

null

comment

'家庭住址'

,`email`

varchar(50

)default

null

comment

'郵箱'

,primary

key(

`id`))

engine

=innodb

default

charset

=utf8

-- 建立表的時候沒有外來鍵關係

-- alter table 表 add constraint 約束名 foreign key(作為外來鍵的列) references 那個表(哪個字段)

alter

table

`student`

addconstraint

`fk_gradeid`

foreign

key(

`gradeid`

)references

`grade`

(`gradeid`

);

2.dml語言

dml 語言: 資料操作語言

資料庫的意義:**資料儲存,資料管理

insert:

語法:insert into 表名([欄位名1,欄位2,欄位3])values('值1'),('值2'),('值3',....)

注意事項:

欄位和字段之間使用 英文逗號 隔開

欄位是可以省略的,但是後面的值必須要要一一對應,不能少

可以同時插入多條資料,values 後面的值,需要使用,隔開即可values(),(),....

insert

into

`grade`

(`gradename`

)values

('大四'

)insert

into

`grade`

(`gradename`

)values

('大二'),

('大一'

)insert

into

`student`

(`name`

,`pwd`

,`***`

)values

('張三'

,'aaaaaa'

,'男'

)

update:

語法:update 表名 set colnum_name = value,[colnum_name = value,....] where [條件]

注意:

-- 不指定條件的情況下,會改動所有表!

update

`student`

set`name`

='長江7號'

-- 修改多個屬性,逗號隔開

update

`student`

set`name`

='狂神'

,`email`

='[email protected]'

where id =

1;

delete:

語法:delete from 表名 [where 條件]

-- 刪除資料 (避免這樣寫,會全部刪除)

delete

from

`student`

-- 刪除指定資料

delete

from

`student`

where id =

1;

truncate 命令

作用:完全清空乙個資料庫表,表的結構和索引約束不會變!

-- 清空 student 表

truncate

`student`

delete 的 truncate 區別:

MySql資料庫之DML

mysql資料庫的增刪查改操作 1 插入表中的資料 第一種插入資料的方法 指定所有列 insert into stu number,name age,gender values itcast 0001 zhangsan 28 male 使用第二種方法插入第二組資料,沒有填入的資料的列名,以null填...

mysql資料庫之dml語句盤點

dml 資料操縱語言,操作表資料crud 插入資料 所有非空且沒有預設值的必填 最預設 insert into qinhan user username,password values zhw 2321 最全 insert into qinhan user user id,username,pass...

四 資料庫之DML

語法 insert into 表名 列名1 列名2.values 值1,值2.特點 要求值的型別和字段的型別要一致或相容 欄位的個數和順序不一定與原始表中的字段個數和順序一致,但必須保證值和字段一一對應假如表中有可以為null的字段 nullable 注意可以通過以下兩種方式插入null值 欄位和值...