SQLite 설치 및 테스트 데이터를 생성
SQLite 설치 및 테스트 데이터를 생성
SQLite 설치 및 테스트 데이터를 생성하는 방법
SQLite는 간단하게 SQL을 배우고 테스트할 수 있는 강력한 데이터베이스 관리 시스템입니다. 이 글에서는 SQLite를 설치하고, 주어진 데이터를 테스트 테이블에 삽입하는 방법을 설명합니다.
1. SQLite 설치
SQLite는 설치가 매우 간단합니다. 운영 체제에 맞는 방법을 따라 주세요.
Windows:
- SQLite 다운로드 페이지에서 Precompiled Binaries for Windows의
sqlite-tools
ZIP 파일을 다운로드합니다. - ZIP 파일을 압축 해제한 후,
sqlite3.exe
파일을 원하는 폴더에 저장합니다. - 명령 프롬프트(cmd)를 열고 SQLite가 있는 폴더로 이동하여
sqlite3
명령어를 실행합니다.
- SQLite 다운로드 페이지에서 Precompiled Binaries for Windows의
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 (
INTEGER PRIMARY KEY AUTOINCREMENT,
employee_id NOT NULL,
name TEXT NOT NULL,
department TEXT REAL NOT NULL
salary );
SQLite에서는 .tables 명령어를 사용하여 데이터베이스 내의 모든 테이블 목록을 확인할 수 있습니다
> .tables
sqlite 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;
결과
> SELECT * FROM Employees;
sqlite1|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,salary1,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;
결과
> SELECT * FROM Employees WHERE salary >= 50000; sqlite1|Alice|HR|50000.0 2|Bob|IT|60000.0 3|Charlie|IT|55000.0
급여 순으로 직원 정렬:
SELECT * FROM Employees ORDER BY salary DESC;
결과
> SELECT * FROM Employees ORDER BY salary DESC; sqlite2|Bob|IT|60000.0 3|Charlie|IT|55000.0 1|Alice|HR|50000.0 4|Diana|Sales|45000.0
8. SQLite 세션 종료
작업을 마친 후, SQLite 셸을 종료하려면 아래 명령어를 입력하세요:
.exit