SQL CHECK 제약 조건에 대한 관련 지식
SQL CHECK Constraints는 PHP에서 매우 중요합니다. 이 문서에서는 관련 지식을 설명합니다.
CHECK 제약 조건은 열의 값 범위를 제한하는 데 사용됩니다.
단일 열에 CHECK 제약 조건을 정의하면 해당 열에는 특정 값만 허용됩니다.
테이블에 CHECK 제약 조건이 정의된 경우 이 제약 조건은 특정 열의 값을 제한합니다.
CREATE TABLE의 SQL CHECK 제약 조건
다음 SQL은 "Persons" 테이블이 생성될 때 "Id_P" 열에 대한 CHECK 제약 조건을 생성합니다. CHECK 제약 조건에 따르면 "Id_P" 열에는 0보다 큰 정수만 포함되어야 합니다.
My SQL:
CREATE TABLE Persons
(
Id_P int NOT NULL,
LastName varchar(255) NOT NULL,
FirstName varchar(255),
Address varchar(255),
City varchar(255), CHECK (Id_P>0))
SQL Server / Oracle / MS Access:
CREATE TABLE Persons
(
Id_P int NOT NULL CHECK (Id_P>0),
LastName varchar(255) NOT NULL,
FirstName varchar( 255),
Address varchar(255),
City varchar(255)
)
CHECK 제약 조건의 이름을 지정하고 여러 열에 대한 CHECK 제약 조건을 정의해야 하는 경우 다음 SQL 구문을 사용하세요.
MySQL / SQL 서버/Oracle/MS 액세스:
CREATE TABLE Persons
(
Id_P int NOT NULL,
LastName varchar(255) NOT NULL,
FirstName varchar(255),
Address varchar(255),
City varchar(255), CONSTRAINT chk_Person CHECK (Id_P>0 AND City='Sandnes'))
ALTER TABLE에 대한 SQL CHECK 제약 조건
테이블이 이미 존재하는 경우 "Id_P" 열에 대한 CHECK 제약 조건을 생성하는 경우 다음 SQL을 사용하세요.
MySQL / SQL Server / Oracle / MS Access:
ALTER TABLE PersonsADD CHECK (Id_P>0)
CHECK 제약 조건의 이름을 지정하고 여러 열에 대한 CHECK 제약 조건을 정의해야 하는 경우 다음 SQL 구문을 사용하세요.
MySQL / SQL Server / Oracle / MS Access:
ALTER TABLE PersonsADD CONSTRAINT chk_Person CHECK (Id_P>0 AND City='Sandnes')
CHECK 제약 조건 취소
CHECK 제약 조건을 취소하려면 다음 SQL을 사용하세요.
SQL 서버 / Oracle / MS 액세스:
ALTER TABLE PersonsDROP CONSTRAINT chk_Person
이 문서에서는 CHECK 제약 조건 관련 작업에 대해 설명합니다. 더 많은 학습 자료를 보려면 PHP 중국어 웹사이트를 참고하세요.
관련 권장 사항:
위 내용은 SQL CHECK 제약 조건에 대한 관련 지식의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

핫 AI 도구

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

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

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

Clothoff.io
AI 옷 제거제

Video Face Swap
완전히 무료인 AI 얼굴 교환 도구를 사용하여 모든 비디오의 얼굴을 쉽게 바꾸세요!

인기 기사

뜨거운 도구

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

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

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

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

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

해당 데이터베이스 드라이버를 설치하십시오. 2. Connect ()를 사용하여 데이터베이스에 연결하십시오. 3. 커서 객체를 만듭니다. 4. Execute () 또는 Executemany ()를 사용하여 SQL을 실행하고 매개 변수화 된 쿼리를 사용하여 주입을 방지하십시오. 5. 결과를 얻으려면 fetchall () 등을 사용하십시오. 6. 수정 후 Commit ()가 필요합니다. 7. 마지막으로 연결을 닫거나 컨텍스트 관리자를 사용하여 자동으로 처리하십시오. 완전한 프로세스는 SQL 작업이 안전하고 효율적임을 보장합니다.

테이블 이름 변경은 일반적으로 Renametable 또는 Altertable 명령을 사용하여 SQL로 구현됩니다. 1.mysql, mariadb 및 기타 데이터베이스는 renametable_table_nametonew_table_name을 사용합니다. 구문은 배치 작업을 지원합니다. 2. sqlserver는 sp_rename 저장 프로 시저가 필요하며 구문은 execsp_rename'old_table_name ','new_table_name '입니다. 3.postgresql은 altertableold_table_namerenametonew_table_name을 사용합니다

