MySQL資料庫建庫建表以及外來鍵級聯操作

2021-09-29 00:22:52 字數 2895 閱讀 9611

mysql資料庫

建庫語句

create database 資料庫名;

使用資料庫:

use 資料庫名;

create

database robowolf_material;

use robowolf_material;

刪表語句:

drop table 表名;

建表語句:

create table ***

(資料名稱 資料型別,

資料名稱 資料型別 約束

);約束可有可無,若有多個約束空格隔開即可

例:

create

table uuser ( uid int

primary

keyauto_increment

, uname varchar(50

)not

null

, u*** varchar(50

), upassword varchar(50

)not

null

, uapartment varchar(50

)not

null

, upermission varchar(50

)not

null

, uphone varchar(50

)not

null

);

auto_increment 為自增長,適用於int資料型別,不適用於varchar資料型別。

primary key 為主鍵

not null為非空約束 注:你的值不能為空

unique 為唯一約束 注:比如你有a的值,那我就不能有a的值

create table mcategory 

(cid int primary key auto_increment,

cname varchar(50

) not null);

create table tb_materials

(iid int primary key auto_increment,

iname varchar(50

) not null,

cid int,

constraint matrials_mcategory_fk foreign key

(cid) references mcategory

(cid)

,inote varchar(50));

constraint matrials_mcategory_fk foreign key(cid) references mcategory(cid)

的意思是設定外來鍵matrials_mcategory_fk 這個外來鍵定義本表的(cid)的鍵與mcategory(cid)的鍵相關。

刪除表中的外來鍵,例如下面的第一行**所示,

而第二三行**的意思是給表tb_materials新增外來鍵,

該外來鍵新增級聯修改操作。

意味著mcategory上的表的cid一旦改變,

tb_materials上的表的cid也會隨之改變。

表修改語句:

alter

table tb_materials drop

foreign

key matrials_mcategory_fk;

alter

table tb_materials add

constraint material_mcategory_fk foreign

key(cid)

references mcategory(cid)

onupdate

cascade

;

下面的到數第二條sql語句,表示給新增 mdetail_materials_fk外來鍵

該外來鍵關聯tb_materials的iid鍵,並具有級聯修改以及刪除操作。

級聯刪除的目的是tb_materials的iid一旦刪除,tb_detail上與被刪除的iid關聯的所有記錄全部刪除。

create

table tb_mdetail

(did int

primary

keyauto_increment

,cid int

notnull

,iid int

notnull

,constraint mdetail_mcategory_fk foreign

key(cid)

references mcategory(cid)

onupdate

cascade

,constraint mdetail_materials_fk foreign

key(iid)

references tb_materials(iid)

onupdate

cascade

ondelete

cascade

,dproperity varchar(50));

例:

當tb_materials的iid為1的記錄被刪時,tb_detail上的記錄變更為:

當mcategory上cid的值為1的記錄修改為6時,tb_detail上的記錄變更為:

mysql資料庫基礎建庫與建表

新建資料庫 create database name 有分號,name為資料庫名,不能重名,首字母不能為數字和 create database name charset utf8mb4 clooate utf8mb4 general ci 查詢和選擇資料庫 show databases use na...

資料庫(3) MySQL建庫 建表

show databases use database名稱 例如 use mysql 如果沒有進入某一庫,在對庫中的資料進行訪問時,會提示 no database selected 檢視當前已進入的資料庫 show tables 語法 drop database 庫名 例如 drop databas...

Oracle資料庫 建庫 建表空間,建使用者

oracle資料庫 建庫 建表空間,建使用者 oracle安裝完後,其中有乙個預設的資料庫,除了這個預設的資料庫外,我們還可以建立自己的資料庫。對於初學者來說,為了避免麻煩,可以用 database configuration assistant 嚮導來建立資料庫。建立完資料庫後,並不能立即在資料庫...