mysql에서 제한의 의미는 무엇입니까?
mysql에서 제한은 테이블의 데이터에 대한 제한을 의미하며 데이터베이스 관리자가 데이터베이스를 더 잘 관리하고 데이터베이스에 있는 데이터의 정확성, 유효성 및 완전성을 보장하는 데 도움이 될 수 있습니다. MySQL에는 기본 키 제약 조건, 외래 키 제약 조건, 고유 제약 조건, 검사 제약 조건, Null이 아닌 제약 조건, 기본값 제약 조건 등 6가지 유형의 제약 조건이 있습니다.
MySQL의 제약 조건은 무엇인가요?
restrict(제약)은 테이블의 데이터에 대한 제한을 의미하며, 이는 데이터베이스 관리자가 데이터베이스를 더 잘 관리하고 데이터베이스에 있는 데이터의 정확성, 유효성 및 무결성을 보장하는 데 도움이 될 수 있습니다.
200, 300 등 유효하지 않은 값이 데이터 테이블에 연령 값으로 저장되면 이 값은 의미가 없습니다. 따라서 테이블의 데이터 범위를 제한하려면 제약 조건을 사용해야 합니다.
MySQL의 제약 조건은 데이터의 정확성과 합리성을 감지하는 데 사용됩니다. 일반적인 오류는 다음과 같습니다. 1. 동일한 중복 데이터가 존재합니다. 3. 데이터 손실 오류(빈 데이터); (테이블을 정확하게 연결할 수 없음) 등
MySQL의 제약 조건은 ID 번호 중복을 금지하고 배송 주소를 비워 두지 않는 등의 일부 문제를 해결하도록 설계되었습니다. 제약 조건을 위반하면 데이터 조작 동작이 억제됩니다.
MySQL에서는 주로 다음 6가지 제약 조건을 지원합니다.
1) 기본 키 제약 조건
기본 키 제약 조건은 가장 자주 사용되는 제약 조건입니다. 데이터 테이블을 디자인할 때 일반적으로 테이블에 기본 키를 설정해야 합니다.
기본 키는 테이블의 각 정보를 고유하게 식별하는 테이블의 특수 필드입니다. 예를 들어, 학생 정보 테이블의 학생 번호는 고유합니다.
2) 외래 키 제약 조건
외래 키 제약 조건은 데이터 일관성을 보장하기 위해 기본 키 제약 조건과 함께 사용되는 경우가 많습니다.
예를 들어 과일 가판대에는 사과, 복숭아, 자두, 수박 4가지 과일만 있는데, 과일을 사러 과일 가판대에 오면 사과, 복숭아, 자두, 수박만 고를 수 있고, 그리고 다른 과일은 살 수 없습니다.
3) Unique 제약 조건
Unique 제약 조건과 기본 키 제약 조건에는 공통점이 있습니다. 즉 둘 다 열의 고유성을 보장한다는 것입니다. 기본 키 제약 조건과 달리 테이블에는 여러 개의 고유 제약 조건이 있을 수 있으며, 고유 제약 조건이 설정된 열에는 Null 값이 하나만 있을 수 있지만 Null 값을 가질 수 있습니다.
예를 들어 사용자 정보 테이블에서 테이블에 사용자 이름이 중복되는 것을 방지하려면 사용자 이름 열을 고유 제약 조건으로 설정할 수 있습니다.
4) 검사 제약
검사 제약은 데이터 테이블의 필드 값이 유효한지 확인하는 수단입니다.
학생 정보 테이블의 연령 필드에는 음수가 포함되지 않으며 숫자 제한이 있습니다. 대학생이라면 나이는 일반적으로 18세에서 30세 사이여야 합니다. 유효하지 않은 데이터의 입력을 줄이기 위해서는 해당 필드의 검사 제약 조건을 설정할 때 실제 상황에 따라 적절한 설정을 할 필요가 있습니다.
5) Null이 아닌 제약 조건
Non-null 제약 조건은 테이블의 필드를 비워둘 수 없도록 제한하는 데 사용됩니다. 학생정보 양식에 학생의 이름이 기재되지 않은 경우, 이 기록은 의미가 없습니다.
6) 기본값 제약 조건
기본 값 제약 조건은 데이터 테이블의 필드에 값을 입력하지 않으면 이미 설정된 값이 자동으로 추가되도록 제약하는 데 사용됩니다.
예를 들어 학생 정보 등록 시 학생의 성별을 입력하지 않으면 기본적으로 성별이 설정되거나 '알 수 없음'이 입력됩니다.
기본값 제약 조건은 일반적으로 null이 아닌 제약 조건이 설정된 열에 사용되며, 이를 통해 데이터 테이블에 데이터를 입력할 때 오류를 방지할 수 있습니다.
위 6가지 제약 조건 중 데이터 테이블에는 기본 키 제약 조건이 하나만 있을 수 있으며, 다른 제약 조건은 여러 개가 있을 수 있습니다.
운영 테이블의 제약 조건
1. 테이블에 기본 키 제약 조건 추가
기본 키를 추가하는 방법에는 두 가지가 있습니다.
단일 기본 키: 하나의 열을 기본 키 열로 사용하면 이 열의 값이 반복되면 고유 제약 조건을 위반합니다.
공동 기본 키: 여러 열을 기본 키 열로 사용합니다. 여러 열의 값이 동일하면 고유 제약 조건을 위반합니다. 이는 여러 열의 조합을 사용하여 기본 키를 결정하는 것을 의미합니다. 조합이 반복되면 00,01,10,11,12,22의 조합과 같이 유효하지 않습니다.
DDL 문을 사용하여 기본 키 제약 조건을 추가합니다. 예:
ALTER TABLE 表名 ADD PRIMARY KEY(列名); alter table emp add primary key(employee_id);//选取employee_id作为主键 alter table emp add primary key(employee_id,shenfen_id);//联合主键
2. 테이블에 자동 증가 기본 키 제약 조건
auto_increment을 추가합니다. 데이터베이스 관리 시스템이 자동으로 테이블을 유지 관리할 때 자연수 증가 방식에 따라 기본 키가 자동으로 추가됩니다. 마찬가지로 자체 증가 기본 키도 특정 열을 기본 키로 사용합니다. 테이블에 기본 키가 추가된 필드에 데이터가 추가되면 기본 키가 자동으로 1씩 증가합니다.
자체 증가 기본 키와 일반 기본 키 제약 조건은 서로 변환될 수 있습니다.
1. 테이블에서 하나의 열만 자동으로 커질 수 있습니다. 2. 자동으로 성장하는 컬럼의 유형은 정수 유형이어야 합니다. 3. 자동 증가는 기본 키 제약 조건 및 고유 제약 조건이 있는 열에만 추가할 수 있습니다. 4. 기본 키 제약 조건 또는 고유 제약 조건을 삭제합니다. 열에 자동 증가 기능이 있으면 먼저 자동 증가를 제거한 다음 제약 조건을 삭제해야 합니다.
注意点:如果之前给某个字段添加了自增长属性,则删除这个字段时要先删除自增长属性。
alter table 表名 modify 主键 类型 auto_increment; alter table emp modify employee_id int auto_increment;
或者在Navicat中添加主键:
3、删除一张表中的主键约束
使用DDL语句删除主键。
ALTER TABLE 表名 DROP PRIMARY KEY; alter table emp drop primary key;
注意:删除主键时,如果主键列具备自动增长能力,需要先去掉自动增长,然后在删除主键。
alter table emp modify employee_id int;//去掉自增长,与添加自增长代码地区别就是没有auto_increament alter table emp drop primary key;
4、给一张表添加外键约束
使用DDL语句添加外键约束。可以给一张表设置多个外键。
ALTER TABLE 表名 ADD CONSTRAINT 约束名 FOREIGN KEY(列名) REFERENCES 参照的表名(参照的列名); alter table emp add constraint emp_fk foreign key(dept_id) references departments(department_id);
或在在Navicat中添加外键。外键名称常使用:表名_fk,表名_fk1表示。
5、删除一张表的外键约束
外键约束可以通过使用DDL语句来删除。或者在Navicat中主动删除外键。
ALTER TABLE 表名 DROP FOREIGN KEY 约束名; alter table emp drop foreign key emp_fk;
6、给表中某字段添加唯一性约束
使用DDL语句添加唯一性约束。或在在Navicat中添加唯一性约束。
ALTER TABLE 表名 ADD CONSTRAINT 约束名 UNIQUE(列名); alter table emp add constraint emp_uk unique(name);
7、删除表中某字段的唯一性约束
使用DDL语句删除唯一性约束。删除之前需要弄清楚删除的约束名是对哪一个字段进行约束的。
ALTER TABLE 表名 DROP KEY 约束名; alter table emp drop key emp_uk;
8、给表中某个字段添加非空约束
使用DDL语句添加非空约束。或者Navicat。
ALTER TABLE 表名 MODIFY 列名 类型 NOT NULL; alter table emp modify salary float(8,2) not NULL;
9、删除表中某个字段的非空约束
使用DDL语句删除非空约束。
ALTER TABLE 表名 MODIFY 列名 类型 NULL; alter table emp modify salary float(8,2) NULL;
创建表的时候添加约束
上面介绍了当一张表已经存在之后如何添加约束。下面介绍在一开始新建表的时候如何添加约束。
1、查询表中加了哪些约束?
SHOW KEYS FROM 表名;
2、创建表时添加约束
创建 depts 表包含 department_id 该列为主键且自动增长,department_name 列不允许重复,location_id 列不允含有空值。
create table depts ( department_id int primary key auto_increment, department_name varchar(30) unique, location_id int not null; );
위 내용은 mysql에서 제한의 의미는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

