SQL 기초

SQL 명령어

  • SELECT : database로부터 data를 추출한다.
  • UPDATE : database내의 data를 갱신한다.
  • DELETE : database로부터 data를 삭제한다.
  • INSERT INTO : database로 새로운 data를 삽입한다.
  • CREATE DATABASE : 새로운 database를 생성한다.
  • ALTER DATABASE : database를 수정한다.
  • CREATE TABLE : 새 table을 생성한다.
  • ALTER TABLE : table을 수정한다.
  • DROP TABLE : table을 삭제한다.
  • CREATE INDEX : index (search key)를 생성한다.
  • DROP INDEX : index를 삭제한다.

SELECT

  • table로부터 선택한 column들을 전부 읽어서 보여준다. * 은 모든 column.
1
2
SELECT column_name, column_name FROM table_name;
SELECT * FROM table_name;
  • 중복되는 data는 제외하고 보고싶을 때 DISTINCT 구문을 사용한다. (예를 들어 city 정보에 seoul을 갖는 record가 두 개 있을 때 하나만 보여준다.)

    1
    SELECT DISTINCT column_name, column_name FROM table_name;
  • WHERE 절은 특별한 기준을 만족시키는 record만 추출한다.

  • Text value는 작은 따옴표, Numeric value에는 따옴표 없이 사용한다.

OperatorDescription
=Equal
<>Not Equal
>Greater than
<Less than
>=Greater than or equal
<=Less than or equal
BETWEENBetween an inclusive range
LIKESearch for a pattern
INTo specify multiple possible values for a column
1
2
SELECT column_name, column_name FROM table_name WHERE column_name operator value;
SELECT * FROM Customers WHERE Country='Mexico';
  • AND와 OR의 경우 다음과 같이 사용 가능하다.

    1
    2
    SELECT * FROM Customers WHERE Country='Germany' AND City='Berlin';
    SELECT * FROM Customers WHERE Country='Germany' AND (City='Berlin' or City='Munchen');
  • ORDER BY keyword를 이용하여 오름차순으로 정렬해서 볼 수 있다. 내림차순 정렬을 위해서는 DESC keyword를 사용하면 된다.

    1
    2
    3
    4
    SELECT column_name, column_name FROM table_name ORDER BY column_name ASC|DESC, column_name ASC|DESC;
    SELECT * FROM Customers ORDER BY Country;
    SELECT * FROM Customers ORDER BY Country DESC;
    SELECT * FROM Customers ORDER BY Country ASC, CustomerName DESC;
  • INSERT INTO 구문은 table에 새로운 record를 삽입하는 것으로 두 가지 방식으로 사용할 수 있다.

    1
    2
    3
    INSERT INTO table_name VALUES (value1,value2,value3,...);
    INSERT INTO table_name (column1,column2,column3,...) VALUES (value1,value2,value3,...);
    INSERT INTO Customers (CustomerName, ContactName, Address, City, PostalCode, Country) VALUES ('Cardinal','Tom B. Erichsen','Skagen 21','Stavanger','4006','Norway');
  • UPDATE 구문은 table 내에 존재하는 record를 갱신하는 기능이다. WHERE구문을 사용하지 않는다면 모든 record들이 갱신되므로 반드시 올바르게 사용하여야 한다.

    1
    2
    UPDATE table_name SET column1=value1, column2=value2, ... WHERE some_column=some_value;
    UPDATE Customers SET ContactName='Alfred Schmidt', City='Hamburg' WHERE CustomerName='Alfreds Futterkiste';
  • DELETE 구문은 table 내의 row를 삭제한다. WHERE를 사용하지 않으면 모두 삭제되므로 반드시 주의하자.

    1
    2
    DELETE FROM table_name WHERE some_column=some_value;
    DELETE FROM Customers WHERE CustomerName='Alfreds Futterkiste' AND ContactName='Maria Anders';
  • 모든 Data를 삭제하기 위해서는 다음 둘 중 하나를 사용하면 된다. 복구할 수 없으므로 모쪼록 주의하자.

    1
    2
    DELETE FROM table_name;
    DELETE * FROM table_name;
Share