본문 바로가기

DataBase

SQL 기본 문법 및 예제 (CRUD)

이 글은 작성자의 개인 공부를 위해 작성한 글입니다.
실제 이론, 실습과 다른 부분이 있을 수 있습니다

 

1. SQL 소개

SQL은 데이터베이스에서 데이터를 관리하고 조작하는 데 사용되는 표준 언어이다.

SQL을 통해 데이터를 삽입, 조회, 갱신삭제할 수 있다.

SQL은 관계형 데이터베이스 관리 시스템(RDBMS)에서 사용된다.

2. SQL의 기본 문법

2.1 테이블 생성

  • CREATE TABLE : 새로운 테이블을 생성한다.
CREATE TABLE users (
    id INT PRIMARY KEY,
    name VARCHAR(100),
    email VARCHAR(100)
);

2.2 데이터 삽입

  • INSERT INTO : 테이블에 새로운 데이터를 삽입한다.
INSERT INTO users (id, name, email)
VALUES (1, 'John Doe', 'john.doe@example.com');

2.3 데이터 조회

  • SELECT : 테이블에서 데이터를 조회한다.
SELECT * FROM users;

-> users 테이블의 모든 열을 조회 (*은 모두를 의미함)

 

SELECT name, email FROM users;

-> users 테이블의 name, email와 같은 특정 열만을 조회

2.4 데이터 갱신

  • UPDATE : 테이블의 데이터를 갱신한다.
UPDATE users
SET email = 'john.newemail@example.com'
WHERE id = 1;

-> id가 1인 email을 john.newemail@example.com로 업데이트 한다.

2.5 데이터 삭제

  • DELETE FROM : 테이블에서 데이터를 삭제한다.
DELETE FROM users WHERE id = 1;

-> users 테이블에서 id가 1인 열을 삭제한다.

3. SQL 예제

위에 구문들을 사용한 간단한 예제 (학생 정보 관리)

 

3-1. 데이터베이스 및 테이블 생성

CREATE DATABASE university;
USE university;

CREATE TABLE students (
    student_id INT PRIMARY KEY,
    name VARCHAR(100),
    age INT,
    major VARCHAR(50)
);

 

3-2. 데이터 삽입

INSERT INTO study (student_id, name, age, major)
VALUES (1, '김샤코', 20, '심리학과');

INSERT INTO study (student_id, name, age, major)
VALUES (2, '이소나', 22, '실용음악과');

INSERT INTO study (student_id, name, age, major)
VALUES (3, '강티모', 21, '생물학과');

 

3-3. 출력 화면

 

3-4. 특정 데이터 조회

select name from study where age >= 21;

-> study 테이블에서 age가 21 이상인 name을 조회

 

출력 화면

 

select major from study where student_id = 1;

-> study 테이블에서 student_id가 1 인 major를 조회

 

출력 화면

 

select * from study where major like '심리%';

-> study 테이블에서 '심리'로 시작하는 모든 데이터를 조회

 

출력 화면

 

3-5. 데이터 갱신

update study set age = 24 where name = '김샤코';

-> study 테이블의 김샤코라는 이름을 가진 데이터의 age를 24로 업데이트

 

출력 화면

 

update study set major = '수의학과' where name = '강티모';

-> study 테이블의 강티모라는 이름을 가진 데이터의 major를 수의학과로 업데이트

 

 

3-6. 데이터 삭제

delete from study where student_id = 1;

-> study 테이블의 student_id가 1인 데이터를 삭제

 

출력 화면

 

delete from study;

-> study 테이블에 있는 모든 내용 삭제

 

출력 화면