SQLite 설치 및 테스트 데이터를 생성

SQLite 설치 및 테스트 데이터를 생성

Database
SQLite 설치 및 테스트 데이터를 생성
Author

gabriel yang

Published

December 7, 2024

SQLite 설치 및 테스트 데이터를 생성하는 방법

SQLite는 간단하게 SQL을 배우고 테스트할 수 있는 강력한 데이터베이스 관리 시스템입니다. 이 글에서는 SQLite를 설치하고, 주어진 데이터를 테스트 테이블에 삽입하는 방법을 설명합니다.

1. SQLite 설치

SQLite는 설치가 매우 간단합니다. 운영 체제에 맞는 방법을 따라 주세요.

  • Windows:

    1. SQLite 다운로드 페이지에서 Precompiled Binaries for Windowssqlite-tools ZIP 파일을 다운로드합니다.
    2. ZIP 파일을 압축 해제한 후, sqlite3.exe 파일을 원하는 폴더에 저장합니다.
    3. 명령 프롬프트(cmd)를 열고 SQLite가 있는 폴더로 이동하여 sqlite3 명령어를 실행합니다.
  • macOS: SQLite는 기본적으로 macOS에 설치되어 있습니다. 터미널에서 아래 명령어로 확인하세요:

    sqlite3 --version

    설치되지 않았다면, Homebrew를 통해 설치할 수 있습니다:

    brew install sqlite
  • Linux: 대부분의 배포판에 SQLite가 포함되어 있습니다. 설치되지 않았다면 다음 명령어로 설치하세요:

    sudo apt update
    sudo apt install sqlite3

2. SQLite CLI 실행

SQLite를 실행하려면 터미널 또는 명령 프롬프트에서 아래 명령어를 입력합니다:

sqlite3

그러면 sqlite> 프롬프트가 나타나며 SQLite 환경에 접속됩니다.

3. 테스트 데이터베이스 생성

SQLite에서 새로운 데이터베이스를 생성하려면 아래 명령어를 사용합니다:

sqlite3 test.db

위 명령어는 test.db라는 이름의 데이터베이스 파일을 생성하고, 해당 파일에 접속합니다.

4. 테이블 생성

다음 SQL 명령어를 사용하여 직원 정보를 저장할 Employees 테이블을 생성합니다:

CREATE TABLE Employees (
    employee_id INTEGER PRIMARY KEY AUTOINCREMENT,
    name TEXT NOT NULL,
    department TEXT NOT NULL,
    salary REAL NOT NULL
);

SQLite에서는 .tables 명령어를 사용하여 데이터베이스 내의 모든 테이블 목록을 확인할 수 있습니다

sqlite> .tables
Employees

명령을 통해서 Emaployees 테이블이 생성된 것을 확인할 수 있습니다. 테이블이 생성한 명령의 각 부분에 대한 설명을 하나씩 풀어보겠습니다.

1. CREATE TABLE Employees

  • CREATE TABLE: 새로운 테이블을 생성하는 명령어입니다.
  • Employees: 생성할 테이블의 이름입니다. 이 테이블은 직원들의 정보를 저장하는 용도로 사용됩니다.

2. employee_id INTEGER PRIMARY KEY AUTOINCREMENT

  • employee_id: 이 열의 이름은 employee_id입니다. 이 열은 각 직원의 고유한 식별자(ID)를 저장합니다.
  • INTEGER: 이 열은 정수 타입의 데이터를 저장합니다.
  • PRIMARY KEY: 이 열은 테이블에서 각 행을 고유하게 식별하는 키 역할을 합니다. PRIMARY KEY는 각 employee_id 값이 고유하다는 것을 보장하며, 이 열의 값은 중복될 수 없습니다.
  • AUTOINCREMENT: AUTOINCREMENT 속성은 이 열의 값을 자동으로 증가시켜 새로운 행을 추가할 때마다 고유한 값을 자동으로 할당합니다. 예를 들어, 첫 번째 직원은 1, 두 번째 직원은 2와 같이 값이 자동으로 증가합니다.

3. name TEXT NOT NULL

  • name: 이 열은 직원의 이름을 저장합니다.
  • TEXT: 이 열은 문자열 데이터를 저장합니다.
  • NOT NULL: 이 제약 조건은 이 열에 NULL 값을 저장할 수 없다는 의미입니다. 즉, 모든 직원 데이터에는 반드시 이름이 있어야 합니다.

