Ubuntu 20.04에서 SQLite 설치 및 사용 방법

Ubuntu 20.04에서 SQLite 설치 및 사용 방법

2022-06-01 last update

14 minutes reading Data Analysis Open Source SQLite Ubuntu
저자는 Free and Open Source Fund 계획의 일부로 기부를 받기로 했다.

소개


Write for DOnations는 무료 크로스플랫폼 데이터베이스 관리 시스템이다.그것은 효율성과 다양한 프로그래밍 언어와의 인터페이스 능력으로 인기가 높다.
이 강좌에서는 Ubuntu 20.04에 SQLite를 설치합니다.그리고 데이터베이스를 만들어서 데이터를 읽고 항목을 삽입하고 삭제하며 단독 테이블에서 항목을 연결합니다.
참고 이 강좌에는 SQLite 설치 및 사용에 대한 유용한 설명이 포함되어 있습니다.그것은 SQLite 데이터베이스 사용을 언제 고려해야 하거나 고려해야 하는지와 같은 더 큰 개념 문제와 생산 문제와 관련이 없다.유행 관계 데이터베이스와 비교에 대한 우수한 개술을 얻으려면 저희 기사SQLite를 보십시오.
또한 많은 언어가 SQLite와의 통합을 유지합니다.Python 코드에서 SQLite를 사용하는 방법에 대한 자세한 내용은 자습서SQLite vs MySQL vs PostgreSQL: A Comparison Of Relational Database Management Systems를 참조하십시오.

선결 조건


