2021 02 04Mysql中的資料管理

2021-10-19 02:56:49 字數 2065 閱讀 6054

方式一:在建立表的時候增加約束(麻煩,比較複雜)

create

table

`grade`

(`gradeid`

int(10)

notnull

auto_increment

comment

'年級id'

,`gradename`

varchar(50

)not

null

null

comment

'年級名稱'

,primary

key(

`gradeid`))

engine

=innodb

default

charset

=utf8

-- 學生表的greadid 要引用學生表的id

-- 定義外來鍵key

-- 給這個外來鍵新增約束(執行引用) references 引用

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

刪除有外來鍵關係的表的時候,必須先刪除主表,再刪除從表

方式二:建立表成功後,新增外來鍵約束

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

alter

table

`student`

addconstraint

`fk_gradeid`

foreign

key(

`gradeid`

) rreferance `grade`

(`gradeid`);

-- alter table [表名]

-- add constraint [約束名] foreign key (作為外來鍵的列) rreferance [表名](`欄位名`);

以上的操作,都是物理外來鍵,不建議使用

以免資料庫過多造成困擾,這裡了解即可

最佳實踐

2021 02 04建立資料庫中的表

注意點,使用英文 表的名字和字段盡量用 括起來 字串使用單引號括起來 所有的語句後面加英文逗號,最後乙個字段不用加 create table ifnot exists student id int 4 notnull auto increment comment 學號 name varchar 30...

mysql中的編碼 mysql中的編碼

一 mysql中的編碼 mysql show variables like collation mysql show variables like character set 預設是latin1編碼,會導致中文亂碼。修改庫的編碼 mysql alter database db name charac...

mysql中 變數 mysql中的變數

toc 變數 mysql本質是一種程式語言,需要很多變數來儲存資料。mysql中很多的屬性控制都是通過mysql中固有的變數來實現的。系統變數 系統內部定義的變數,系統變數針對所有使用者 mysql客戶端 有效。檢視系統所有變數 show variables like pattern mysql允許...