>데이터 베이스 >MySQL 튜토리얼 >mysql에서 외래 키 제약 조건을 쿼리하는 방법

mysql에서 외래 키 제약 조건을 쿼리하는 방법

WBOY
WBOY원래의
2022-05-16 17:07:407894검색

mysql에서는 show 문을 사용하여 외래 키 제약 조건을 쿼리할 수 있습니다. show 문은 mysql의 데이터베이스, 테이블 및 열 정보를 표시할 수 있습니다. 구문은 "SHOW CREATE TABLE 테이블 이름"입니다. 테이블에는 외래 키 제약 조건, null이 아닌 제약 조건 및 기타 제약 조건 정보가 포함되어 있습니다.

mysql에서 외래 키 제약 조건을 쿼리하는 방법

이 튜토리얼의 운영 환경: windows10 시스템, mysql8.0.22 버전, Dell G3 컴퓨터.

mysql에서 외래 키 제약 조건을 쿼리하는 방법

mysqlshow 명령은 MySQL 서버의 데이터베이스, 테이블 및 열 정보를 표시하는 데 사용됩니다.

MySQL에서는 SHOW CREATE TABLE 문을 사용하여 테이블의 제약 조건을 확인한 다음 외래 키 제약 조건을 쿼리할 수 있습니다.

다음과 같이 데이터 테이블에서 제약 조건 구문 형식을 확인합니다.

SHOW CREATE TABLE <数据表名>;

예는 다음과 같습니다.

mysql> CREATE TABLE tb_emp8
    -> (
    -> id INT(11) PRIMARY KEY,
    -> name VARCHAR(22) UNIQUE,
    -> deptId INT(11) NOT NULL,
    -> salary FLOAT DEFAULT 0,
    -> CHECK(salary>0),
    -> FOREIGN KEY(deptId) REFERENCES tb_dept1(id)
    -> );
Query OK, 0 rows affected (0.37 sec)
mysql> SHOW CREATE TABLE tb_emp8 \G
*************************** 1. row ***************************
       Table: tb_emp8
Create Table: CREATE TABLE `tb_emp8` (
  `id` int(11) NOT NULL,
  `name` varchar(22) DEFAULT NULL,
  `deptId` int(11) NOT NULL,
  `salary` float DEFAULT &#39;0&#39;,
  PRIMARY KEY (`id`),
  UNIQUE KEY `name` (`name`),
  KEY `deptId` (`deptId`),
  CONSTRAINT `tb_emp8_ibfk_1` FOREIGN KEY (`deptId`) REFERENCES `tb_dept1` (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=gb2312
1 row in set (0.19 sec)

확장 지식:

외래 키 제약 조건 정의

Mysql 외래 키 제약 조건(FOREIGN KEY)은 테이블의 특수 필드. 기본 키 제약 조건과 함께 자주 사용됩니다. 연관된 관계가 있는 두 테이블의 경우, 연관된 필드의 기본 키가 있는 테이블이 메인 테이블(상위 테이블)이고, 외래 키가 있는 테이블이 보조 테이블(자식 테이블)입니다

2개의 테이블이 있습니다. 즉, 테이블 A와 테이블 B는 공통 필드 "id"를 통해 관련되어 있습니다. 이 관계를 R이라고 합니다. "id"가 테이블 A의 기본 키인 경우 테이블 A는 이 관계 R의 기본 테이블입니다. 따라서 테이블 B는 이 관계의 슬레이브 테이블이고 테이블 B의 "id"는 테이블 B가 테이블 A의 데이터를 참조하는 데 사용하는 외래 키입니다. 따라서 외래 키는 마스터 테이블의 데이터를 참조하기 위해 슬레이브 테이블에서 사용되는 공개 필드입니다. 외래 키 제약 조건의 역할은 슬레이브 테이블의 외래 키 필드와 기본 키 필드를 결정하는 데 도움을 주는 것입니다. 마스터 테이블 간의 참조 관계는 슬레이브 테이블의 데이터가 참조하는 메인 테이블 데이터가 삭제되지 않도록 보장하여 두 테이블의 데이터 일관성을 보장합니다

메인 테이블에서 레코드가 삭제될 때 , 테이블의 해당 레코드는 삭제되지 않습니다. 테이블에는 하나 이상의 외래 키가 있을 수 있으며, 외래 키는 null 값이 될 수 있습니다. null 값이 아닌 경우 각 외래 키의 값은 기본 테이블의 기본 키의 특정 값과 같아야 합니다. 그러나 외래 키 제약 조건이 있으며 비용이 많이 들고 시스템 리소스가 필요하며 대규모 동시 SQL 작업에는 적합하지 않을 수 있습니다. 따라서 MySQL을 사용하면 시스템과 함께 제공되는 외래 키 제약 조건을 사용하지 않고도 애플리케이션 수준에서 데이터 일관성을 확인하는 논리를 완료할 수 있습니다. 이것이 외래 키를 설정하지 않고도 관련 쿼리를 수행할 수 있는 이유이기도 합니다추천 학습:

mysql 비디오 튜토리얼

위 내용은 mysql에서 외래 키 제약 조건을 쿼리하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.