두 날짜의 차이를 계산하려면 데이터베이스 유형에 따라 해당 기능을 선택해야합니다. 1. Datediff ()를 사용하여 MySQL의 일 차이를 계산하거나 TimesTampDiff ()의 시간 및 분과 같은 단위를 지정합니다. 2. SQLServer에서 Datediff (date_part, start_date, end_date)를 사용하고 단위를 지정하십시오. 3. PostgreSQL에서 직접 감산을 사용하여 일차 차이를 얻거나 추출물 (Dayfromage (...))를 사용하여보다 정확한 간격을 얻습니다. 4. Julianday () 함수를 사용하여 SQLITE의 일 차이를 빼십시오. 항상 날짜 주문에주의하십시오

형식 날짜 SQL에서는 데이터베이스 유형에 따라 해당 기능을 선택해야합니다. MySQL은%y,%m 및 selectDate_format (now (), '%y-%m-%d')와 같은 다른 형식을 사용합니다. sqlserver는 convert () 또는 format ()을 사용하고, 전자는 selectConvert (varchar, getDate (), 112)이고 후자는 selectFormat (getDate (), 'yyyy-mm-dd'); PostgreSQL은 selectto_char (now (), 'y와 같은 to_char ()를 사용합니다

대부분의 응용 프로그램이 더 많이 읽고 쓰기가 적고 마스터 라이브러리는 병목 현상이되기 때문에 레플 리카가 필요합니다. 일반적인 설정에는 MySQL의 마스터 슬레이브 복제, PostgreSQL의 스트림 복제, SQLServer 's AlwaysOn Group 및 RDS의 readReplica 인스턴스가 포함됩니다. 읽기 요청은 응용 프로그램 계층을 통해 판단 될 수 있으며 미들웨어 또는 ORM 프레임 워크는 복제본으로 라우팅됩니다. 쉽게 간과되는 문제로는 복제 지연, 부적절한 연결 풀 구성, 건강 점검 누락 및 부적절한 권한 관리가 포함됩니다.

SQL을 사용하여 블록 체인 구조를 나타내고 그 특성을 실현하려면 트리거를 사용하여 변조 방지, 해시 체인의 무결성을 정기적으로 검증하고 재귀 쿼리 및 기타 방법을 사용하여 체인 테이블 구조를 설계하여 데이터를 효율적으로 검색 할 수 있습니다. 특정 단계에는 다음이 포함됩니다. 1. Block Link 구조를 시뮬레이션하기 위해 Previous_hash, 해시 및 데이터 필드가 포함 된 테이블을 만듭니다. 2. 트리거를 사용하여 업데이트 작업을 방지하고 데이터를 변조 할 수 없는지 확인하십시오. 3. 블록 해시 체인이 완료되었는지 정기적으로 확인하십시오. 4. 재귀 쿼리를 사용하여 특정 블록과 후속 체인을 얻으십시오. 5. 데이터 검색 효율을 향상시키기 위해 전체 텍스트 색인을 추가하십시오. 6. 샤딩, 핫 및 냉간 분리 및 비동기 검증과 같은 성능 및 확장 성을 최적화합니다. 이러한 방법을 통해 블록 체인의 주요 기능은 기존 데이터베이스에 효과적으로 통합 될 수 있습니다.

큐브는 교차 분석에 적합한 모든 치수 조합의 집계를 생성하는 데 사용됩니다. 롤업은 계층 적 관계를 가진 데이터에 적합한 계층 적 수준으로 점차 요약됩니다. Cube는 지역, 제품 및 분기에 따라 총 8 개의 조합을 생성하는 반면 롤업은 연도, 월, 일 및 기타 수준에 따라 연도, 월, 일 및 기타 수준의 요약을 생성합니다. Cube는 모든 차원 간 결과를보기에 적합하며 롤업은 계층 구조를 표시하는 데 적합합니다. 큐브는 결과 세트가 폭발 할 수 있으며 롤업은 필드 순서에 따라 다를 수 있습니다. 요약 행은 grouping () 함수를 통해 식별 될 수 있으며 총 행은 가독성을 향상시키기 위해 Coalesce와 함께 이름을 지정합니다.

SQL에서 Orderby의 성능을 최적화하려면 먼저 실행 메커니즘을 이해하고 인덱스 및 쿼리 구조를 합리적으로 사용해야합니다. 정렬 필드에 색인이 없으면 데이터베이스는 "Filesort"를 트리거하여 많은 리소스를 소비합니다. 따라서 큰 테이블의 직접 분류를 피하고 조건을 통해 정렬 된 데이터의 양을 줄여야합니다. 둘째, 분류 필드를위한 일치하는 인덱스를 설정하면 MySQL 8.0에서 역 차수 색인을 생성하여 효율성을 향상시키는 등의 쿼리 속도가 크게 높아질 수 있습니다. 또한 딥 페이징 (예 : Limit1000, 10)은 인덱스 기반 커서 페이징 (예 : whereid> 12345)과 함께 사용해야합니다. 마지막으로, 캐싱, 비동기 응집 및 기타 수단을 결합하면 대규모 데이터 세트 시나리오에서 분류 성능을 더욱 최적화 할 수 있습니다.
