• MySQL매뉴얼
    • MySQL 5.6 매뉴얼
    • MySQL 5.1 매뉴얼
    • MySQL 5.0 매뉴얼
    • MySQL HA 매뉴얼
  • 기술문서
    • Xtrabackup 구성
    • 메모리 사용량 모니터링
  • 라이선스
  • 온라인문의
  • 회사소개
  • → 목 록 (MySQL5.6 한글메뉴얼) [close]
  • 1. MySQL 5.6 새로운 기능
  • 2. MySQL 설치 및 업그레이드
  • 3. MySQL Tutorial
  • 4. MySQL 프로그램
  • 5. MySQL 서버관리
  • 6. 보안
  • 7. 백업 및 복구
  • 8. 최적화
  • 9. Language Structure(언어구조)
  • 1. 리터럴 값
    2. 스키마 개체 이름
    3. 예약어
    4. 사용자 정의 변수
    5. 식의 구문
    6. 댓글 구문
  • 10. Character Sets(Globalization)
  • 11. 데이터형(Data Types)
  • 12. 함수와 연산자
  • 13. SQL 문법
  • 14. InnoDB 스토리지 엔진
  • 15. 기타 스토리지 엔진
  • 16. 고가용성 및 확장성
  • 17. 리플리케이션
  • 18. MySQL Cluster
  • 19. 파티셔닝
  • 20. Stored Programs and Views
  • 21. INFORMATION_SCHEMA
  • 22. PERFORMANCE SCHEMA
  • 23. 컨넥터 및 API
  • 24. MySQL 확장
  • 25. MySQL Enterprise Edition
  • 26. MySQL Workbench
  • 27. 제약 및 제한
  • 28. MySQL 5.7 새로운 기능

9.3 예약어

SELECT , DELETE 또는 BIGINT 등의 특정 단어는 테이블 이름과 컬럼 이름과 같은 식별자로 사용하기 위해 예약되어 있으며, 특별한 취급이 필요합니다. 이것은 내장 함수의 이름에도 적용될 수 있습니다.

섹션 9.2 "스키마 객체 이름" 에서 설명하고있는 바와 같이, 예약어는 따옴표로 둘러싸여있는 경우 식별자로 허용됩니다.

 mysql> CREATE TABLE interval (begin INT, end INT);
 ERROR 1064 (42000) : You have an error in your SQL syntax ...
 near 'interval (begin INT, end INT)'

 mysql> CREATE TABLE `interval` (begin INT, end INT);
 Query OK, 0 rows affected (0.01 sec)

예외 : 수식 명에 마침표를 따르는 말은 식별자에 대한 예약되어 있어도 따옴표로 묶을 필요가 없습니다.

 mysql> CREATE TABLE mydb.interval (begin INT, end INT);
 Query OK, 0 rows affected (0.01 sec)

내장 함수 이름은 식별자로 허용되지만 식별자로 사용하는 경우주의하십시오. 예를 들어, COUNT 는 컬럼 이름으로 허용됩니다. 그러나 기본적으로 함수 호출에서 함수 이름과 후속 ' ( '문자 사이에 공백을 넣지 수 있도록되어 있습니다.이 요구 사항에 따라 파서는 그 이름이 함수 호출에서 사용되는 것인지, 아니면 함수가 아닌 컨텍스트에서 사용되는지를 확인할 수 있습니다. 함수 이름의 식별에 대한 자세한 내용은 섹션 9.2.4 "함수 이름의 구문 분석과 해결" 을 참조하십시오.

다음 표의 용어는 MySQL 5.6에서 명시 적으로 예약되어 있습니다. 또한 _FILENAME 도 예약되어 있습니다. 향후 버전 업 할 때를 고려하여 사용 예정인 예약어를 확인하는 것이 좋습니다. 새로운 버전의 MySQL을 다룬 설명서에서도 이들을 확인할 수 있습니다. 테이블의 대부분의 단어는 컬럼 이름이나 테이블 이름으로 표준 SQL에서 허용되지 않습니다 ( GROUP 등). 일부는 MySQL이 필요하고 yacc 파서를 사용하기 때문에 예약되어 있습니다. 예약어는 따옴표로 묶으면 식별자로 사용할 수 있습니다.

버전 간의 차이도 포함 예약어의 전체 목록은 Keywords and Reserved Words in MySQL 5.6 을 참조하십시오.

