"에스큐엘"의 두 판 사이의 차이
잔글 |
|||
1번째 줄: | 1번째 줄: | ||
− | '''에스큐엘'''(SQL)은 Structured Query Language의 약자로서, 구조화 질의어를 말한다. 주로 '에스큐엘'이라고 읽지만, '''시퀄'''이라고 읽는 경우도 있다. SQL 기반의 [[관계형 데이터베이스 관리 시스템]](RDBMS)에는 [[오라클 (제품)|오라클]](Oracle), [[마이에스큐엘]](MySQL), [[엠에스에스큐엘]](MS-SQL), [[티베로]](Tibero), [[큐브리드]](Cubrid) 등이 있다. SQL은 데이터베이스 관리 시스템(RDBMS)에서 데이터를 관리 하기 위해 고안되었다. 자료의 검색과 관리, 데이터베이스 스키마 생성과 수정, 데이터베이스 객체 접근 조정 관리를 위해 사용된다. 데이터베이스 관련 프로그램들은 상당수 SQL을 표준으로 채택하고 있다.<ref name="sql">Che1, 〈[https://nachwon.github.io/sql-1-intro/ SQL 이란?]〉, 《깃허브》, 2017-10-07</ref> | + | '''에스큐엘'''(SQL)은 Structured Query Language의 약자로서, 구조화 질의어를 말한다. 주로 '에스큐엘'이라고 읽지만, '''시퀄'''이라고 읽는 경우도 있다. SQL 기반의 [[관계형 데이터베이스 관리 시스템]](RDBMS)에는 [[오라클 (제품)|오라클]](Oracle), [[마이에스큐엘]](MySQL), [[엠에스에스큐엘]](MS-SQL), [[티베로]](Tibero), [[큐브리드]](Cubrid) 등이 있다. SQL은 데이터베이스 관리 시스템(RDBMS)에서 데이터를 관리 하기 위해 고안되었다. 자료의 검색과 관리, [[데이터베이스]] [[스키마]] 생성과 수정, 데이터베이스 객체 접근 조정 관리를 위해 사용된다. 데이터베이스 관련 프로그램들은 상당수 SQL을 표준으로 채택하고 있다.<ref name="sql">Che1, 〈[https://nachwon.github.io/sql-1-intro/ SQL 이란?]〉, 《깃허브》, 2017-10-07</ref> |
== 특징 == | == 특징 == | ||
SQL은 배우고 사용하기 쉬운 언어라는 특징이 있다. 초심자도 쉽게 접근할 수 있다. | SQL은 배우고 사용하기 쉬운 언어라는 특징이 있다. 초심자도 쉽게 접근할 수 있다. | ||
절차적 개별 단위로 처리되는 프로그래밍 언어와는 다르게 데이터의 집합 단위로 처리된다. 데이터가 어떻게 처리되는지 과정은 SQL문장 작성자는 신경 쓰지 않아도 된다. 또한 SQL 은 표준 SQL문장이 존재한다. 공인된 기관이 만든 표준 SQL 문장이다. DBMS의 종류에 얽매이지 않고 사용할 수 있다는 점도 SQL의 특징 중 하나이다. <ref name ="특징">ignocide, 〈[http://mythinkg.blogspot.com/2014/04/sql.html SQL 특징 및 구성]〉, 《블로거》, 2014-04-13</ref> | 절차적 개별 단위로 처리되는 프로그래밍 언어와는 다르게 데이터의 집합 단위로 처리된다. 데이터가 어떻게 처리되는지 과정은 SQL문장 작성자는 신경 쓰지 않아도 된다. 또한 SQL 은 표준 SQL문장이 존재한다. 공인된 기관이 만든 표준 SQL 문장이다. DBMS의 종류에 얽매이지 않고 사용할 수 있다는 점도 SQL의 특징 중 하나이다. <ref name ="특징">ignocide, 〈[http://mythinkg.blogspot.com/2014/04/sql.html SQL 특징 및 구성]〉, 《블로거》, 2014-04-13</ref> | ||
+ | |||
+ | == RDBMS == | ||
+ | 관계형 데이터베이스 관리 시스템(Relational Database Management System)이라고 한다. 관계형 모델을 기반으로 하는 데이터베이스 관리 시스템이다. 현재 사용되는 대부분의 데이터베이스는 관계형 모델을 기반으로 한다. | ||
+ | RDBMS는 SQL을 비롯한 현대 데이터베이스 시스템들의 기준이 된다. | ||
+ | 데이터들을 행과 열로 이루어진 테이블이라는 데이터베이스 객체에 저장한다. 데이터베이스에서 여러개의 테이블이 있을 수 있으며, 테이블은 각자 이름을 가진다. 테이블은 또 다시 한 열을 나타내는 필드와 한 행을 나타내는 레코드로 나뉜다.<ref name="sql"></ref> | ||
+ | * 필드 : 모든 레코드들의 특정한 값을 저장 | ||
+ | * 레코드 : 테이블에 입력된 각각의 데이터 개체 | ||
== SQL로 할 수 있는 것 == | == SQL로 할 수 있는 것 == | ||
9번째 줄: | 16번째 줄: | ||
=== 데이터 조작(DML) === | === 데이터 조작(DML) === | ||
− | * 데이터 조작어(Data Manipulation Language). 데이터를 조회, 저장, 삭제할때 사용할 수 있다. 저장의 경우 입력과 수정 두가지로 다시 나눌 수 있다. | + | * [[데이터 조작어]](Data Manipulation Language). 데이터를 조회, 저장, 삭제할때 사용할 수 있다. 저장의 경우 입력과 수정 두가지로 다시 나눌 수 있다. |
** 조회 : SELECT | ** 조회 : SELECT | ||
** 삭제 : DELETE | ** 삭제 : DELETE | ||
15번째 줄: | 22번째 줄: | ||
=== 데이터 정의(DDL) === | === 데이터 정의(DDL) === | ||
− | * 데이터 정의어(Data Definition Language). 객체를 생성하는데 사용한다. 데이터베이스 객체는 데이터베이스, 인덱스, 테이블, 뷰, 트리거 등이 있다. | + | * [[데이터 정의어]](Data Definition Language). 객체를 생성하는데 사용한다. 데이터베이스 객체는 [[데이터베이스]], [[인덱스]], [[테이블]], [[뷰]], [[트리거]] 등이 있다. |
** CREATE, DROP, ALTER, TRUNCATE | ** CREATE, DROP, ALTER, TRUNCATE | ||
=== 데이터 제어(DCL) === | === 데이터 제어(DCL) === | ||
− | * 데이터 제어어(Data Control Language). 데이터베이스에 들어있는 데이터에 접근을 제어한다. | + | * [[데이터 제어어]](Data Control Language). 데이터베이스에 들어있는 데이터에 접근을 제어한다. |
** GRANT, REVOKE | ** GRANT, REVOKE | ||
+ | |||
+ | == SQL 문 == | ||
+ | 기본적으로 데이터베이스에서 행해지는 대부분의 명령은 SQL문으로 실행된다. | ||
+ | : SELECT * FROM Customers; | ||
+ | 위 SQL문은 Customers 라는 테이블의 모든 레코드를 선택하는 명령이다. 이 때 SQL 문에서는 대소문자를 구분하지 않는다. select 와 SELECT는 같은 명령이다. 또한 각각의 SQL문의 끝에 ; 를 붙여서 문장을 구분한다. | ||
+ | |||
+ | === 중요한 SQL 명령어 === | ||
+ | * SELECT - 데이터 추출 | ||
+ | * INSERT INTO - 새로운 데이터 삽입 | ||
+ | * UPDATE - 데이터 갱신 | ||
+ | * DELETE - 데이터 삭제 | ||
+ | * CREATE DATABASE- 새로운 데이터베이스 생성 | ||
+ | * ALTER DATABASE - 데이터베이스 변경 | ||
+ | * CREATE TABLE - 테이블 생성 | ||
+ | * ALTER TABLE - 테이블 변경 | ||
+ | * DROP TABLE - 테이블 삭제 | ||
+ | * CREATE INDEX- 인덱스 생성 | ||
+ | * DROP INDEX - 인덱스 삭제 | ||
{{각주}} | {{각주}} | ||
33번째 줄: | 58번째 줄: | ||
* [[관계형 데이터베이스 관리 시스템]](RDBMS) | * [[관계형 데이터베이스 관리 시스템]](RDBMS) | ||
* [[노에스큐엘]](NoSQL) | * [[노에스큐엘]](NoSQL) | ||
− | * [[데이터베이스 | + | * [[마이에스큐엘]](MySQL) |
+ | * [[데이터베이스 조작어]](DML) | ||
+ | * [[데이터베이스 정의어]](DDL) | ||
+ | * [[데이터베이스 제어어]](DCL) | ||
{{데이터베이스 관리 시스템|토막글}} | {{데이터베이스 관리 시스템|토막글}} |
2019년 7월 25일 (목) 10:46 판
에스큐엘(SQL)은 Structured Query Language의 약자로서, 구조화 질의어를 말한다. 주로 '에스큐엘'이라고 읽지만, 시퀄이라고 읽는 경우도 있다. SQL 기반의 관계형 데이터베이스 관리 시스템(RDBMS)에는 오라클(Oracle), 마이에스큐엘(MySQL), 엠에스에스큐엘(MS-SQL), 티베로(Tibero), 큐브리드(Cubrid) 등이 있다. SQL은 데이터베이스 관리 시스템(RDBMS)에서 데이터를 관리 하기 위해 고안되었다. 자료의 검색과 관리, 데이터베이스 스키마 생성과 수정, 데이터베이스 객체 접근 조정 관리를 위해 사용된다. 데이터베이스 관련 프로그램들은 상당수 SQL을 표준으로 채택하고 있다.[1]
목차
특징
SQL은 배우고 사용하기 쉬운 언어라는 특징이 있다. 초심자도 쉽게 접근할 수 있다. 절차적 개별 단위로 처리되는 프로그래밍 언어와는 다르게 데이터의 집합 단위로 처리된다. 데이터가 어떻게 처리되는지 과정은 SQL문장 작성자는 신경 쓰지 않아도 된다. 또한 SQL 은 표준 SQL문장이 존재한다. 공인된 기관이 만든 표준 SQL 문장이다. DBMS의 종류에 얽매이지 않고 사용할 수 있다는 점도 SQL의 특징 중 하나이다. [2]
RDBMS
관계형 데이터베이스 관리 시스템(Relational Database Management System)이라고 한다. 관계형 모델을 기반으로 하는 데이터베이스 관리 시스템이다. 현재 사용되는 대부분의 데이터베이스는 관계형 모델을 기반으로 한다. RDBMS는 SQL을 비롯한 현대 데이터베이스 시스템들의 기준이 된다. 데이터들을 행과 열로 이루어진 테이블이라는 데이터베이스 객체에 저장한다. 데이터베이스에서 여러개의 테이블이 있을 수 있으며, 테이블은 각자 이름을 가진다. 테이블은 또 다시 한 열을 나타내는 필드와 한 행을 나타내는 레코드로 나뉜다.[1]
- 필드 : 모든 레코드들의 특정한 값을 저장
- 레코드 : 테이블에 입력된 각각의 데이터 개체
SQL로 할 수 있는 것
SQL은 데이터베이스 데이터를 관리하는 것을 목적으로 만든 프로그래밍 언어이다. SQL로는 데이터들을 관리 할 수 있다.
데이터 조작(DML)
- 데이터 조작어(Data Manipulation Language). 데이터를 조회, 저장, 삭제할때 사용할 수 있다. 저장의 경우 입력과 수정 두가지로 다시 나눌 수 있다.
- 조회 : SELECT
- 삭제 : DELETE
- 저장 : INSERT, UPDATE
데이터 정의(DDL)
- 데이터 정의어(Data Definition Language). 객체를 생성하는데 사용한다. 데이터베이스 객체는 데이터베이스, 인덱스, 테이블, 뷰, 트리거 등이 있다.
- CREATE, DROP, ALTER, TRUNCATE
데이터 제어(DCL)
- 데이터 제어어(Data Control Language). 데이터베이스에 들어있는 데이터에 접근을 제어한다.
- GRANT, REVOKE
SQL 문
기본적으로 데이터베이스에서 행해지는 대부분의 명령은 SQL문으로 실행된다.
- SELECT * FROM Customers;
위 SQL문은 Customers 라는 테이블의 모든 레코드를 선택하는 명령이다. 이 때 SQL 문에서는 대소문자를 구분하지 않는다. select 와 SELECT는 같은 명령이다. 또한 각각의 SQL문의 끝에 ; 를 붙여서 문장을 구분한다.
중요한 SQL 명령어
- SELECT - 데이터 추출
- INSERT INTO - 새로운 데이터 삽입
- UPDATE - 데이터 갱신
- DELETE - 데이터 삭제
- CREATE DATABASE- 새로운 데이터베이스 생성
- ALTER DATABASE - 데이터베이스 변경
- CREATE TABLE - 테이블 생성
- ALTER TABLE - 테이블 변경
- DROP TABLE - 테이블 삭제
- CREATE INDEX- 인덱스 생성
- DROP INDEX - 인덱스 삭제
각주
- ↑ 1.0 1.1 Che1, 〈SQL 이란?〉, 《깃허브》, 2017-10-07
- ↑ ignocide, 〈SQL 특징 및 구성〉, 《블로거》, 2014-04-13
참고 자료
- Che1, 〈SQL 이란?〉, 《깃허브》, 2017-10-07
- ignocide, 〈SQL 특징 및 구성〉, 《블로거》, 2014-04-13
같이 보기
- 데이터베이스(DB)
- 데이터베이스 관리 시스템(DBMS)
- 관계형 데이터베이스 관리 시스템(RDBMS)
- 노에스큐엘(NoSQL)
- 마이에스큐엘(MySQL)
- 데이터베이스 조작어(DML)
- 데이터베이스 정의어(DDL)
- 데이터베이스 제어어(DCL)