主要就是增加約束的
以下幾種約束 、並 一一枚舉:
1.主鍵約束:
要對乙個列加主鍵約束的話,這列就必須要滿足的條件就是分空
因為主鍵約束:就是對乙個列進行了約束,約束為(非空、不重複)
以下是** 要對乙個列加主鍵,列名為id,表名為emp
格式為:
alter table **名稱 add constraint 約束名稱 增加的約束型別 (列名)
例子:alter table emp add constraint ppp primary key (id)
2.check約束:
就是給一列的資料進行了限制
比方說,年齡列的資料都要大於20的
表名(emp) 列名(age)
格式:alter table 表名稱 add constraint 約束名稱 增加的約束型別 (列名)
例子:alter table emp add constraint *** check(age>20)
3.unique約束:
這樣的約束就是給列的資料追加的不重複的約束型別
格式:alter table 表名 add constraint 約束名稱 約束型別(列名)
比方說可以給ename列加個unique,讓ename列的資料不重複
例子:alter table emp add constraint qwe unique(ename)
4.預設約束:
意思很簡單就是讓此列的資料預設為一定的資料
格式:alter table 表名稱 add constraint 約束名稱 約束型別 預設值) for 列名
比方說:emp表中的gongzi列缺省為10000
alter table emp add constraint jfsd default 10000 for gongzi
————————————————————————————————
5.外來鍵約束:
這個有點難理解了,外來鍵其實就是引用
因為主鍵實現了實體的完整性,
外來鍵實現了引用的完整性,
應用完整性規定,所引用的資料必須存在!
其實就是個引用,
比方說乙個表名稱叫dept 裡面有2列資料 一列是id一列是ename
id:表示產品的編號
ename:表示產品的名稱
另外乙個**名稱是emp 裡面有2列資料,一列是id 一列是did
id:表示使用者號
did:表示購買的產品號
要讓emp表中的did列去引用dept表中的id
可以用下面的方法
格式:alter table 表名 add constraint 約束名稱 約束型別 (列名) references 被引用的表名稱(列名)
例子:alter table emp add constraint jfkdsj foreign key (did) references dept (id)
但是我經過試驗預設約束這樣做並不好用,我有乙個例子,像我這樣建表就好用了:屬性
型別(長度)
預設值 約束
含義stuno 數值
(8) 無
主鍵 學號
sname
變長字元
(12) 無
非空 姓名
*** 字元
(2) 男
無 性別
birthday 日期
無 無生日
變長字元
(20) 無
唯一電子郵件
score 數值
(5, 2) 無
檢查 成績
classno 數值
(2) 無
外來鍵,關聯到表
class
的classno主鍵
班級編號
createtablestudent(
stunonumber(8) ,
snamevarchar2(12)notnull,
***char(2)default'男',
birthdaydate,
emailvarchar2(20),
scorenumber(5,2),
classnonumber(2),
constraintstudent_stuno_pkprimarykey(stuno),
constraintstudent_email_ukunique(email),
constraintstudent_score_ckcheck(score>=0),
constraintstudent_classno_fkforeignkey(classno)referencesclass(classno));
出處:
關於資料庫鎖的一些總結
在總結資料庫鎖之前先闡述一下 資料庫的集中隔離級別以及它們分別能避免哪些問題 1.未提交讀,最低階的隔離級別,不能避免丟失更新以及髒讀。2.提交讀,可以避免丟失更新以及髒讀。3.可重複讀,可以避免不可重複讀。4.可序列化,可以避免幻影讀。mysql預設級別是3,mysql的兩大主要引擎,1是inno...
資料庫約束總結
主鍵約束 create table t id int unsigned auto increment primary key 備註 一張表只能有乙個。唯一鍵約束 create table t id int unsigned auto increment primary key,username va...
資料庫約束總結
1.主鍵約束 特點 非空且唯一 作用 確保表中每一行資料的唯一性 注意 乙個表只能設定乙個主鍵約束,但是主鍵約束可以由多個字段構成 組合主鍵 建立方式 a.在建立表的時候設定主鍵約束 欄位名 字段型別 primary key b.在修改表時新增主鍵約束 多個列作為組合主鍵用逗號分開 alter ta...