핫 AI 도구

Undresser.AI Undress
사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover
사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

AI Hentai Generator
AI Hentai를 무료로 생성하십시오.

인기 기사

뜨거운 도구

메모장++7.3.1
사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전
중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기
강력한 PHP 통합 개발 환경

드림위버 CS6
시각적 웹 개발 도구

SublimeText3 Mac 버전
신 수준의 코드 편집 소프트웨어(SublimeText3)

뜨거운 주제











빅 데이터 구조 처리 기술: 청킹(Chunking): 데이터 세트를 분할하고 청크로 처리하여 메모리 소비를 줄입니다. 생성기: 전체 데이터 세트를 로드하지 않고 데이터 항목을 하나씩 생성하므로 무제한 데이터 세트에 적합합니다. 스트리밍: 파일을 읽거나 결과를 한 줄씩 쿼리하므로 대용량 파일이나 원격 데이터에 적합합니다. 외부 저장소: 매우 큰 데이터 세트의 경우 데이터를 데이터베이스 또는 NoSQL에 저장합니다.

선형 복잡성에서 로그 복잡성까지 조회 시간을 줄이는 인덱스를 구축하여 MySQL 쿼리 성능을 최적화할 수 있습니다. SQL 삽입을 방지하고 쿼리 성능을 향상하려면 PREPAREDStatements를 사용하세요. 쿼리 결과를 제한하고 서버에서 처리되는 데이터의 양을 줄입니다. 적절한 조인 유형 사용, 인덱스 생성, 하위 쿼리 사용 고려 등 조인 쿼리를 최적화합니다. 쿼리를 분석하여 병목 현상을 식별하고, 캐싱을 사용하여 데이터베이스 로드를 줄이고, 오버헤드를 최소화합니다.

