SQL - 위키백과, 우리 모두의 백과사전 SQL 위키백과, 우리 모두의 백과사전. 둘러보기로 가기 검색하러 가기 이 도표는 단문을 구성하는 SQL 언어 요소 몇 가지를 보여준다. SQL ( / [UNK] [UNK] [UNK] /, [ 1 ] or / [UNK] /, Structured Query Language [ 2 ] [ 3 ] [ 4 ] [ 5 ], 구조화 질의어, S - Q - L [ 6 ] ) 는 관계형 데이터베이스 관리 시스템 ( RDBMS ) 의 데이터를 관리하기 위해 설계된 특수 목적의 프로그래밍 언어이다. 관계형 데이터베이스 관리 시스템에서 자료의 검색과 관리, 데이터베이스 스키마 생성과 수정, 데이터베이스 객체 접근 조정 관리를 위해 고안되었다. 많은 수의 데이터베이스 관련 프로그램들이 SQL을 표준으로 채택하고 있다. 목차 1 역사 2 설계 3 SQL 구문 3. 1 명령어 종류 3. 2 명령어 문법 3. 2. 1 데이터 정의 언어 3. 2. 2 데이터 조작 언어 3. 2. 3 데이터 제어 언어 3. 2. 4 커서 정의 및 사용 3. 3 연산자 3. 4 조건 표현 4 자료형 4. 1 문자열 4. 2 비트 열 4. 3 수 4. 4 날짜와 시간 5 SQL 기타 5. 1 동적 SQL 5. 2 임베디드 SQL 5. 3
디드 SQL ( 또는 내장 SQL ) 은 원래 커서가 포함된 SQL에서 호스트 언어에서 결과 집합을 얻기 위해 더 편리한 방법으로 고안된 것이다. 데이터베이스와 통신하기 위한 자원 할당 확보와 개방한 줄에 호스트 언어의 반복으로 가져 오기위한 명령 ( FETCH ) 등이 있다. ALLOCATE ( DEALLOCATE ) DESCRIPTOR ( 데이터베이스 및 호스트 언어 간 통신 영역의 확보와 개방 ) WHENEVER ( 오류 발생시의 동작을 정의 ) SQLSTATE ( SQL 문 실행 후 상태가 저장되는 영역 ) 3값 논리 [ 편집 ] SQL에서 사용되는 논리값은 컴퓨터 세계에서 가장 널리 이용되는'2값 논리'( TRUE, FALSE ) 대신'3값 논리'( TRUE, FALSE, UNKNOWN ) 이 있다. 언어 요소 [ 편집 ] 절 ( clauses ) 식 ( expressions ) 술어 ( predicates ) 질의 ( queries ) 문 ( statements ) 표준화 [ 편집 ] SQL 표준은 다음과 같은 많은 개정을 거쳤다 : 년도 명칭 별칭 설명 1986 SQL - 86 SQL - 87 ANSI에 의한 최초의 표준화. 1989 SQL -
열 4. 2 비트 열 4. 3 수 4. 4 날짜와 시간 5 SQL 기타 5. 1 동적 SQL 5. 2 임베디드 SQL 5. 3 3값 논리 6 언어 요소 7 표준화 7. 1 표준 구조 8 같이 보기 9 참조 10 외부 링크 역사 [ 편집 ] SQL은 IBM에서 1970년대 초에 도널드 D. 챔벌린과 레이먼드 F. 보이스가 처음 개발하였다. 초기에는 SEQUEL ( Structured English Query Language, 구조 영어 질의어 ) 라는 이름으로 시작하였으며, IBM의 준 관계형 데이터베이스 관리 시스템 시스템 R에 저장된 데이터를 조작하고 수신하기 위해 고안되었다. [ 7 ] SEQUEL은 나중에 SQL로 바뀌었는데, 그 까닭은 SEQUEL이 영국의 호커 시들리 항공사의 상표였기 때문이다. [ 8 ] 설계 [ 편집 ] SQL은 관계형 모델과 그것의 튜플 해석이라는 이론적 기초로부터 파생되었다. 해당 모델에서 테이블은 튜플의 집합이지만, SQL에서는 테이블과 쿼리 결과는 열의 목록이다. 같은 열은 여러 번 발생할 수 있고 열의 순서는 쿼리에 의해 나타난다. ( 예 : LIMIT 절 ) SQL 구문 [ 편집 ] 명령어 종류 [ 편집
데이터베이스 설계 정규화 참조 무결성 관계대수 관계논리 데이터베이스 관리 시스템 관계 데이터베이스 관리 시스템 객체 관계 데이터베이스 분산 데이터베이스 트랜잭션 처리 개념 데이터베이스 ACID CRUD NULL 후보 키 외래 키 기본 키 슈퍼 키 대리 키 개체 관계 ( 테이블 · 컬럼 · 로우 ) 뷰 트랜잭션 로그 트리거 인덱스 저장 프로시저 커서 분할 SQL SELECT INSERT UPDATE MERGE DELETE JOIN CREATE DROP COMMIT ROLLBACK TRUNCATE ALTER WHERE SAVEPOINT 구성요소 동시성 제어 데이터 사전 JDBC ODBC 데이터베이스 언어 질의어 쿼리 최적화 쿼리 플랜 데이터베이스 제품 : 관계 데이터베이스 관리 시스템의 비교 데이터베이스 연결 클라이언트 vdeh컴퓨터 과학의 주요 분야수학적 기초 수리논리학 집합론 정수론 그래프 이론 형 이론 범주론 수치해석학 이산수학 계산 이론 오토마타 이론 계산 가능성 이론 계산 복잡도 이론 양자 계산 이론 알고리즘 & 자료 구조 알고리즘 알고리즘 설계 알고리즘 해석 자료 구조 계산기하학 프로그래밍 언어 & 컴파일러 구문 분석 컴파일러 인터프리터 프로그래밍 언어 구조적 프로그래밍 객체 지향 프로그래밍 병렬 & 분산 시스템 병렬 컴퓨팅 컴퓨터 클러스터 분산 컴퓨팅 그리드 컴퓨팅 클라우드 컴퓨팅 IaaS PaaS SaaS 소프트웨어 공학 요구 분석 소프트웨어 설계 컴퓨터 프로그래밍 정형 기법 소프트웨어 테스트 소프트웨어
L 2006 ISO / IEC 9075 - 14 : 2006은 XML과 결합되어 SQL이 사용되는 방법을 정의하고 있다. 여기에는 SQL 데이터베이스 내의 XML 데이터의 불러오기와 저장하는 방법을 정의하고 있으며, 데이터베이스 내에서 조작하여 XML 형식의 전통적 SQL 자료와 XML 형식 모두로 출력하는 방법을 제시한다. 게다가, 여기에서는 W3C에 의해 제안된 XML 쿼리 언어, Xquery를 이용하여 SQL 코드로 애플리케이션을 통합할 수 있도록 하여, 보통의 SQL 데이터와 XML 문서에 접근할 수 있게 한다. [ 12 ] 2008 SQL : 2008 SQL 2008 커서 정의 외부의 ORDER BY를 합법화. INSTEAD OF 트리거 추가. TRUNCATE 구문 추가. [ 13 ] 2011 SQL : 2011 SQL 2011 임시 데이터베이스에 대한 지원 향상 표준 구조 [ 편집 ] ISO / IEC 9075 - 1 : 2011 Part 1 : 프레임워크 ( SQL / Framework ) ISO / IEC 9075 - 2 : 2011 Part 2 : 파운데이션 ( SQL / Foundation ) ISO / IEC 9075 - 3 : 2008 Part 3 : 호출 수준 인터페이스 ( SQL / CLI ) ISO / IEC 9075 - 4 : 2008 Part 4 :
프로그래밍 병렬 & 분산 시스템 병렬 컴퓨팅 컴퓨터 클러스터 분산 컴퓨팅 그리드 컴퓨팅 클라우드 컴퓨팅 IaaS PaaS SaaS 소프트웨어 공학 요구 분석 소프트웨어 설계 컴퓨터 프로그래밍 정형 기법 소프트웨어 테스트 소프트웨어 개발 시스템 아키텍처 컴퓨터 아키텍처 마이크로아키텍처 운영 체제 통신 & 네트워크 컴퓨터 오디오 라우팅 네트워크 토폴로지 암호학 차세대 통신망 데이터베이스 데이터 마이닝 RDBMS SQL NoSQL 오라클 데이터베이스 인공 지능 자동추론 전산언어학 컴퓨터 비전 진화 연산 기계 학습 자연 언어 처리 로봇학 컴퓨터 그래픽 시각화 영상 처리 인간과 컴퓨터 상호 작용 컴퓨터 접근성 사용자 인터페이스 착용 컴퓨터 유비쿼터스 컴퓨팅 가상현실 계산과학 인공생명 생물정보학 인지과학 계산화학 계산론적 신경과학 계산물리학 수치해석학 기호계산 정보보호 암호학 물리 보안 애플리케이션 보안 인터넷 보안 네트워크 보안 해킹 크래킹 vdehSQL버전 SQL - 86 SQL - 89 SQL - 92 SQL : 1999 SQL : 2003 SQL : 2008 SQL : 2011 키워드 DELETE FROM HAVING INSERT JOIN MERGE NULL ORDER BY PREPARE SELECT TRUNCATE UNION UPDATE WHERE vdehISO 표준 목록 : ISO 표준 목록 ISO 로마자 표기법 목록 IEC 표준 목록 분류 : 분류 : ISO 표준 분류
CURSOR ( 커서 정의 ) OPEN ( 커서 열기 ) FETCH ( 커서 포인터가 가리키는 위치의 행 데이터를 검색하고 포인터를 일행 분 진행 ) UPDATE ( 커서 포인터가 가리키는 위치의 행 데이터 업데이트 ) DELETE ( 커서 포인터가 가리키는 위치의 행 데이터 삭제 ) CLOSE ( 커서 닫기 ) 연산자 [ 편집 ] 연산자 설명 = 같음 < > 또는! = 같지 않음 > 보다 큼 < 보다 작음 > = 보다 크거나 같음 < = 보다 작거나 같음 BETWEEN 일정 범위 사이 LIKE 패턴 검색 IN 컬럼의 여러 가능한 값들을 지정 조건 표현 [ 편집 ] SQL은 case / when / then / else / end 표현을 가지고 있으며, 이것은 SQL - 92에서 도입되었다. 일반적인 형식에서, 이것은 SQL 표준에서 " searched case " 라고 불리며, 다른 프로그램 언어에서 else if와 같은 역할을 수행한다 : CASE WHEN n > 0 THEN'positive'WHEN n < 0 THEN'negative'ELSE'zero'END WHEN 조건은 소스에서 등장하는 순서에서 시험된다. 아무런 ELSE 표현식이 지정되지 않으면
'negative'ELSE'zero'END WHEN 조건은 소스에서 등장하는 순서에서 시험된다. 아무런 ELSE 표현식이 지정되지 않으면, ELSE NULL을 기본값으로 하게 된다. switch statement을 미러링하는 약어 구문도 존재한다. 이것은 SQL 표준에서 " simple case " 라고 불린다 : CASE n WHEN 1 then'one'WHEN 2 THEN'two'ELSE'i cannot count that high'END 이 구문은 NULL과 비교하는 통상적인 경고을 이용하여 내포적 특질 비교를 이용한다. 오라클 SQL 구문에서 후자는 DECODE 구문으로 축약될 수 있다 : SELECT DECODE ( n, 1, " one ", 2, " two ", " i cannot count that high " ) FROM some - table ; 마지막 값은 default이다 ; 아무것도 지정되지 않으면, NULL이 기본값이 된다. 그러나 표준 " simple case " 와는 달리 오라클의 DECODE는 2개의 NULL을 서로 동일한 것으로 간주한다. [ 9 ] 자료형 [ 편집 ] 자료형 문서를 참고하십시오
om Microsoft : " Structured Query Language, invented at IBM in the 1970s. It is more commonly known by its acronym, SQL.. " Microsoft. " Structured Query Language ( SQL ) ". ↑ Beaulieu, Alan ( April 2009 ). Mary E Treseler, 편집. 《 Learning SQL 》 2판. Sebastapol, CA, USA : O'Reilly. ISBN 978 - 0 - 596 - 52083 - 0. ↑ Chamberlin, Donald D ; Boyce, Raymond F ( 1974 ). " SEQUEL : A Structured English Query Language " ( PDF ). 《 Proceedings of the 1974 ACM SIGFIDET Workshop on Data Description, Access and Control 》 ( Association for Computing Machinery ) : 249 - 64. 2007년 6월 9일에 확인함. ↑ Oppel, Andy ( 2004년 2월 27일 ). 《 Databases Demystified 》. San Francisco, CA : McGraw - H
과 같은 많은 개정을 거쳤다 : 년도 명칭 별칭 설명 1986 SQL - 86 SQL - 87 ANSI에 의한 최초의 표준화. 1989 SQL - 89 FIPS 127 - 1 마이너 개정, integrity constraints가 추가. FIPS 127 - 1에서 채택. 1992 SQL - 92 SQL2, FIPS 127 - 2 매이저 개정 ( ISO 9075 ), Entry Level SQL - 92은 FIPS 127 - 2로 채택. 1999 SQL : 1999 SQL3 정규 표현식 매칭 추가, 재귀 쿼리 ( 예, 이행적 폐쇄 ), 데이터베이스 트리거, 절차적, 통제흐름 구문 지원, 비규격 타입 그리고 객체지향형 특징 지원 ( 예, 구조화 타입 ). 자바에서 내장 SQL 지원 ( SQL / OLB ) 그리고 ( SQL / JRT ). 2003 SQL : 2003 SQL 2003 XML 관련 특징 도입 ( SQL / XML ), window functions, 자동생성값에 대한 표준화된 [UNK] 컬럼 ( 아이덴티티 컬럼 포함 ). 2006 SQL : 2006 SQL 2006 ISO / IEC 9075 - 14 : 2006은 XML과 결합되어 SQL이 사용되는 방법을 정의하고 있다. 여기에는 SQL 데이터베이스 내
SQL(/ˈɛs kjuː ˈɛl/, 또는 /ˈsiːkwəl/, Structured Query Language, 구조화 질의어, S-Q-L)은 관계형 데이터베이스 관리 시스템(RDBMS)의 데이터를 관리하기 위해 설계한 특수 목적의 프로그래밍 언어이다. 관계형 데이터베이스 관리 시스템에서 자료의 검색과 관리, 데이터베이스 스키마 생성과 수정, 데이터베이스 객체 접근 조정 관리를 위해 고안하였다. 많은 수의 데이터베이스 관련 프로그램들에서 SQL을 표준으로 채택하였다.