> 데이터 베이스 > MySQL 튜토리얼 > MySQL中数据的约束

MySQL中数据的约束

WBOY
풀어 주다: 2016-06-07 15:25:50
원래의
1268명이 탐색했습니다.

今天说说数据库中的数据表数据约束问题,约束大概分为主键约束,外键约束,默认约束,唯一约束,非空约束这几种,关于讲解配置,我后面慢慢说 1、主键约束 其实是用来唯一标示表中的一个列或多个列,但是一个表中必须唯一,配置方法 (1)、初始化列级主键约

今天说说数据库中的数据表数据约束问题,约束大概分为主键约束,外键约束,默认值约束,唯一约束,非空约束这几种,关于讲解配置,我后面慢慢说

1、主键约束

其实是用来唯一标示表中的一个列或多个列,但是一个表中必须唯一,配置方法

(1)、初始化列级主键约束

create table custominfo
(
id int primary key,
name varchar(12),
age int
);
로그인 후 복사

(2)、初始化表级主键约束
create table custominfo
(
id int,
name varchar(12),
age int,
primary key(id)
);
로그인 후 복사

(3)、修改主键约束
alter table customerinfo
add constraint yueshu primary key(id);
로그인 후 복사

(4)、修改添加联合主键约束
alter table customerinfo
add constraint yueshu primary key(id,name);
로그인 후 복사

(5)、删除主键约束
alter table customerinfo
drop primary key;
로그인 후 복사

2、外键约束

比如某个表B关联于表A,也就是表A中所有项目表B中都有,就可以设置表A主键关联,表B外键关联


(1)初始化添加

create table typeinfo
(
typeid int primary key,
type varchar(20)
);
create table roominfo
(
roomid int primary key,
type varchar(20),
price int
constraint yueshu foreign key(roomid) references typeinfo(typeid)
);
로그인 후 복사

(2)、修改添加
alter table roominfo
add constraint yueshu foreign key(roomid) references typeinfo(typeid);
로그인 후 복사

(3)、删除外键约束
alter table roominfo
drop foreign key yueshu;
로그인 후 복사

3、默认值约束

将某一数据初始化为固定值

(1)、初始化设置

create table roominfo
(
id int,
name varchar(20),
price int default 0
);
로그인 후 복사

(2)、修改添加设置
alter table roominfo
alter price set default 0;
로그인 후 복사

(3)、删除默认约束
alter table roominfo
alter price drop default;
로그인 후 복사

4、非空约束

某项数据不得为空的约束

(1)、初始化设置

create table roominfo
(
id int not null,
name varchar(20)
);
로그인 후 복사

(2)、修改设置
alter table roominfo
alter id int not null;
로그인 후 복사

5、检查约束

就是固定行规定数据的范围

(1)、初始化列级设置

<pre name="code" class="sql"><pre name="code" class="sql" style="background-color: rgb(255, 255, 255); "><pre name="code" class="sql">create table roominfo
(
id int,
name varchar(20),
price int check(price>=0)
);
로그인 후 복사
로그인 후 복사
로그인 후 복사
로그인 후 복사
로그인 후 복사
로그인 후 복사
로그인 후 복사
로그인 후 복사
로그인 후 복사
로그인 후 복사
로그인 후 복사
로그인 후 복사
로그인 후 복사

(2)、初始化表级设置
<pre name="code" class="sql">create table roominfo
(
id int,
name varchar(20),
price int,
check(price>=0)
);
로그인 후 복사
로그인 후 복사
로그인 후 복사
로그인 후 복사
로그인 후 복사

(3)、修改设置
alter table roominfo
add constraint yueshu check(price>=0);
로그인 후 복사

6、唯一约束

(1)、初始化列级唯一约束

create table roominfo
(
id int unique,
name varchar(20)
);
로그인 후 복사

(2)、初始化表级唯一约束
create table roominfo
(
id int,
name varchar(20),
unique(id)
);
로그인 후 복사

可以设置多个独立唯一约束

(3)、初始化创建共同唯一约束

create table roominfo
(
id int,
name varchar(20),
price int,
unique(id,name)
);
로그인 후 복사

(4)、修改设置独立唯一约束
alter table roominfo
add constraint yueshu unique(id);
로그인 후 복사

(5)、修改设置共同唯一约束
alter table roominfo
add constraint yueshu unqiue(id,name);
로그인 후 복사

(6)、删除唯一约束
drop index yueshu on roominfo;
로그인 후 복사


원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