PHP에서 MySQL 데이터베이스를 백업하고 복원하는 작업은 다음 단계에 따라 수행할 수 있습니다. 데이터베이스 백업: mysqldump 명령을 사용하여 데이터베이스를 SQL 파일로 덤프합니다. 데이터베이스 복원: mysql 명령을 사용하여 SQL 파일에서 데이터베이스를 복원합니다.

MySQL 테이블에 데이터를 삽입하는 방법은 무엇입니까? 데이터베이스에 연결: mysqli를 사용하여 데이터베이스에 대한 연결을 설정합니다. SQL 쿼리 준비: 삽입할 열과 값을 지정하는 INSERT 문을 작성합니다. 쿼리 실행: query() 메서드를 사용하여 삽입 쿼리를 실행하면 확인 메시지가 출력됩니다.

MySQL 8.4(2024년 최신 LTS 릴리스)에 도입된 주요 변경 사항 중 하나는 "MySQL 기본 비밀번호" 플러그인이 더 이상 기본적으로 활성화되지 않는다는 것입니다. 또한 MySQL 9.0에서는 이 플러그인을 완전히 제거합니다. 이 변경 사항은 PHP 및 기타 앱에 영향을 미칩니다.

PHP에서 MySQL 저장 프로시저를 사용하려면: PDO 또는 MySQLi 확장을 사용하여 MySQL 데이터베이스에 연결합니다. 저장 프로시저를 호출하는 문을 준비합니다. 저장 프로시저를 실행합니다. 결과 집합을 처리합니다(저장 프로시저가 결과를 반환하는 경우). 데이터베이스 연결을 닫습니다.

PHP를 사용하여 MySQL 테이블을 생성하려면 다음 단계가 필요합니다. 데이터베이스에 연결합니다. 데이터베이스가 없으면 작성하십시오. 데이터베이스를 선택합니다. 테이블을 생성합니다. 쿼리를 실행합니다. 연결을 닫습니다.

Oracle 데이터베이스와 MySQL은 모두 관계형 모델을 기반으로 하는 데이터베이스이지만 호환성, 확장성, 데이터 유형 및 보안 측면에서 Oracle이 우수하고, MySQL은 속도와 유연성에 중점을 두고 중소 규모 데이터 세트에 더 적합합니다. ① Oracle은 광범위한 데이터 유형을 제공하고, ② 고급 보안 기능을 제공하고, ③ 엔터프라이즈급 애플리케이션에 적합하고, ① MySQL은 NoSQL 데이터 유형을 지원하고, ② 보안 조치가 적고, ③ 중소 규모 애플리케이션에 적합합니다.
