Computer >> 컴퓨터 >  >> 프로그램 작성 >> MySQL

표준 SQL과 MySQL의 차이점


MySQL과 표준 SQL의 차이점을 이해하겠습니다. MySQL은 특정 경우에 여러 작업을 다르게 수행합니다. -

특권

사용자에게 부여된 권한과 관련하여 MySQL과 표준 SQL 사이에는 많은 차이점이 있습니다. MySQL에서는 테이블이 삭제될 때 테이블에 대한 권한이 자동으로 취소되지 않습니다. 테이블에 대한 권한을 취소하려면 REVOKE 문을 명시적으로 발행해야 합니다.

외부 키 제약 조건

외래 키 제약 조건의 MySQL 구현은 SQL 표준과 다릅니다. 부모 테이블에 동일한 참조 키 값을 가진 행이 많은 경우 InnoDB 엔진은 동일한 키 값을 가진 다른 부모 행이 존재하지 않는 것처럼 외래 키 검사를 수행합니다.

예를 들어 RESTRICT 유형 제약 조건이 정의되어 있고 많은 부모 행이 있는 자식 행이 있는 경우 InnoDB는 부모 행의 삭제를 허용하지 않습니다.

여러 행에서 삽입, 삭제 또는 업데이트를 사용하는 SQL 문에서 외래 키 제약 조건(예:고유 제약 조건)은 행 뒤에서 확인됩니다. 외래 키 검사가 수행되면 InnoDB는 검사해야 하는 자식 또는 부모 레코드에 대해 공유 행 수준 잠금을 설정합니다.

MySQL은 성능상의 이유로 참조된 열을 인덱싱해야 한다고 규정합니다. 그러나 MySQL은 참조된 열이 UNIQUE이거나 NOT NULL로 선언되어야 할 필요성을 강제하지 않습니다.

댓글

표준 SQL은 C 구문을 사용합니다. /* this is an comment */ 주석을 표시합니다.MySQL Server도 이 구문을 지원합니다. 표준 SQL은 ''--''를 주석 시작 시퀀스로 사용합니다. MySQL Server는 시작 주석 문자로 '#'을 사용합니다.