SQLite 키워드
SQLite 키워드
이 페이지는 SQLite가 이해하는 키워드들을 나열합니다. 대부분의 키워드는 예약어이지만, 일부 키워드는 특정 문맥에서는 식별자로 사용될 수 있습니다.
출처: 문서
본문
작고, 빠르고, 믿을 수 있습니다. 셋 중 아무거나 고르세요.
-
홈
-
메뉴
-
소개
-
문서
-
다운로드
-
라이선스
-
지원
-
구매
-
검색
-
소개
-
문서
-
다운로드
-
지원
-
구매
문서 검색
변경 이력 검색
SQLite에서 사용되는 SQL 키워드 목록입니다. 각 키워드는 특정 용도로 사용됩니다.
- ALTER TABLE: 테이블 구조 변경
- ANALYZE: 데이터베이스 통계 정보 수집
- ATTACH: 다른 데이터베이스 파일 연결
- BEGIN: 트랜잭션 시작
- COMMIT: 트랜잭션 확정
- CREATE: 테이블, 인덱스,
SQL 표준은 테이블, 인덱스, 열, 데이터베이스, 사용자 정의 함수, 콜레이션, 가상 테이블 모듈 또는 기타 이름이 있는 객체의 이름으로 사용할 수 없는 많은 키워드를 정의합니다. 키워드 목록이 너무 길어서 모두 기억하는 사람은 거의 없습니다. 대부분의 SQL 코드에서 가장 안전한 방법은 사용자 정의 객체의 이름으로 어떤 영어 단어도 사용하지 않는 것입니다.
키워드를 이름으로 사용하려면 따옴표로 감싸야 합니다. SQLite에서 키워드를 인용하는 방법은 네 가지입니다.
| 예 | 설명 |
|---|---|
'keyword' |
작은따옴표로 감싼 키워드는 문자열 리터럴입니다. |
"keyword" |
큰따옴표로 감싼 키워드는 식별자입니다. |
[keyword] |
대괄호로 감싼 키워드는 식별자입니다. 이는 표준 SQL이 아닙니다. 이 인용 방식은 MS Access와 SQL Server에서 사용되며, 호환성을 위해 SQLite에 포함되었습니다. |
`keyword` |
억음 악센트(ASCII 코드 96)로 감싼 키워드는 식별자입니다. 이는 표준 SQL이 아닙니다. 이 인용 방식은 MySQL에서 사용되며, 호환성을 위해 SQLite에 포함되었습니다. |
과거의 SQL 문장을 처리할 때 유연성을 발휘하기 위해, SQLite는 때때로 위의 인용 규칙을 약간 다르게 적용합니다.
- 작은따옴표로 감싼 키워드(예:
'key'또는'glob')가 문자열 리터럴은 허용되지 않지만 식별자가 허용되는 문맥에서 사용되면, 해당 토큰은 문자열 리터럴이 아닌 식별자로 이해됩니다. - 큰따옴표로 감싼 키워드(예:
"key"또는"glob")가 식별자로 해석될 수 없지만 문자열 리터럴이 허용되는 문맥에서 사용되면, 해당 토큰은 식별자가 아닌 문자열 리터럴로 이해됩니다.
프로그래머는 앞서 설명한 두 예외를 사용하지 않도록 주의해야 합니다. 이 예외들은 오래되고 형식이 잘못된 SQL 문장이 올바르게 실행되도록 하기 위해서만 존재한다는 점을 강조합니다. SQLite의 향후 버전에서는 위 예외에 해당하는 잘못된 문장을 수용하는 대신 오류를 발생시킬 수도 있습니다.
SQLite는 새로운 기능을 도입하면서 때때로 새로운 키워드를 추가합니다. 따라서 향후 기능 추가로 인해 코드가 손상되지 않도록, 꼭 필요한 경우가 아니더라도 영어 단어인 식별자는 일반적으로 따옴표로 감싸야 합니다.
아래 목록은 컴파일 타임 옵션과 관계없이 SQLite의 어떤 빌드에서든 사용할 수 있는 모든 키워드를 보여줍니다. 대부분의 합리적인 구성에서는 이 키워드의 대부분 또는 전부를 사용하지만, SQL 언어 기능이 비활성화되면 일부 키워드는 생략될 수 있습니다. 애플리케이션은 sqlite3_keyword_count(), sqlite3_keyword_name(), sqlite3_keyword_check() 인터페이스를 사용하여 런타임에 SQLite가 인식하는 키워드를 확인할 수 있습니다. 컴파일 타임 구성과 관계없이, 다음의 147개 항목 목록에 없는 식별자는 SQLite의 SQL 파서에게 키워드가 아닙니다.
ABORTACTIONADDAFTERALLALTERALWAYSANALYZEANDASASCATTACHAUTOINCREMENTBEFOREBEGINBETWEENBYCASCADECASECASTCHECKCOLLATECOLUMNCOMMITCONFLICTCONSTRAINTCREATECROSSCURRENTCURRENT_DATECURRENT_TIMECURRENT_TIMESTAMPDATABASEDEFAULTDEFERRABLEDEFERREDDELETEDESCDETACHDISTINCTDODROPEACHELSEENDESCAPEEXCEPTEXCLUDEEXCLUSIVEEXISTSEXPLAINFAILFILTERFIRSTFOLLOWINGFORFOREIGNFROMFULLGENERATEDGLOBGROUPGROUPSHAVINGIFIGNOREIMMEDIATEININDEXINDEXEDINITIALLYINNERINSERTINSTEADINTERSECTINTOISISNULLJOINKEYLASTLEFTLIKELIMITMATCHMATERIALIZEDNATURALNONOTNOTHINGNOTNULLNULLNULLSOFOFFSETONORORDEROTHERSOUTEROVERPARTITIONPLANPRAGMAPRECEDINGPRIMARYQUERYRAISERANGERECURSIVEREFERENCESREGEXPREINDEXRELEASERENAMEREPLACERESTRICTRETURNINGRIGHTROLLBACKROWROWSSAVEPOINTSELECTSETTABLETEMPTEMPORARYTHENTIESTOTRANSACTIONTRIGGERUNBOUNDEDUNIONUNIQUEUPDATEUSINGVACUUMVALUESVIEWVIRTUALWHENWHEREWINDOWWITHWITHOUT
이 페이지는 2022-11-26 14:56:19Z에 마지막으로 업데이트되었습니다.