4. department TEXT NOT NULL

  • department: 이 열은 직원의 부서 정보를 저장합니다.
  • TEXT: 이 열은 문자열 데이터를 저장합니다.
  • NOT NULL: 이 제약 조건은 이 열에 NULL 값을 저장할 수 없다는 의미입니다. 즉, 직원은 반드시 부서 정보가 있어야 합니다.

5. salary REAL NOT NULL

  • salary: 이 열은 직원의 급여를 저장합니다.
  • REAL: 이 열은 실수형 데이터를 저장하며, 급여처럼 소수점을 포함하는 숫자 값을 저장할 때 사용됩니다.
  • NOT NULL: 이 제약 조건은 급여 값이 반드시 존재해야 하며 NULL 값이 될 수 없음을 의미합니다.

전체 설명

이 SQL 명령은 Employees라는 테이블을 생성하는 데 사용되며, 다음과 같은 데이터를 저장할 수 있는 테이블 구조를 만듭니다: - employee_id: 직원의 고유 ID (자동 증가) - name: 직원의 이름 (비어 있을 수 없음) - department: 직원의 부서 (비어 있을 수 없음) - salary: 직원의 급여 (비어 있을 수 없음)

이 테이블은 직원 정보 관리에 필요한 기본적인 구조를 제공하며, employee_id는 각 직원이 고유하게 식별될 수 있도록 돕습니다.

5. 테스트 데이터 삽입

주어진 데이터를 테이블에 삽입합니다:

INSERT INTO Employees (employee_id, name, department, salary) VALUES
(1, 'Alice', 'HR', 50000),
(2, 'Bob', 'IT', 60000),
(3, 'Charlie', 'IT', 55000),
(4, 'Diana', 'Sales', 45000);

데이터가 잘 삽입되었는지 확인하려면 다음 명령어를 실행해 보세요:

SELECT * FROM Employees;

결과

sqlite> SELECT * FROM Employees;
1|Alice|HR|50000.0
2|Bob|IT|60000.0
3|Charlie|IT|55000.0
4|Diana|Sales|45000.0

6. CSV 파일로 테스트 데이터 불러오기

CSV 파일을 사용해 데이터를 불러오는 방법도 매우 유용합니다. 예를 들어, 아래와 같은 CSV 파일 employee_data.csv를 준비했다고 가정해봅시다:

employee_id,name,department,salary
1,Alice,HR,50000
2,Bob,IT,60000
3,Charlie,IT,55000
4,Diana,Sales,45000

CSV 파일을 SQLite 테이블에 불러오기 위해서는 다음 명령어를 실행합니다:

.mode csv
.import employee_data.csv Employees

7. SQL 실습

이제 삽입된 데이터를 바탕으로 다양한 SQL 명령을 실행해볼 수 있습니다. 예를 들어: - 부서별 직원 조회: sql SELECT * FROM Employees WHERE department = 'IT'; 결과 sql sqlite> SELECT * FROM Employees WHERE department = 'IT'; 2|Bob|IT|60000.0 3|Charlie|IT|55000.0

  • 급여가 50000 이상인 직원 조회:

    SELECT * FROM Employees WHERE salary >= 50000;

    결과

    sqlite>   SELECT * FROM Employees WHERE salary >= 50000;
    1|Alice|HR|50000.0
    2|Bob|IT|60000.0
    3|Charlie|IT|55000.0
  • 급여 순으로 직원 정렬:

    SELECT * FROM Employees ORDER BY salary DESC;

    결과

    sqlite>   SELECT * FROM Employees ORDER BY salary DESC;
    2|Bob|IT|60000.0
    3|Charlie|IT|55000.0
    1|Alice|HR|50000.0
    4|Diana|Sales|45000.0

8. SQLite 세션 종료

작업을 마친 후, SQLite 셸을 종료하려면 아래 명령어를 입력하세요:

.exit

카테고리 다른 글

Date Title Author
Jan 1, 3000 전체 카테고리 gabriel yang
Dec 9, 2024 SQL의 WHERE 절, 조건부 조회 gabriel yang
Dec 8, 2024 SQL 기본 SELECT 문법 이해하기 gabriel yang
Dec 1, 2024 SQL에서 VIEW를 이용해 테이블을 안전하게 검색하기 gabriel yang
Sep 21, 2024 WSL에서 docker-compose 사용하기 gabriel yang
Aug 28, 2024 SQLite 데이터베이스 생성하기 gabriel yang
Aug 27, 2024 액셀 데이터를 SQL로 저장하기 gabriel yang
Jan 5, 2024 SQL 정렬 명령 order by gabriel yang
Dec 6, 2023 MySQL 도커로 설치하고 테스트 DB 사용하기 gabriel yang
No matching items
Back to BLOG LIST