資料庫約束
對使用者操作表的資料進行約束
預設值約束
1create
table
user
(2 uid int
,3 uname varchar(10
),4 address varchar(30) default
'山東省'5
)6drop
table
user;7
select
*from
user;8
insert
into
user(uid,uname) values(1,'張三'
);9insert
into
user
values(2,'
李四','
河南省'
);10
insert
into
user
values(3,'
李四',null);
非空約束
1create
table
user
(2 uid int
notnull
,3 uname varchar(10
),4 address varchar(30) default
'山東省'5
)6insert
into
user(uid,uname) values(1,'
張三');
唯一約束
1create
table
user
(2 uid int
unique
,3 uname varchar(10
),4 address varchar(30) default
'山東省'5
)6insert
into
user(uid,uname) values(1,'張三'
);7insert
into
user(uid,uname) values(2,'
張三');
主鍵約束(唯一+非空)
注意:1)被約束的表稱為副表,約束別人的表稱為主表,外來鍵設定在副表上的!!!
2)主表的參考字段通用為主鍵!
3)新增資料:先新增主表,再新增副表
4)修改資料:先修改副表,再修改主表
5)刪除資料:先刪除副表,再刪除主表
乙個表內只能有乙個主鍵。
1create
table
user
(2 uid int
primary
key,
3 uname varchar(10
),4 address varchar(30) default
'山東省'5
)6select
*from
user;7
insert
into
user(uid,uname) values(1,'
張三');
自增長約束auto_increment
1create
table
user
(2 uid int
primary
keyauto_increment,
3 uname varchar(10
),4 address varchar(30) default
'山東省'5
)6insert
into
user(uname) values('
張三');
零填充
1create
table
user
(2 uid int(3) zerofill primary
keyauto_increment,
3 uname varchar(10
),4 address varchar(30) default
'山東省'5
)6insert
into
user(uname) values('
張三');
delete from 清空表不能刪除約束
1delete
from
user;
truncate table 清空表可以刪除約束
1truncate
table
user;
外來鍵約束(約束兩種表的資料)
1create
table
dept(
2 deptid int
primary
keyauto_increment,
3 deptname varchar(10)4
)5insert
into dept(deptname) values('
軟體開發部');
6insert
into dept(deptname) values('
軟體測試部');
7insert
into dept(deptname) values('
軟體運維部');
8select
*from
dept;
9create
table
empt(
10 eid int
primary
keyauto_increment,
11 ename varchar(5
),12 deptid int,13
constraint dept_empt_fk foreign
key(deptid) references
dept(deptid)
14 )
新增副表
1insert
into empt(ename,deptid) values('
張三',1);2
select
*from empt
修改主表
1update dept set deptname=
2where deptid=1;
2update empt set deptid=
3where eid=
1;
刪除主表
1delete
from dept where deptid=
2;
資料庫約束
mysql有兩種常用的引擎型別 myisam和innodb。目前只有innodb引擎型別支援外來鍵約束。innodb中外鍵約束定義的語法如下 constraint symbol foreign key index name index col name,references tbl name ind...
資料庫約束
約束的簡介 資料的完整性是指資料的正確性和一致性,可以通過定義表時定義完整性約束,也可以通過規則,索引,觸發器等。約束分為兩類 行級和表級,處理機制是一樣的。行級約束放在列後,表級約束放在表後,多個列共用的約束放在表後。完整性約束是一種規則,不占用任何資料庫空間。完整性約束存在資料字典中,在執行sq...
資料庫 約束
約束說白了就是限制條件 當你不給某引數賦值時,該引數會採用預設值。例子 建立資料庫 create database tx 選擇使用的資料庫 use tx go goods表 create table goods goodsid nvarchar 50 primary key,主鍵 goodsname...