이 강좌를 완성하려면 다음이 필요합니다.
  • Ubuntu 20.04를 실행하는 로컬 컴퓨터 또는 서버입니다.비root sudo 사용자와 방화벽을 포함하여 서버를 설정하려면 How To Use the sqlite3 Module in Python 3 그리고 저희 create a DigitalOcean Droplet running Ubuntu 20.04 에 따라 설정할 수 있습니다.
  • 1단계 - Ubuntu 20.04에 SQLite 설치


    Ubuntu에 SQLite 명령줄 인터페이스를 설치하려면 먼저 패키지 목록을 업데이트하십시오.
    1. sudo apt update
    SQLite 설치:
    1. sudo apt install sqlite3
    설치를 확인하려면 소프트웨어 버전을 확인하십시오.
    1. sqlite3 --version
    다음 출력을 받게 됩니다.
    Output
    3.31.1 2020-01-27 19:55:54 3bfa9cc97da10598521b342961df8f5f68c7388fa117345eeb516eaa837balt1
    SQLite를 설치하면 이제 새 데이터베이스를 만들 수 있습니다.

    2단계 - SQLite 데이터베이스 만들기


    이 단계에서 다른 Shark와 속성을 포함하는 데이터베이스를 만들 것입니다.데이터베이스를 만들려면 터미널을 열고 다음sqlite3 명령을 실행합니다.
    1. sqlite3 sharks.db
    이것은 sharks 라는 새 데이터베이스를 만들 것입니다.파일sharks.db이 이미 존재하는 경우 SQLite는 파일에 대한 연결을 엽니다.존재하지 않으면 SQLite가 생성됩니다.
    다음 출력을 받게 됩니다.
    Output
    SQLite version 3.31.1 2020-01-27 19:55:54 Enter ".help" for usage hints.
    그러면 프롬프트가 변경됩니다.이제 새 접두사 sqlite> 가 나타납니다.
    파일sharks.db이 존재하지 않고 쿼리를 실행하지 않고 업그레이드sqlite를 종료하면 파일sharks.db이 생성되지 않습니다.파일을 만들려면 ; 를 입력하고 Enter 키를 눌러 빈 질의를 실행합니다.이렇게 하면 데이터베이스 파일을 실제로 만들었는지 확인할 수 있습니다.
    Shark 데이터베이스를 만들면 새 테이블을 만들고 데이터로 채웁니다.

    단계 3 - SQLite 테이블 만들기


    SQLite 데이터베이스가 테이블에 구성됩니다.테이블은 정보를 저장합니다.시계를 더욱 잘 시각화하기 위해서 줄과 열을 상상할 수 있다.
    이 강좌의 나머지 부분은 SQLite 명령을 입력하는 일반적인 규칙을 따릅니다.SQLite 명령은 대문자, 사용자 정보는 소문자입니다.줄은 반드시 분호로 끝내야 한다.
    이제 다양한 데이터를 위한 테이블과 열을 만듭니다.
  • ID
  • 상어의 이름
  • 상어형
  • 상어의 평균 길이(cm)
  • 다음 명령을 사용하여 테이블을 작성합니다.
    1. CREATE TABLE sharks(id integer NOT NULL, name text NOT NULL, sharktype text NOT NULL, length integer NOT NULL);
    NOT NULL를 사용하려면 이 필드가 필요합니다.우리는 다음 절에서 더욱 상세하게 토론할 것이다 NOT NULL.
    테이블을 만들면 빈 프롬프트가 반환됩니다.이제 그 안에 값을 삽입합시다.

    테이블에 값 삽입하기


    SQLite에서 테이블에 값을 삽입하는 명령은 다음과 같습니다.
    1. INSERT INTO tablename VALUES(values go here);
    그중tablename은 표의 이름이고 values는 괄호 안에 놓여 있다.
    이제 VALUES 테이블에 세 줄 sharks 을 삽입합니다.
    1. INSERT INTO sharks VALUES (1, "Sammy", "Greenland Shark", 427);
    2. INSERT INTO sharks VALUES (2, "Alyoshka", "Great White Shark", 600);
    3. INSERT INTO sharks VALUES (3, "Himari", "Megaladon", 1800);
    이전에 테이블의 각 변수 NOT NULL 를 지정했기 때문에 각 변수에 값을 입력해야 합니다.
    예를 들어, 길이를 설정하지 않고 다른 상어를 추가합니다.
    1. INSERT INTO sharks VALUES (4, "Faiza", "Hammerhead Shark");
    다음 오류가 발생합니다.
    Output
    Error: table sharks has 4 columns but 3 values were supplied
    이 단계에서 테이블을 만들고 값을 삽입합니다.다음 단계에서 데이터베이스 테이블에서 읽을 것입니다.

    단계 4 - SQLite에서 테이블 읽기


    이 단계에서, 우리는 표에서 데이터를 읽는 가장 기본적인 방법을 중점적으로 소개할 것이다.SQLite가 테이블의 데이터를 보는 데 보다 구체적인 방법을 제공했음을 인식합니다.
    삽입 값이 모두 포함된 테이블을 보려면 SELECT 을 사용합니다.
    1. SELECT * FROM sharks;
    이전에 삽입한 항목이 표시됩니다.
    Output
    1|Sammy|Greenland Shark|427 2|Alyoshka|Great White Shark|600 3|Himari|Megaladon|1800
    id(수동으로 설정한 값)에 따라 항목을 보려면 WHERE 명령을 질의에 추가합니다.
    1. SELECT * FROM sharks WHERE id IS 1;
    이것은 id 와 같은 1 상어로 돌아갑니다.
    Output
    1|Sammy|Greenland Shark|427
    이 명령을 자세히 봅시다.
  • 우선, 우리SELECT 데이터베이스에 있는 모든 * 값, sharks.
  • 그리고 모든 id 값을 확인합니다.
  • 그리고 모든 표 항목을 되돌려줍니다. 그 중에서 id1 과 같습니다.
  • 지금까지 데이터를 삽입하고 저장된 데이터를 조회하는 테이블을 만들었습니다.현재 테이블이 업데이트됩니다.

    단계 5 - SQLite의 테이블 업데이트


    다음 두 부분에서 기존 테이블에 새 열을 추가한 다음 테이블의 기존 값을 업데이트합니다.

    SQLite 테이블에 열 추가


    SQLite를 사용하면 ALTER TABLE 명령을 사용하여 테이블을 변경할 수 있습니다.즉, 새 행과 열을 만들거나 기존 행과 열을 수정할 수 있습니다.ALTER TABLE를 사용하여 새 열을 생성합니다.이 새로운 칼럼은 연간 단위로 상어 한 마리의 나이를 추적할 것이다.
    1. ALTER TABLE sharks ADD COLUMN age integer;
    현재 5열age이 있다.

    SQLite 테이블의 값 업데이트

    UPDATE 명령을 사용하여 각 Shark에 새 age 값을 추가합니다.
    1. UPDATE sharks SET age = 272 WHERE id=1;
    2. UPDATE sharks SET age = 70 WHERE id=2;
    3. UPDATE sharks SET age = 40 WHERE id=3;
    Output
    1|Sammy|Greenland Shark|427|272 2|Alyoshka|Great White Shark|600|70 3|Himari|Megaladon|1800|40
    이 단계에서 테이블의 구성을 변경한 다음 테이블의 값을 업데이트했습니다.다음 단계에서는 테이블에서 정보를 삭제합니다.

    단계 6 - SQLite에서 정보 삭제


    이 단계에서는 매개변수의 계산 결과에 따라 테이블의 엔트리가 삭제됩니다.
    다음 명령에서 데이터베이스를 조회하고 테이블의 나이가 200세 이하인 모든 Shark를 삭제해 달라고 요청하고 있습니다.
    1. DELETE FROM sharks WHERE age <= 200;
    sharks를 입력하면 SELECT * FROM sharks;Alyoshka 이 모두 200세 미만으로 삭제되었는지 확인합니다.Himari 그린란드 상어만 여전히 존재한다.
    Output
    1|Sammy|Greenland Shark|427|272

    단계 7 - SQLite에 정보 추가


    가령 우리가 두 개의 표를 가지고 있다고 가정하면 현재의 Sammy 표와 하나의 sharks 표이다.현재 endangered표에 endangered값이 id표에 ids에 비추고 sharks값이 모든 상어의 보호 상태를 가리키면 어떻게 해야 합니까?
    두 테이블에서 데이터를 조회하려면 SQLite의 네 가지 join 명령 중 하나를 사용합니다.
  • status
  • INNER JOIN
  • OUTER JOIN
  • LEFT JOIN
  • 두 번째 테이블을 만들고 CROSS JOIN 로 데이터를 연결합시다.
    먼저 INNER JOIN 테이블을 만듭니다.
    1. CREATE TABLE endangered (id integer NOT NULL, status text NOT NULL);
    2. INSERT INTO endangered VALUES (1, "near threatened");
    지금 당신의 시계에 가입하세요:
    1. SELECT * FROM sharks INNER JOIN endangered on sharks.id = endangered.id;
    출력은 다음과 같습니다.
    Output
    1|Sammy|Greenland Shark|427|272|1|near threatened
    출력에는 endangeredid 값도 포함되어 있습니다.보다 명확한 명령을 사용하여 원하는 출력을 지정할 수 있습니다.
    1. SELECT sharks.id, sharks.name, sharks.sharktype, sharks.length, sharks.age, endangered.status FROM sharks INNER JOIN endangered on sharks.id = endangered.id;
    이번 출력에는 두 번째 endangered 값이 포함되지 않습니다.
    Output
    1|Sammy|Greenland Shark|427|272|near threatened
    현재, 당신은 이미 여러 개의 표의 정보를 성공적으로 연결했습니다.

    결론


    SQLite는 데이터베이스 관리에 유용한 도구입니다.데이터베이스를 신속하게 만들고 각종 명령을 사용하여 조작할 수 있다.본 강좌 이후에 당신은 현재 SQLite에 대해 기본적인 이해를 가지게 되었고 이 데이터베이스 관리 시스템을 깊이 연구하려고 합니다.
    관계 데이터베이스 시스템과 그 비교에 대한 우수한 개술은 우리의 글을 보십시오Initial Server Setup Guide.
    또한 많은 언어가 SQLite와의 통합을 유지합니다.Python 코드에서 SQLite를 사용하는 방법에 대한 자세한 내용은 자습서SQLite vs MySQL vs PostgreSQL: A Comparison Of Relational Database Management Systems를 참조하십시오.
    SQLite 구문에 대한 구체적인 도움말How To Use the id Module in Python 3.