非空約束
createtable
user
( uid
intnot
null,--
非空約束
uname varchar(10
), address
varchar(30) default
'山東省'--
預設值)
唯一約束
createtable
user
( uid
intunique,--
唯一約束
uname varchar(10
), address
varchar(30) default
'山東省'--
預設值)
-- 主鍵約束-- 注意:
-- 1)通常情況下,每張表都會設定乙個主鍵字段。用於標記表中的每條記錄的唯一性。
-- 2)建議不要選擇表的包含業務含義的字段作為主鍵,建議給每張表獨立設計乙個非業務含義的id欄位。
createtable
user
( uid
intprimary
key,--
主鍵約束 非空+唯一
uname varchar(10
), address
varchar(30) default
'山東省'--
預設值)
insert
into
user( uid,uname) values('
張三');
自增長約束
createtable
user
( uid
intprimary
key auto_increment,--
自增長約束必須是主鍵
uname varchar(10
), address
varchar(30) default
'山東省'--
預設值)
insert
into
user(uname) values('
張三');
零填充
createtable
user
( uid
int(5) zerofill primary
key auto_increment,--
自增長約束必須是主鍵,零填充
uname varchar(10
), address
varchar(30) default
'山東省'--
預設值)
insert
into
user(uname) values('
張三');
-- delete from 清空表不能刪除約束-- tauncate table 清空錶能刪除約束
外來鍵
create1)被約束的表稱為副表,約束別人的表稱為主表,外來鍵設定在副表上的!!!table
dept(
deptid
intprimary
keyauto_increment,
deptname
varchar(10))
select
*from
dept;
select
*from
emp;
insert
into dept(deptname) values('
軟體開發部');
insert
into dept(deptname) values('
軟體測試部');
create
table
emp(
eid
intprimary
keyauto_increment,
ename
varchar(5
), deptid
int,
constraint emp_dept_fk foreign
key(deptid) references
dept(deptid)
)insert
into emp(ename,deptid) values('
張三',1);
2)主表的參考字段通用為主鍵!
3)新增資料: 先新增主表,再新增副表
4)修改資料: 先修改副表,再修改主表
5)刪除資料: 先刪除副表,再刪除主表
mysql 延遲約束 mysql資料約束
1,預設值 create table student id int,name varchar 20 address varchar 20 default 山東淄博 預設值 drop table student 當欄位沒有插入值的時候,mysql自動給該字段分配預設值 insert into stud...
mysql怎麼約束 mysql 約束
4 約束 1 對乙個列新增的約束叫列級約束。對兩個或兩個以上的列新增的約束叫做表級約束。2 表級約束只能在字段後面新增,列級約束既可以新增在字段後面,也可以在最後新增。3 非空 預設只存在列級約束。主鍵 唯 一 外來鍵都既有表級約束又有列級約束。4 約束有 primary key 主鍵 unique...
mysql約束 MySQL 約束型別
約束是一種限制,它通過對錶的行或列的資料做出限制,來確保表的資料的完整性 唯一性。mysql中,常用的幾種約束 約束型別 主鍵外來鍵唯一非空自增預設值 關鍵字 primary key foreign key unique not null auto increment default 1 主鍵約束 ...