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