SQLite 데이터베이스 생성 및 관리

SQLiteBeginner
지금 연습하기

소개

이 랩에서는 sqlite3 명령줄 도구를 사용하여 SQLite 데이터베이스 작업의 기본 사항을 배우게 됩니다. SQLite 는 초보자에게 이상적인 가볍고 파일 기반의 데이터베이스 시스템입니다. 데이터베이스를 생성하고, 테이블을 만들고, 데이터를 삽입하고, 데이터를 쿼리하고, 열을 추가하고, 데이터를 업데이트하고, 마지막으로 데이터베이스 파일을 제거하는 과정을 진행합니다. 시작해 봅시다!

이것은 가이드 실험입니다. 학습과 실습을 돕기 위한 단계별 지침을 제공합니다.각 단계를 완료하고 실무 경험을 쌓기 위해 지침을 주의 깊게 따르세요. 과거 데이터에 따르면, 이것은 초급 레벨의 실험이며 완료율은 85%입니다.학습자들로부터 99%의 긍정적인 리뷰율을 받았습니다.

SQLite 데이터베이스 생성 및 연결

이 단계에서는 새 SQLite 데이터베이스 파일을 생성하고 sqlite3 명령줄 도구를 사용하여 해당 파일에 연결합니다.

  1. LabEx VM 환경에서 터미널을 엽니다. 기본적으로 /home/labex/project 디렉토리에 있어야 합니다. 다음 명령을 실행하여 이를 확인합니다.

    pwd

    출력은 다음과 같아야 합니다.

    /home/labex/project

    이 디렉토리에 있지 않다면 다음 명령을 실행하여 이동합니다.

    cd /home/labex/project
  2. sqlite3 명령을 사용하여 mydatabase.db라는 새 SQLite 데이터베이스를 생성하고 연결합니다.

    sqlite3 mydatabase.db

    이 명령은 mydatabase.db 파일이 존재하지 않으면 생성하고 해당 파일에 대한 연결을 엽니다. SQLite 프롬프트가 표시됩니다.

    SQLite version 3.x.x
    Enter ".help" for usage hints.
    sqlite>

sqlite3 명령은 SQLite 데이터베이스를 생성하고 연결하는 데 모두 사용됩니다. 지정된 데이터베이스 파일이 존재하지 않으면 SQLite 가 생성합니다. 이제 SQLite 환경 내에서 SQL 명령을 실행할 준비가 되었습니다.

users 테이블 생성

이 단계에서는 mydatabase.db 데이터베이스 안에 users라는 테이블을 생성합니다.

SQLite 프롬프트에서 다음 SQL 명령을 사용하여 users라는 테이블을 생성합니다.

CREATE TABLE users (
    id INTEGER PRIMARY KEY,
    name TEXT NOT NULL,
    age INTEGER
);

이 명령은 users 테이블의 구조를 정의합니다. id 열은 정수이며 기본 키 (primary key) 로, 각 사용자가 고유한 식별자를 갖도록 보장합니다. name 열은 비워둘 수 없는 텍스트 필드 (NOT NULL) 이며, age 열은 정수입니다.

CREATE TABLE 명령은 데이터베이스에서 테이블의 구조를 정의하는 데 사용되는 기본적인 SQL 명령입니다. PRIMARY KEY 제약 조건은 id 열이 각 행에 대해 고유한 값을 포함하도록 보장하며, NOT NULL 제약 조건은 name 열이 비어 있을 수 없도록 보장합니다.

users 테이블에 데이터 삽입

이제 users 테이블을 생성했으므로 데이터를 삽입할 수 있습니다. 이는 테이블에 행 (레코드) 을 추가하는 것을 포함하며, 각 행은 사용자 및 해당 정보를 나타냅니다.

INSERT INTO 명령을 사용하여 다음 레코드를 users 테이블에 삽입합니다.

INSERT INTO users (id, name, age) VALUES (1, 'Alice', 25);
INSERT INTO users (id, name, age) VALUES (2, 'Bob', 30);
INSERT INTO users (id, name, age) VALUES (3, 'Charlie', 22);

이 명령들은 users 테이블에 세 개의 새 행을 추가합니다. 각 행에는 id, name, age가 포함됩니다.

INSERT INTO 명령은 테이블에 새 행을 추가하는 데 사용됩니다. VALUES 절에 지정된 값은 테이블 이름 뒤의 괄호에 나열된 해당 열에 삽입됩니다.

users 테이블에서 데이터 조회

