測試開發筆記 資料庫

2021-10-06 22:06:50 字數 2588 閱讀 6810

mysql前端筆記(二)

常見約束補充

1、主鍵自增 auto_increment

通過auto_increment設定主鍵自增

特點:和主鍵結合使用,

自增字段的資料型別是整數型別

自增的資料開始值是1,沒增加一行資料,自增1

新增自增

create table tb_dept10(

id int(11) primary key auto_increment,

name varchar(25),

location varchar(50)

);設定自增預設值

create table tb_dept11(

id int(11) primary key auto_increment,

name varchar(25),

location varchar(50)

)auto_increment=100;

刪除自增

alter table tb_dept10 modify id int(11);

在修改表時設定自增

alter table tb_dept12 change column id id int(11) auto_increment;

修改表時指定初始值

alter table tb_dept12 auto_increment=100;

2、外來鍵constraint fk_rl foreign key(deptid) references tb_dept1(id)

表間關係:

一對一一對多

多對多mysql5.6中文支援問題

default charset=gb2312;

檢視建立表是sql

show create table 表名;

外來鍵特點:

外來鍵關聯時主表要先去從表建立

外來鍵字段的值必然在主表中是可以一一對應的

外來鍵可以為空,但是不為空的外來鍵必然可以在主表中跟它對於

外來鍵關聯的必然是主表的主鍵

建立外來鍵約束

create table score (

id int(10) not null primary key auto_increment,

sid int(10),

name varchar(50) default null,

subject varchar(50) default null,

score varchar(50) default null,

constraint fk_sid

foreign key(sid) references studentinfo(id)

)engine=innodb default charset=gb2312;

修改變時新增外來鍵約束

alter table 表名 add constraint fk_sid foreign key(sid) references studentinfo(id)

刪除外來鍵約束

alter table score drop foreign key 外鍵名

3、唯一約束unique

特點:主鍵在乙個表裡面只能有乙個

但是唯一性約束可以有多個

設定了唯一性約束的字段表中有且只能有乙個空值

建立表的時候設定唯一性約束

create table tb_dept1(

id int(11) primary key,

name varchar(25) unique,

location varchar(50)

);修改表的時候新增唯一性約束

alter table tb_dept2 add unique(name);

起別名:

alter table tb_dept2 add constraint 別名 unique(字段);

刪除唯一性約束

alter table tb_dept2 drop index name;

4、預設值default 『beijing』

特點:在插入資料時,如果不寫入就使用預設值,如果寫入就使用新值

新建表時建立

create table tb_dept3(

id int(11) primary key,

name varchar(25),

location varchar(50) default 『shanghai』

);修改表時建立

alter table tb_dept1 change location location varchar(25) default 『beijing』;

5、非空約束(not null)

特點:一張表中可以設定多個欄位非空,主鍵預設非空

新建表時設定

create table tb_dept4(

id int(11) not null,

name varchar(35),

location varchar(50)

);修改表時設定

alter table tb_dept3 change name name varchar(34) not null;

測試開發筆記 資料庫

一 為什麼要學習資料庫 1 為了方便查詢資料 2 為了持久化儲存資料 二 資料庫的相關概念 dbms db sql db 資料庫,儲存資料的容器 dbms 資料庫管理系統或者資料庫管理產品 常見的資料庫管理系統 mysql oracal db2 sql server sql 結構化查詢語句 三 資料...

開發筆記(資料庫相關)

1 如何查詢乙個沒有主鍵的表的第n行資料 假設第n條資料 select top n identity int tempid,into temptb from tablename select from temptb where tempid n 為了降低大表的查詢時間,我選擇了選擇top n為止,然...

測試開發筆記(1)

測試開發 測試驅動開發 tdd 驅動這個流程前行的開發周期稱為 紅燈 綠燈 重構 具體如下 編寫乙個測試 執行所有測試 編寫實現 執行所有測試 重構 執行所有測試。編寫測試期間處於綠燈狀態昭示著存在錯報的問題,對於這樣的測試,應將其刪除或重構。注意 編寫測試時,應處於紅燈狀態。完成測試要求後,所有測...