본문 바로가기

프로그래밍/DB

데이터베이스 기초 1

SELECT - 데이터를 추출한다

UPDATE - 데이터를 업데이트한다

DELETE - 데이터를 삭제한다

INSERT INTO - 새로운 데이터를 DB에 삽입한다

CREATE DATABASE - 새 DB를 만든다

ALTER DATABASE - DB를 수정한다

CEATE TABLE - 새 테이블을 만든다

ALTER TABLE - 테이블을 삭제한다

DROP TABLE - 테이블을 삭제한다

CREATE INDEX - 인덱스를 작성한다

DROP INDEX - 인덱스를 삭제한다

 

1. SELECT

 : DB에서 데이터를 선택하는데 사용한다

리턴된 데이터를 결과 테이블에 저장된다

 

ex)

SELECT column1, column2, ...

FROM table_name;

 

column1, column2, ...는 데이터를 선택할 테이블의 필드 이름이다.

 

사용가능한 모든 필드를 선택하려면 *을 사용한다

SELECT * FROM table_name;

 

DISTINCT

 : 중복된 결과를 제거하고 하나만 원하고자할 때 사용한다, 고유한 값만 리턴하는데 사용

중복 제거

 

2. WHERE

 : 레코드를 필터링하는데 사용한다.

  지정된 조건을 충족하는 레코드만 추출하는데 사용한다

 

ex)

SELECT comlumn1, column2, ...

FROM table_name

WHERE condition;

 

WHERE 절은 SELECT 문에만 사용되는 것이 아니라 UPDATE, DELETE 문에서도 사용된다

 

WHERE 절은 AND, ORNOT 연산자와 결합할 수 있다

 

AND, OR 연산자는 둘 이상의 조건에 따라 레코드를 필터링하는데 사용한다

 

AND로 구분된 모든 조건이 TRUE이면 AND 연산자가 레코드를 표시한다

OR로 구분된 조건이 TRUE인 경우 OR 연산자는 레코드를 표시한다

NOT 연산자는 조건이 참이 아닌 경우 레코드를 표시한다

 

ex)

SELECT column1, column2, ...

FROM table_name

WHERE condition1 AND condition2

 

SELECT column1, column2, ...

FROM table_name

WHERE condition1 OR condition2

 

SELECT column1, column2, ...

FROM table_name

WHERE NOT condition

 

AND, ORNOT 연산자를 결합할 수도 있다

 

ex)

SELECT * FROM Customers

WHERE Country = 'Getmany' AND (City = 'Berlin' OR City = 'Munchen');

 

SELECT * FROM Customers

WHERE NOT Country = 'Germany' AND NOT Country = 'USA';

 

3. ORDER BY

 : 결과 집합을 오름차순 또는 내림차순으로 정렬하는데 사용한다

기본적으로 오름차순으로 정렬한다. 내림차순으로 정렬하려면 DESC를 사용한다

 

ex)

SELECT column1, column2, ...

FROM table_name

ORDER BY column1, column2,... ASC/DESC;

 

4. INSERT INTO 구문

두가지 방법으로 작성할 수 있다

 

첫번째 삽입할 열 이름과 값을 모두 지정한다

 

ex)

INSERT INTO table_name ( column1, column2, ...)

VALUES (value1, value2, ...)

 

두번째 표의 모든 열에 값을 추가하는 경우 SQL 조회해서 열 이름을 지정할 필요가 없다. 하지만 값의 순서가 테이블의 열과 동일한 순서인지 확인해야 한다

 

ex)

INSERT INTO table_name

VALUES (value1, value2,...);

 

5. NULL

 : NULL이 있는 필드는 값이 없는 필드이다.

테이블의 필드가 optional이면 이 필드에 값을 추가하지 않고 새 레코드를 삽입하거나 레코드를 업데이트할 수 있다. 그런 다음 필드가 NULL로 저장된다

 

NULL 값은 0 값이나 공백이 있는 필드와 다르다. 

NULL 값이 있는 필드는 레코드를 만드는 동안 비워두어야 한다.

 

=, < 또는 <>와 같은 비교 연산자로 NULL 값을 테스트할 수 없다

대신 IS NULL 연산자나 IS NOT NULL 연산자를 사용해야 한다

 

ex)

SELECT column_names

FROM table_name

WHERE column_name IS NULL

 

SELECT column_names

FROM table_name

WHERE column_name IS NOT NULL

 

IS NULL 연산자

NULL값을 테스트하는데 사용된다

NULL 값을 찾으려면 항상 IS NULL을 사용한다

 

ex)

SELECT CustomerName, ContactName, Address

FROM Customers

WHERE Address IS NULL;

 

IS NOT NULL 연산자

비어 있지 않은 값을 테스트하는데 사용한다

 

ex)

SELECT CustomerName, ContactNAme, Address

FROM Customers

WHERE Address IS NOT NULL;

 

'프로그래밍 > DB' 카테고리의 다른 글

데이터베이스 기초 2  (0) 2019.08.06