이 단계에서는 SELECT 명령을 사용하여 users 테이블에서 데이터를 조회하는 방법을 배웁니다. 이를 통해 데이터베이스에서 특정 정보를 검색할 수 있습니다.

다음 SQL 명령을 사용하여 users 테이블에서 모든 데이터를 조회합니다.

SELECT * FROM users;

이 명령은 users 테이블의 모든 행에서 모든 열 (*) 을 선택합니다. 출력에는 이전 단계에서 삽입한 데이터가 표시됩니다. 다음과 같은 결과가 표시되어야 합니다.

1|Alice|25
2|Bob|30
3|Charlie|22

SELECT 명령은 데이터베이스에서 데이터를 검색하는 강력한 도구입니다. * 와일드카드 문자는 모든 열을 선택해야 함을 지정합니다. 열 이름을 쉼표로 구분하여 나열하여 특정 열을 선택할 수도 있습니다 (예: SELECT name, age FROM users;).

새 열 추가 및 데이터 업데이트

이 단계에서는 users 테이블에 email이라는 새 열을 추가한 다음 기존 레코드를 이메일 주소로 업데이트합니다.

  1. ALTER TABLE 명령을 사용하여 users 테이블에 email이라는 새 열을 추가합니다.

    ALTER TABLE users ADD COLUMN email TEXT;

    이 명령은 users 테이블에 TEXT 타입의 email이라는 새 열을 추가합니다.

  2. UPDATE 명령을 사용하여 각 사용자의 email 열을 업데이트합니다.

    UPDATE users SET email = 'alice@example.com' WHERE id = 1;
    UPDATE users SET email = 'bob@example.com' WHERE id = 2;
    UPDATE users SET email = 'charlie@example.com' WHERE id = 3;

    이 명령들은 각 사용자의 email 열을 해당 이메일 주소로 업데이트합니다.

  3. users 테이블을 조회하여 업데이트된 데이터를 확인합니다.

    SELECT * FROM users;
    1|Alice|25|alice@example.com
    2|Bob|30|bob@example.com
    3|Charlie|22|charlie@example.com

ALTER TABLE 명령은 기존 테이블의 구조를 수정하는 데 사용됩니다. 이 경우 새 열을 추가하고 있습니다. UPDATE 명령은 테이블의 기존 데이터를 수정하는 데 사용됩니다. SET 절은 업데이트할 열과 새 값을 지정합니다. WHERE 절은 조건에 따라 업데이트할 행을 지정합니다.

SQLite 종료 및 데이터베이스 파일 제거

이 단계에서는 SQLite 인터페이스를 종료한 다음 데이터베이스 파일을 제거합니다. SQLite 는 모든 데이터를 단일 파일에 저장하므로 데이터베이스를 제거하는 것은 rm 명령을 사용하여 파일을 삭제하는 것만큼 간단합니다. 이 작업은 영구적이므로 주의하십시오!

  1. SQLite 프롬프트를 종료합니다.

    .quit
  2. /home/labex/project 디렉토리에 있는지 확인합니다. 다음 명령으로 확인합니다.

    pwd

    출력은 다음과 같아야 합니다.

    /home/labex/project

    그렇지 않다면 다음 명령을 사용하여 해당 디렉토리로 이동합니다.

    cd /home/labex/project
  3. rm 명령을 사용하여 mydatabase.db 파일을 삭제합니다.

    rm mydatabase.db

    삭제가 성공하면 아무런 출력도 없습니다.

  4. 디렉토리 내용을 다시 나열하여 파일이 제거되었는지 확인합니다.

    ls

    출력에서 더 이상 mydatabase.db가 보이지 않아야 하며, 이는 파일이 삭제되었음을 확인합니다.

.quit 명령은 SQLite 쉘을 종료하고 Linux 터미널로 돌아갑니다. rm 명령은 파일을 삭제하는 데 사용되는 표준 Linux 명령입니다. 이 경우 SQLite 데이터베이스의 모든 데이터와 구조를 포함하는 mydatabase.db 파일을 영구적으로 제거합니다.

요약

이 실습에서는 sqlite3 명령줄 도구를 사용하여 SQLite 데이터베이스를 생성하고 관리하는 필수 기술을 배웠습니다. 데이터베이스를 생성하고, 테이블을 만들고, 데이터를 삽입하고, 데이터를 조회하고, 새 열을 추가하고, 데이터를 업데이트하고, 마지막으로 데이터베이스 파일을 제거했습니다. 이러한 단계는 SQLite 데이터베이스 작업을 위한 견고한 기반을 제공합니다.