표 9.2 MySQL 5.6에서 예약어

ACCESSIBLE ADD ALL
ALTER ANALYZE AND
AS ASC ASENSITIVE
BEFORE BETWEEN BIGINT
BINARY BLOB BOTH
BY CALL CASCADE
CASE CHANGE CHAR
CHARACTER CHECK COLLATE
COLUMN CONDITION CONSTRAINT
CONTINUE CONVERT CREATE
CROSS CURRENT_DATE CURRENT_TIME
CURRENT_TIMESTAMP CURRENT_USER CURSOR
DATABASE DATABASES DAY_HOUR
DAY_MICROSECOND DAY_MINUTE DAY_SECOND
DEC DECIMAL DECLARE
DEFAULT DELAYED DELETE
DESC DESCRIBE DETERMINISTIC
DISTINCT DISTINCTROW DIV
DOUBLE DROP DUAL
EACH ELSE ELSEIF
ENCLOSED ESCAPED EXISTS
EXIT EXPLAIN FALSE
FETCH FLOAT FLOAT4
FLOAT8 FOR FORCE
FOREIGN FROM FULLTEXT
GET GRANT GROUP
HAVING HIGH_PRIORITY HOUR_MICROSECOND
HOUR_MINUTE HOUR_SECOND IF
IGNORE IN INDEX
INFILE INNER INOUT
INSENSITIVE INSERT INT
INT1 INT2 INT3
INT4 INT8 INTEGER
INTERVAL INTO IO_AFTER_GTIDS
IO_BEFORE_GTIDS IS ITERATE
JOIN KEY KEYS
KILL LEADING LEAVE
LEFT LIKE LIMIT
LINEAR LINES LOAD
LOCALTIME LOCALTIMESTAMP LOCK
LONG LONGBLOB LONGTEXT
LOOP LOW_PRIORITY MASTER_BIND
MASTER_SSL_VERIFY_SERVER_CERT MATCH MAXVALUE
MEDIUMBLOB MEDIUMINT MEDIUMTEXT
MIDDLEINT MINUTE_MICROSECOND MINUTE_SECOND
MOD MODIFIES NATURAL
NOT NO_WRITE_TO_BINLOG NULL
NUMERIC ON OPTIMIZE
OPTION OPTIONALLY OR
ORDER OUT OUTER
OUTFILE PARTITION PRECISION
PRIMARY PROCEDURE PURGE
RANGE READ READS
READ_WRITE REAL REFERENCES
REGEXP RELEASE RENAME
REPEAT REPLACE REQUIRE
RESIGNAL RESTRICT RETURN
REVOKE RIGHT RLIKE
SCHEMA SCHEMAS SECOND_MICROSECOND
SELECT SENSITIVE SEPARATOR
SET SHOW SIGNAL
SMALLINT SPATIAL SPECIFIC
SQL SQLEXCEPTION SQLSTATE
SQLWARNING SQL_BIG_RESULT SQL_CALC_FOUND_ROWS
SQL_SMALL_RESULT SSL STARTING
STRAIGHT_JOIN TABLE TERMINATED
THEN TINYBLOB TINYINT
TINYTEXT TO TRAILING
TRIGGER TRUE UNDO
UNION UNIQUE UNLOCK
UNSIGNED UPDATE USAGE
USE USING UTC_DATE
UTC_TIME UTC_TIMESTAMP VALUES
VARBINARY VARCHAR VARCHARACTER
VARYING WHEN WHERE
WHILE WITH WRITE
XOR YEAR_MONTH ZEROFILL

표 9.3 MySQL 5.5과 비교 한 MySQL 5.6의 새로운 예약어

GET IO_AFTER_GTIDS IO_BEFORE_GTIDS
MASTER_BIND PARTITION

MySQL은 이전에 많은 사람들이 사용하고 있었으므로, 일부 키워드를 따옴표로 묶지 식별자로 사용하는 것을 허용하고 있습니다. 다음 목록을 보여줍니다.

  • ACTION

  • BIT

  • DATE

  • ENUM

  • NO

  • TEXT

  • TIME

  • TIMESTAMP


서울시 강남구 영동대로 602 6층
TEL: 02-6061-0006  /  E: csr@mysqlkorea.com
주식회사 이노클러스터  등록번호 : 727-86-02261
Copyright © innocluster Co. ltd. all rights reserved