SQL select, insert, update, delete

찌끅·2024년 9월 30일

SQL (Structured Query Language)

SQL은 데이터베이스를 관리하고 조작하기 위한 표준 언어이다. 데이터베이스에서 데이터를 저장, 수정, 삭제, 조회 등의 작업을 수행할 수 있게 해준다. SQL은 주로 관계형 데이터베이스 관리 시스템(RDBMS)에서 사용되며, 다양한 명령어를 통해 데이터의 구조와 내용을 제어할 수 있다.


1. SELECTWHERE 절 및 연산자

SELECT 문은 데이터베이스에서 데이터를 조회할 때 사용된다. WHERE 절은 특정 조건을 만족하는 데이터만 조회할 때 사용되며, 연산자는 WHERE 절 냉서 조건을 지정하는 데 쓰인다.

예시:

SELECT * FROM users WHERE id = 1;
  • 설명: users 테이블에서 id가 1인 모든 데이터를 조회한다.
    자주 사용하는 연산자:
  • = : 값이 같다
  • != 또는 <> : 값이 다르다
  • > : 값이 크다
  • < : 값이 작다
  • >= : 값이 크거나 같다
  • <= : 값이 작거나 같다
  • AND : 여러 조건을 동시에 만족 (예: WHERE id = 1 AND username = 'john')
  • OR : 여러 조건 중 하나만 만족 (예: WHERE id = 1 OR id = 2)
  • LIKE : 패턴 매칭 (예: WHERE username LIKE 'jo%')
SELECT * FROM users WHERE username = 'john' AND email LIKE '%gmail.com';
  • 설명: username이 'john'이고, email이 'gmail.com'으로 끝나는 데이터를 조회한다.

2. INSERT INTO

INSERT INTO문은 테이블에 새로운 데이터를 삽입할 때 사용된다.

예시:

INSERT INTO users (username, email) VALUES ('alice', 'alice@example.com');
  • 설명: users 테이블에 username은 'alice'이고, email은 'alice@example.com'인 새 데이터를 삽입한다.

Auto Increment와 함께 사용하기:
테이블에 AUTO_INCREMENT가 설정된 필드(예: id)가 있는 경우, 해당 필드에는 값을 명시적으로 넣지 않아도 자동으로 증가된 값이 입력된다.

INSERT INTO users (username, email) VALUES ('bob', 'bob@example.com');
  • 설명: id는 자동으로 증가하고, username은 'bob', email은 'bob@example.com'인 데이터가 삽입된다.

3. UPDATE 문

UPDATE 문은 기존 데이터를 수정할 때 사용된다. WHERE 절을 통해 특정 조건을 만족하는 데이터만 수정할 수 있다.
예시:

UPDATE users SET email = 'new_email@example.com' WHERE id = 1;
  • 설명: id가 1인 사용자의 email을 'new_email@example.com'으로 변경한다.

여러 필드를 동시에 업데이트:

UPDATE users SET email = 'new_email@example.com', username = 'new_username' WHERE id = 1;
  • 설명: id가 1인 사용자의 email을 'new_email@example.com'으로, username을 'new_username'으로 수정한다.

4. DELETE 문

DELETE 문은 데이터를 삭제할 때 사용된다. WHERE 절을 사용해 특정 조건을 만족하는 데이터만 삭제할 수 있다. WHERE 절을 사용하지 않으면 테이블의 모든 데이터가 삭제되므로 주의해야 한다.

예시:

DELETE FROM users WHERE id = 1;
  • 설명: id가 1인 사용자의 데이터를 삭제한다.

5. AUTO_INCREMENT

AUTO_INCREMENT는 테이블의 특정 필드 값이 자동으로 증가하도록 설정하는 기능이다. 주로 id 같은 기본 키에 사용되며, 새로운 레코드가 추가될 때마다 자동으로 1씩 증가한다.

예시 테이블 생성:

CREATE TABLE users (
    id INT(6) UNSIGNED AUTO_INCREMENT PRIMARY KEY,
    username VARCHAR(30) NOT NULL,
    email VARCHAR(50),
    created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
);
  • 설명: id 필드는 AUTO_INCREMENT로 설정되어, 사용자가 레코드를 삽입할 때마다 자동으로 1씩 증가한다.

0개의 댓글