sql之限制
常見限制
- 主鍵限制
- 用來辨別某一行,在這張表中通過主鍵就能确定位到一條記錄。主鍵要求這一行的資料總體上不能重複且不能為空。
- 設定方式
- 方式一
create table SN( sno int not null PRIMARY KEY, sname VARCHAR(20) not null, Stat VARCHAR(50) not null, city varchar(50) );
- 方式二
create table SNO( sno int not null , sname VARCHAR(20) not null, Stat VARCHAR(50) not null, city varchar(50), PRIMARY key(sno) );
- 檢視表結構
sql之限制sql之限制 - 方式三
- 額外補
create table snk( s int not null, a int not null ); alter table snk add PRIMARY key(s); desc snk;
- 檢視表結構
sql之限制sql之限制
- 額外補
- 方式一
- 注:帶有主鍵的記錄不能重複,是指主鍵不能一樣。資料庫允許有兩個主鍵,如果兩個主鍵一樣的話,插入失敗,兩條記錄中的一個主鍵一樣沒問題。
- 預設值限制
- 有default限制列時,當插入資料為空時那麼就插入該預設值。
- 示例
- 修改snk中a的預設值為1,作用是如果插入資料為空的的話,則插入預設值。
alter table snk MODIFY a int DEFAULT 1 not null; desc snk; insert into snk (s) VALUES(2)
sql之限制sql之限制 sql之限制sql之限制
- 修改snk中a的預設值為1,作用是如果插入資料為空的的話,則插入預設值。
- 非空限制
- 必須插入值(可以是空格)
- 示例略
空、空格、NULL差別
- 空
String s1 = ""; //建立出了對象(已經開辟了内容空間,對象已經執行個體化),這個對象内容為空,也就是空字元串。 s1.length = 0; s1.isEmpty() = true;
- 空格
String s2 = " "; //建立出了對象(已經開辟了記憶體空間,對象已經執行個體化),這個對象内容不為空,而是空格。 s2.length=1; s2.isEmpty()=false;
- NULL差別
- 這個沒建立出對象