Structured Query Language, SQL
SQL은 관계형 데이터베이스 관리 시스템(RDBMS)의 데이터를 관리하기 위해 설계된 특수 목적의 프로그래밍 언어이다. 관계형 데이터베이스 관리 시스템에서 자료의 검색과 관리, 데이터베이스 스키마 생성과 수정, 데이터베이스 객체 접근 조정 관리를 위해 고안되었다. 많은 수의 데이터베이스 관련 프로그램들이 SQL을 표준으로 채택하고 있다. 출처: 위키피디아
SQL로 할 수 있는 것들
- 데이터베이스에 질의를 보낼 수 있다.
- 데이터베이스로부터 데이터를 가져올 수 있다.
- 데이터베이스에 새로운 레코드를 삽입할 수 있다.
- 이미 존재하는 레코드를 갱신할 수 있다.
- 레코드를 삭제할 수 있다.
- 새로운 데이터베이스를 생성할 수 있다.
- 데이터베이스에 새로운 테이블을 생성할 수 있다.
- 데이터베이스에 저장 프로시져 (stored procedures) 를 생성할 수 있다.
- 데이터베이스에 뷰를 생성할 수 있다.
- 테이블, 프로시져, 뷰에 권한을 설정할 수 있다.
RDBMS
관계형 데이터베이스 관리 시스템
관계형 데이터베이스 관리 시스템(relational database management system, RDBMS)은 IBM 산호세 연구소의 에드거 F. 커드가 도입한 관계형 모델을 기반으로 하는 데이터베이스 관리 시스템이다. 현재 사용되는 대부분의 데이터베이스는 관계형 데이터베이스 모델을 기반으로 한다. 출처: 위키피디아
RDBMS
는 SQL
과 MS SQL Server, IBM DB2, Oracle, MySQL, Microsoft Access 등의 모든 현대 데이터베이스 시스템들의 기준이다.
RDBMS
에서 데이터들은 테이블
이라는 데이터베이스 객체에 저장된다. 테이블
은 행과 열로 이루어져있는 데이터들의 모음이다.
테이블 예시: Customer
테이블
CustomerID | CustomerName | ContactName | Address | City | PostalCode | Country |
---|---|---|---|---|---|---|
1 | Alfreds Futterkiste | Maria Anders | Obere Str. 57 | Berlin | 12209 | Germany |
2 | Ana Trujillo Emparedados y helados | Ana Trujillo | Avda. de la Constitución 2222 | México D.F. | 05021 | Mexico |
3 | Antonio Moreno Taquería | Antonio Moreno | Mataderos 2312 | México D.F. | 05023 | Mexico |
4 | Around the Horn | Thomas Hardy | 120 Hanover Sq. | London | WA1 1DP | UK |
5 | Berglunds snabbköp | Christina Berglun | Berguvsvägen 8 | Luleå | S-958 22 | Sweden |
- 데이터베이스에는 여러 개의
테이블 (Table)
이 있을 수 있으며, 각각의 테이블은 테이블이름을 가진다. 위의 테이블이름은Customers
이다. - 테이블은
필드 (Field)
라는 작은 단위로 나눌 수 있다. 필드는 테이블의 한 열을 나타내며, 모든 레코드들의 특정한 값을 저장한다. Customers 테이블은CustomerID
,CustomerName
,ContactName
,Address
,City
,PostalCode
,Country
라는 필드들을 가지고 있다. 레코드 (Record)
는 테이블의 한 행을 뜻하며, 테이블에 입력된 각각의 데이터 개체를 말한다. Customers 테이블은 5개의 레코드를 가지고 있다.
SQL 문
데이터베이스에 행해질 대부분의 명령은 SQL
문으로 실행된다. 아래의 SQL 문은 Customers 테이블의 모든 레코드를 선택한다.
SELECT * FROM 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 - 인덱스 삭제
Reference
W3School: https://www.w3schools.com/sql/