콘텐츠로 이동

SQLite로 SQL 명령어 실습

SQLite DB 생성하기

%load_ext sql
%%sql sqlite:///Employees.db

테이블 생성하기

설명: 새로운 데이터베이스 객체를 생성합니다. 테이블, 인덱스, 뷰 등을 생성할 때 사용합니다.
예제: Employees 테이블을 생성하는 예제

%%sql CREATE TABLE Employees (
    EmployeeID INTEGER PRIMARY KEY,  -- 기본키로 설정
    FirstName TEXT NOT NULL,         -- 이름 (NULL 불가)
    LastName TEXT NOT NULL,          --  (NULL 불가)
    HireDate TEXT,                   -- 입사일
    Salary REAL                      -- 급여
);

테이블 삭제하기

설명: 기존의 데이터베이스 객체를 삭제합니다.
예제: 테이블 삭제

%%sql DROP TABLE Employees;

테이블에 데이터 추가하기

설명: 테이블에 새로운 데이터를 삽입합니다.
예제: Employees 테이블에 새로운 직원을 추가하는 예제

%%sql INSERT INTO Employees (FirstName, LastName, HireDate, Salary)
VALUES ('John', 'Doe', '2022-01-15', 55000.00);

테이블에서 데이터를 가져오기

설명: 테이블에서 데이터를 조회합니다.
예제: Employees 테이블에서 모든 데이터를 조회하는 예제

import sqlite3

# SQLite 데이터베이스에 연결 (파일이 없다면 자동으로 생성됨)
conn = sqlite3.connect('Employees.db')  # 'Employees.db'는 데이터베이스 파일 이름
cursor = conn.cursor()  # 커서 객체 생성

# 데이터 조회
cursor.execute('SELECT * FROM Employees')

# 결과 출력
rows = cursor.fetchall()
for row in rows:
    print(row)

# 데이터베이스 연결 종료
conn.close()

특정 컬럼만 조회:

import sqlite3

# SQLite 데이터베이스에 연결 (파일이 없다면 자동으로 생성됨)
conn = sqlite3.connect('Employees.db')  # 'Employees.db'는 데이터베이스 파일 이름
cursor = conn.cursor()  # 커서 객체 생성

# 데이터 조회
cursor.execute('SELECT FirstName, LastName, Salary FROM Employees')

# 결과 출력
rows = cursor.fetchall()
for row in rows:
    print(row)

# 데이터베이스 연결 종료
conn.close()

조건을 지정하여 데이터 조회:

import sqlite3

# SQLite 데이터베이스에 연결 (파일이 없다면 자동으로 생성됨)
conn = sqlite3.connect('Employees.db')  # 'Employees.db'는 데이터베이스 파일 이름
cursor = conn.cursor()  # 커서 객체 생성

# 데이터 조회
cursor.execute('SELECT * FROM Employees WHERE Salary > 50000')

# 결과 출력
rows = cursor.fetchall()
for row in rows:
    print(row)

# 데이터베이스 연결 종료
conn.close()

테이블의 값 수정하기

설명: 테이블의 기존 데이터를 수정합니다.
예제: 특정 직원의 급여를 수정하는 예제

%%sql UPDATE Employees
SET Salary = 60000
WHERE EmployeeID = 1;

테이블의 값 삭제하기

설명: 테이블에서 특정 데이터를 삭제합니다.
예제: 특정 직원을 삭제하는 예제

%%sql DELETE FROM Employees WHERE EmployeeID = 1;