SQLite 튜토리얼 : 알아야 할 모든 것



이 sqlite 자습서는 sqlite가 다른 관계형 데이터베이스 시스템 및 모든 기본 명령과 어떻게 다른지 이해하는 데 도움이됩니다.

관계형 데이터베이스 시스템으로 작업했다면 다음과 같은 인기있는 데이터베이스 시스템에 대해 들어 보셨을 것입니다. MySQL , 서버 또는 PostgreSQL . SQLite는 설정 및 작동이 매우 간단한 또 ​​다른 매우 유용한 RDBMS입니다. 또한 다른 관계형 데이터베이스에 비해 많은 특징이 있습니다.. 이 SQLite 튜토리얼은 광범위한 실습을 통해 알아야 할 기본 개념을 가르칩니다.

이 기사에서 다루는 주제는 다음과 같습니다.





SQLite 튜토리얼 : SQLite 란 무엇입니까?

다음은 SQLite의 산업 표준 정의입니다.

SQLite는 애플리케이션에 내장되도록 설계된 오픈 소스, 제로 구성, 독립적 인 독립 실행 형 트랜잭션 관계형 데이터베이스 엔진입니다.

고려할 수 있습니다 SQLite '로 거룻배 ”버전의 다른 복잡한 RDBMS (Oracle, 등), 데이터베이스 엔진이 독립 처리 (처리중인 라이브러리) 서버리스, 자체 포함, 제로 구성 및 트랜잭션 . 낮은 메모리 환경에서도 휴대 성, 안정성 및 강력한 성능으로 유명합니다. 또한 SQLite는 클라이언트-서버 DB 엔진이 구성된 다른 RDBMS와 달리 최종 프로그램 또는 응용 프로그램의 로컬 / 클라이언트 스토리지 용 내장 데이터베이스로 널리 사용됩니다.



SQLite의 특징

SQLite는 다음과 같은 다양한 기능을 제공합니다.

  • 서버리스 : 대부분 SQL 데이터베이스 별도의 서버 프로세스로 구현되지만 SQLite에는 별도의 서버 프로세스가 없습니다. 서버리스 데이터베이스 엔진입니다. 일반 디스크 파일을 직접 읽고 씁니다.
  • 제로 구성 : 그것실행하기 위해 구성이 필요하지 않습니다. 즉, 클라이언트 / 서버 시스템에서와 같이 시작, 중지 또는 구성해야하는 서버 프로세스가 없습니다.
  • 매니페스트 입력 : SQLite는 매니페스트 유형을 사용하여 열의 선언 된 데이터 유형에 관계없이 모든 데이터 유형을 모든 열에 저장할 수 있습니다. 이 규칙에는 특정 예외가 있습니다.
  • 경량 : 이름에서 알 수 있듯이, SQLite 라이브러리는 매우 가볍습니다. 사용하는 공간은 설치된 시스템에 따라 다르지만 600KiB 미만의 공간을 차지할 수 있습니다.
  • 가지고 다닐 수 있는: 다른 DBMS와 달리전체 SQLite 데이터베이스는 단일 파일에 저장됩니다.이 파일은 이동식 미디어 또는 파일 전송 프로토콜을 통해 매우 쉽게 공유 할 수 있습니다.
  • 다양한 선택 : 많은 프로그래밍 언어는 다음을 포함하여 SQLite에 대한 바인딩을 제공합니다. , , 씨 # , , , 루비 , , 그리고 더 많은.
  • 비어 있는: SQLite는 무료이며 오픈 소스입니다. SQLite를 사용하려면 상업용 라이선스가 필요하지 않습니다.

위에 나열된 SQLite제로 구성으로 알려져있어 복잡한 설정이나 관리가 실제로 필요하지 않습니다. 이 SQLite 자습서의 다음 부분에서는 시스템에 SQLite를 설치하는 방법을 살펴 보겠습니다.

SQLite 자습서 : Windows에 SQLite 설치

따라야 할 단계는 다음과 같습니다.



1 단계: 로 이동 공식 SQLite 웹 사이트에서 적절한 링크를 클릭하여 다운로드하십시오.미리 컴파일 된 바이너리.

2 단계: SQLite 명령 줄 zip 파일 (여기 : sqlite-tools-win32-x86-3270200.zip) 선택한 폴더에서 이러한 파일을 확장합니다.

이 SQLite 명령 줄 도구에는 다음 SQLite 제품이 포함됩니다.

  • SQLite 코어 : SQLite 코어에는 실제 데이터베이스 엔진과 공용 API가 포함되어 있습니다.
  • SQLite3 명령 줄 도구 : sqlite3 애플리케이션은 SQLite 코어 위에 구축 된 명령 줄 도구입니다.
  • Tcl 확장 :이 라이브러리는 기본적으로 Tcl 바인딩이 적용된 SQLite 코어의 복사본입니다.
  • SQLite 분석기 도구 : SQLite 분석기 도구는 데이터베이스 파일을 분석하는 데 사용됩니다.

Step3 : 그 후 SQLite 명령 줄을 시작하는 것은 sqlite3 응용 프로그램을 클릭하는 것만 큼 간단합니다. 그러면 명령 줄이 팝업됩니다.

추가로 테스트하려면 다음을 입력하십시오. .도움 명령 sqlite> 사용 가능한 모든 명령을 확인하라는 메시지 sqlite3 아래와 같이.

노트 : 기본적으로 SQLite 세션은 메모리 내 데이터베이스를 사용하므로 세션이 종료되면 모든 변경 사항이 사라집니다.

충분히 간단 하죠? 그런 다음 SQLite 명령을 시작하겠습니다.

SQLite 튜토리얼 : SQLite 명령

SQLite 자습서의이 섹션에서는 SQLite와 함께 사용할 수있는 기본 SQL 문을 제공합니다.

노트 : SQLite 명령은 세미콜론 ()으로 끝납니다.. 명령이 완료되었으며 실행되어야한다고 SQLite에 알려줍니다.또한 명령을 여러 줄에 분산하고 마지막 줄에 세미콜론을 사용할 수 있습니다.

데이터베이스 명령

이 섹션은 데이터베이스를 처리 할 수있는 명령으로 구성됩니다. 명령은 다음과 같습니다.

  • SQLite 데이터베이스 생성

SQLite는 다음과 같은 다른 관계형 데이터베이스 관리 시스템 에서처럼 CREATE DATABASE 문을 사용하지 않습니다. MySQL , SQL Server 등 SQLite에서 새 데이터베이스를 만들려면 sqlite3 다음에 데이터베이스에 사용할 파일 이름을 입력하면됩니다. 티다음 코드는 StudentDetails.db라는 데이터베이스 파일을 만듭니다.

sqlite3 StudentDetails.db sqlite> .databases 메인 : D : sqliteStudentDetails.db
  • SQLite 연결 데이터베이스

여러 데이터베이스가있는 경우 한 번에 하나만 사용할 수 있습니다. SQLite에서 ATTACH DATABASE 문은 현재 연결에 대한 특정 데이터베이스를 연결하는 데 사용됩니다. ㅏ이 명령을 실행하면 모든 SQLite 문이 연결된 데이터베이스에서 실행됩니다.

sqlite> ATTACH DATABASE 'DepartmentDetails.db'AS 'Department'sqlite> .databases main : D : sqliteStudentDetails.db 부서 : D : sqliteDepartmentDetails.db
  • SQLite 분리 데이터베이스

SQLite에서 DETACH DATABASE 문은 ATTACH 문을 사용하여 이전에 연결된 데이터베이스 연결에서 별칭으로 명명 된 데이터베이스를 분리하는 데 사용됩니다. 동일한 데이터베이스 파일이 여러 별명으로 첨부 된 경우이 명령은 지정된 이름 만 연결 해제하고 나머지 첨부 파일은 계속 존재합니다.메모리 내 또는 임시 데이터베이스 내의 데이터베이스가 완전히 파괴되고 콘텐츠가 손실됩니다.

sqlite> .databases 메인 : D : sqliteStudentDetails.db 부서 : D : sqliteDepartmentDetails.db 학생 : D : sqliteStudentDetails.db DeptInformation : D : sqliteDepartmentDetails.db sqlite> DETACH DATABASE 'Department'sqlite> .databases main : D : sqliteStudentDetails.db 학생 : D : sqliteStudentDetails.db DeptInformation : D : sqliteDepartmentDetails.db

테이블 명령

여기서는 SQLite를 사용할 때 테이블을 다루는 방법을 배웁니다.

  • SQL 생성 테이블

SQLite에서 CREATE TABLE 문은 새 테이블을 만드는 데 사용됩니다. 테이블을 만드는 동안 테이블 이름을 지정하고 각 열의 열 및 데이터 유형을 정의해야합니다.

통사론:

CREATE TABLE table_name (Column1 column_type [constraints] Column2 column_type [constraints] [.....])

CREATE TABLE StudentInfo (ID INT PRIMARY KEY NOT NULL, NAME TEXT NOT NULL, AGE INT NOT NULL, ADDRESS CHAR (50), DEPARTMENTID INTEGER NOT NULL, PHONE TEXT DEFAULT 'UNKNOWN', FOREIGN KEY (DEPARTMENTID) REFERENCES DepartmentInfo (DeptID))

다음을 사용하여 테이블이 생성되었는지 여부를 확인할 수 있습니다. .tables 아래와 같이 명령. 이미 테이블을 만들었습니다. 부서 정보 여기서 DeptID는 기본 키입니다.Departments 테이블에는 Students 테이블에 대한 외래 키 제약 조건이 있습니다.

sqlite> .tables StudentInfo 연락처 Emp_Master
  • SQLite 드롭 테이블

SQLite에서 DROP TABLE 문을 사용하면 SQLite 데이터베이스에서 테이블을 제거하거나 삭제할 수 있습니다. 테이블이 삭제되면 포함 된 모든 데이터가 데이터베이스에서 영구적으로 제거됩니다. 연관된 인덱스 및 트리거도 제거됩니다. 해당 테이블에 활성화 된 외래 키 제약 조건이있는 경우 테이블의 각 행에 대해 동등하게 제거되고 테이블과 관련된 모든 트리거도 삭제됩니다.

통사론

DROP TABLE [IF EXISTS] table_name

DROP TABLE 부서 오류 : 해당 테이블이 없습니다. 부서 DROP TABLE 회사 sqlite> .tables StudentInfo

노트 : IF EXISTS는 선택적 절입니다. 지정된 경우 테이블 중 하나가 존재하지 않으면 DROP TABLE 문이 오류를 발생시키지 않습니다.

또한 SQLite Alter Table 문 이 문서의 다음 몇 섹션에서 이해할 수 있습니다. 이제 테이블을 만들었으므로 데이터를 삽입, 삭제 및 변경하는 방법을 살펴 보겠습니다.

SQLite 튜토리얼 : CRUD 작업

  • SQLite 삽입 쿼리

테이블을 만든 후 SQLite Insert Into 명령을 사용하여 지정된 테이블에 새 행을 만들 수 있습니다. SQLite 삽입 문에는 두 가지 의미있는 형식이 있습니다. 첫 번째 양식은 VALUES 절을 사용하여 삽입 할 값 목록을 지정합니다.

통사론

INSERT INTO TABLE_NAME [(column1, column2, column3, ... columnN)] VALUES (값 1, 값 2, 값 3, ... 값 N)

INSERT INTO StudentInfo (ID, NAME, AGE, ADDRESS, DEPARTMENTID, PHONE) VALUES (1, 'Dean', 20, 'California', 2, '934 *******')

산출

SELECT * from StudentInfo ID NAME AGE ADDRESS DEPARTMENTID PHONE ---------- ---------- ---------- ---------- ---------- ---------- 1 Dean 20 California 2934 *******

여기에서 하나의 새 행이 생성되고 각 값이 해당 열에 기록됩니다. 두 목록 모두에 같은 항목 수. 여기, 열 목록 선택 사항입니다. 테이블에 데이터를 삽입 할 수도 있습니다. 열 목록을 지정하지 않고 .

StudentInfo 값에 삽입 (2, 'SAM', 22, 'Texas', 2, '976 *******')

산출

SELECT * from StudentInfo ID NAME AGE ADDRESS DEPARTMENTID PHONE ---------- ---------- ---------- ---------- ---------- ---------- 1 Dean 20 California 2934 ******* 2 SAM 22 Texas 2976 *******

SQLite는 또한 다음과 같은 기능을 제공합니다. 여러 행 삽입 단일 INSERT 문에서. 구문은 다음과 같습니다.

StudentInfo VALUES에 삽입 (3, 'John', 23, 'Norway', 1, '923 *******'), (4, 'Mitch', 22, 'Houston', 3, '934 ** ***** ')

산출

* from StudentInfo 1 | Dean | 20 | California | 2 | 934 ******* 2 | SAM | 22 | Texas | 2 | 976 ******* 3 | John | 23 | Norway | 1 | 923 ******* 4 | 미치 | 22 | 휴스턴 | 3 | 934 *******

보시다시피 출력 형식은 이전 형식과 비슷하지 않습니다. 그렇다면 SQLite에서 출력 형식을 어떻게 변경합니까? 결과를 좀 더 쉽게 읽을 수 있도록 출력 형식을 지정하겠습니다.

  • 포맷

.mode를 사용하여 출력 모드를 변경할 수 있습니다. 위의 예는 .방법 목록은 결과를 목록으로 표시합니다. 또한 사용할 수 있습니다 .headers 열 머리글을 표시할지 여부를 지정하는 문입니다. 변경 한 후에는 다음을 사용하여 설정을 볼 수 있습니다. .보여 주다 명령.

sqlite> .mode 'column'sqlite> .headers on sqlite> .show echo : off eqp : off explain : auto headers : on mode : column nullvalue : ''output : stdout colseparator : '|' rowseparator : 'n'통계 : 꺼짐 너비 : 파일 이름 : StudentDetails.db

산출

선택 * FROM 학생 정보 ID 이름 나이 주소 부서 전화 ---------- ---------- ---------- ---------- ---------- ---------- 1 Dean 20 California 2934 ******* 2 SAM 22 Texas 2976 ******* 3 John 23 노르웨이 1923 ******* 4 Mitch 22 Houston 3934 *******
  • SQLite 선택 쿼리

SQLite에서는 Select 문이 사용됩니다.결과 테이블 형식으로 데이터를 리턴하는 테이블에서 데이터를 페치합니다. 이러한 결과 테이블을 결과라고도합니다. 세트. SQLite select 문을 사용하여 요구 사항에 따라 간단한 계산 또는 여러 표현식을 수행 할 수 있습니다.데이터를 삽입 할 때 이전에 SELECT 문을 이미 사용했습니다.

통사론

선택 [모두 | DISTINCT] 결과 [FROM 테이블 목록] [WHERE expr]
  • 뚜렷한 – select 문에서 distinct 키워드를 사용하면 고유 한 데이터 행만 반환됩니다.
  • 모두 – select 문에서 ALL 키워드를 사용하면 중복 되더라도 모든 데이터 행을 반환합니다.
  • 테이블 목록에서 – 데이터를 가져올 테이블 목록입니다.
  • WHERE 표현 – WHERE 표현식은 테이블에서 필요한 데이터를 가져 오기 위해 사용자 정의 조건을 정의하는 데 사용됩니다.

예 1

학생 정보에서 ID, 이름을 선택하십시오.<21

산출

ID 이름 ---------- ---------- 1 학장

예 2

학생 정보에서 이름 선택 WHERE DEPARTMENTID = (학과 정보에서 DeptID 선택 WHERE DeptName = 'Psychology')

산출

// ID가 2 인 부서에서 사람을 가져옵니다. NAME ---------- Dean SAM
  • SQLite 업데이트 쿼리

SQLite에서 UPDATE 문은 테이블의 기존 레코드를 수정하는 데 사용할 수 있습니다.SQLite의 WHERE 절을 사용하여 업데이트 할 행을 정확하게 지정할 수 있습니다. WHERE 절에서 적용한 필터링 조건에 따라 모든 행, 일부 행 또는 없음을 쉽게 업데이트 할 수 있습니다.

통사론

UPDATE table_name SET column1 = value1, column2 = value2 ...., columnN = valueN WHERE [조건]

UPDATE StudentInfo SET DEPARTMENTID = 4 WHERE ID = '2'

산출

선택 * FROM 학생 정보 ID 이름 나이 주소 부서 ID 전화 ---------- ---------- ---------- ---------- ------------ ---------- 1 Dean 20 California 2934 ******* 2 SAM 22 Texas 4976 ******* 3 John 23 노르웨이 1923 ******* 4 Mitch 22 Houston 3934 *******
  • SQLite 삭제 쿼리

SQLite에서 DELETE 문을 사용하여 테이블에서 레코드를 삭제할 수 있습니다. WHERE 절에서 적용한 필터링 조건에 따라 모든 행, 일부 행 또는 없음을 쉽게 삭제할 수 있습니다.

DeptName = 'Science'인 DepartmentInfo에서 삭제

산출

SELECT * FROM DepartmentInfo DeptID DeptName ---------- ----------- 1 수학 2 심리학 3 스포츠 4 음악

외래 키에서 참조하는 레코드를 삭제하려고하면 오류가 발생합니다. 기본 키 레코드를 삭제하기 전에 먼저 외래 키 레코드를 삭제해야합니다. 학과 과학을 삭제 해 보겠습니다.

DepartmentInfo WHERE DeptName = 'Music'에서 삭제 오류 : FOREIGN KEY 제약 조건이 실패했습니다.

따라서 기본 키를 삭제하기 전에 외래 키 레코드를 삭제해야합니다.

DELETE from StudentInfo WHERE DEPARTMENTID = 4 sqlite> DELETE FROM DepartmentInfo WHERE DeptName = 'Music'sqlite> SELECT * FROM DepartmentInfo DeptID DeptName ---------- ----------- 1 Mathematics 2 심리학 3 스포츠 선택 * FROM 학생 정보 ID 이름 나이 주소 부서 ID 전화 ---------- ---------- ---------- ------- --- ------------ ---------- 1 Dean 20 California 2934 ******* 3 John 23 노르웨이 1923 ****** * 4 Mitch 22 Houston 3934 *******

이제 SQLite 데이터베이스 테이블에서 레코드를 편집하는 방법을 알았습니다. 이 SQLite 자습서 블로그에서 더 나아가 SQLite에서 가장 자주 접하는 다양한 절과 조건에 대해 논의하겠습니다.

SQLite 조항 / 조건

절을 시작하기 전에 다음은 SQLite의 SELECT 문의 전체 구문입니다.

통사론

선택 [모두 | DISTINCT] 결과 [FROM 테이블 목록] [WHERE expr] [GROUP BY expr-list] [HAVING expr] [compound-op select] * [ORDER BY sort-expr-list] [LIMIT integer [(OFFSET |,) integer ]]

참고 : 아래와 같이 StudentInfo 및 DepartmentInfo 테이블을 업데이트했습니다.

// 학생 테이블 ID 이름 연령 주소 부서 ID 전화 ---------- ---------- ---------- ---------- ------------ ---------- 1 Dean 20 California 2934 ******* 3 John 23 노르웨이 1923 ******* 4 Mitch 22 Houston 3934 ******* 2 SAM 22 Texas 4976 ******* 5 Johny 23 노르웨이 2945 ******* 6 Robin 23 노르웨이 2 UNKNOWN // 부서 세부 정보 DeptID DeptName- --------- ----------- 1 수학 2 심리학 3 스포츠 4 음악 5 과학
  • SQLite 어디에서

SQLite에서 WHERE 절은 데이터베이스의 테이블에서 필요한 데이터를 가져 오는 하나 이상의 조건을 정의하여 SELECT 문에 제한을 적용하는 데 사용됩니다.지정된 조건이 충족되거나 참이면 테이블에서 특정 값을 반환합니다. 이전에 보셨 듯이 WHERE 절은 SELECT 문에서 사용될뿐만 아니라 UPDATE, DELETE 문 등에서도 사용됩니다.

학생 정보에서 이름 선택 연령 = 23 세 이름 ---------- John Johny Robin

SQLite에는 WHERE 절과 함께 사용할 수있는 많은 관계 연산자가 있습니다.

  • SQLite GROUP BY

SQLite에서 GROUP BY 절은 하나 이상의 지정된 열 값이 반복되는 단일 행으로 데이터를 집계하는 데 사용됩니다. 이 절은 SELECT 문에서 WHERE 절과 함께 사용되며 ORDER BY 절 앞에옵니다.

통사론

[테이블 목록]에서 결과 선택 GROUP BY [expr-list]
이름, 주소 선택 StudentInfo에서 이름 별 그룹 이름 주소 ---------- ---------- Dean California John 노르웨이 Johny 노르웨이 Mitch Houston Robin 노르웨이 SAM Texas

그룹화 프로세스에는 두 단계가 있습니다. 먼저 GROUP BY 표현식을 사용하여 테이블 행을 다른 그룹으로 정렬합니다. 그룹이 정의되면 SELECT 문은 해당 그룹이 단일 행으로 평면화되는 방식을 정의합니다.

  • SQLite ORDER BY

일반적으로 SQLite 테이블은 데이터를 지정되지 않은 순서로 저장하며 SQLite select 문을 사용하여 데이터를 가져 오는 동안 동일한 지정되지 않은 순서로 레코드를 반환합니다. 이러한 경우 ORDER BY 절을 사용하여 열 레코드를 오름차순 또는 내림차순으로 정렬 할 수 있습니다. 아래 예에서는 주소를 기준으로 데이터를 내림차순으로 그룹화하고 정렬했습니다.

통사론

테이블 목록에서 표현식 선택 [WHERE 조건] ORDER BY column1, column2, ... [ASC | DESC]

SELECT ADDRESS, COUNT (ADDRESS) from StudentInfo GROUP BY ADDRESS ORDER BY ADDRESS DESC ADDRESS COUNT (ADDRESS) ---------- -------------- 텍사스 1 노르웨이 3 휴스턴 1 캘리포니아 1
  • SQLite에 의해

SQLite에서 HAVING 절은 어디 절. HAVING 절은 select 문에서 group by와 함께 집계가 발생한 후 적용되는 추가 조건입니다. 일반적으로 SQLite에서는 어디 절은 테이블의 개별 요소에 조건을 적용하는 데 사용되며그만큼 HAVING 절은 Group By 절에 의해 생성 된 그룹을 기반으로 필터 조건을 추가하는 데 사용됩니다.

SELECT ADDRESS, COUNT (ADDRESS) from StudentInfo GROUP BY ADDRESS HAVING COUNT (*)> 1 ADDRESS COUNT (ADDRESS) ---------- -------------- 노르웨이 3
  • SQLite 제한 조항

SQLite에서 LIMIT 절은 select 문이 반환하는 레코드에 제한을 설정하는 데 사용됩니다. 개념을 이해하기위한 예를 살펴 보겠습니다.

통사론

테이블 목록에서 표현식 선택 [WHERE 조건] LIMIT number_rows OFFSET offset_value

이름, 주소 선택 StudentInfo LIMIT 4 OFFSET 2 이름 주소 ---------- ---------- Mitch Houston SAM 텍사스 Johny 노르웨이 Robin 노르웨이

오프셋선택 사항이며 결과 집합의 시작 부분에서 건너 뛸 행 수를 정의합니다. 오프셋 _ 값 .

  • SQLite 및 및 또는

SQLite에서 AND & OR 연산자는 요구 사항에 따라 선택, 삽입, 업데이트 및 삭제 문에 대해 여러 조건을 수행하는 데 사용됩니다. SQLite AND 연산자는 AND 연산자를 사용하여 정의 된 조건을 충족하는 행 또는 레코드를 반환합니다.

예 1

학생 정보에서 나이 = 22 세이고 주소 = '텍사스'이름에서 이름 선택 ---------- SAM

OR 조건은 SQLite 문에서 여러 조건을 정의하는 데 사용되며 하나의 조건이 충족되면 문에서 행 또는 레코드를 반환합니다.

예 2

학생 정보에서 이름을 선택하십시오 (연령 = 22 및 주소 = '노르웨이') 또는 주소 = '노르웨이'이름 ---------- John Johny Robin
  • SQLite GLOB 연산자

SQLite에서 GLOB 연산자는 주어진 문자열 값이 특정 패턴과 일치하는지 여부를 확인하는 데 사용됩니다. 문자열 값이 패턴 값과 일치하면 반환됩니다. 진실 LIKE 연산자와 비슷합니다. 또한 GLOB는 대소 문자를 구분합니다.

통사론

십진수를 이진 파이썬으로 변환
SELECT * FROM table_name WHERE column_name GLOB '검색 식'

* FROM StudentInfo WHERE NAME GLOB 'Joh *'ID 이름 나이 주소 부서 ID 전화 ---------- ---------- ---------- --- 선택 ------- ------------ ---------- 3 John 23 노르웨이 1923 ******* 5 Johny 23 노르웨이 2945 ** *****
  • SQLite 고유

SQLite에서 DISTINCT 키워드는 SELECT 문의 결과 집합을 스캔하고 중복 행을 제거합니다. 또한 NULL 값은 중복으로 간주되므로 NULL 값이있는 열에 DISTINCT 절을 사용하면 NULL 값의 한 행만 유지됩니다. 여러 열에 DISTINCT를 적용하면 문은 다음의 각 고유 조합을 반환합니다. coulnm1column2.

StudentInfo AGE에서 다른 연령 선택 ---------- 20 23 22
  • SQLite IN 연산자

SQLite에서 IN 연산자는 주어진 값이 주어진 값 목록과 일치하는지 또는 하위 쿼리가 반환 한 결과와 일치하는지 여부를 결정하는 데 사용됩니다.

학생 정보에서 이름 선택 ( '텍사스', '휴스턴') 이름 ---------- Mitch SAM
  • SQLite UNION 및 UNION ALL

SQLite에서 UNION 연산자는 다음의 결과 집합을 결합하는 데 사용됩니다. 2 또는 더 많은 SELECT 문을 사용하고 다양한 SELECT 문 사이의 중복 행을 제거합니다. UNION 연산자와 함께 사용한 SELECT 문은 데이터 유형이 유사한 결과 집합에 동일한 수의 필드가 있어야합니다.

통사론

SELECT expression1, expression2, ... expression_n FROM 테이블 [WHERE 조건] UNION / UNION ALL SELECT expression1, expression2, ... expression_n FROM 테이블 [WHERE 조건]

StudentInfo UNION에서 DEPARTMENTID 선택 DepartmentInfo에서 DeptId 선택 DEPARTMENTID 별 주문 ASC DEPARTMENTID ------------ 1 2 3 4 5

UNION ALL 연산자는 2 개 이상의 SELECT 문의 결과 집합을 결합하는 데 사용되며 중복을 포함한 모든 행을 반환합니다.

StudentInfo UNION ALL에서 DEPARTMENTID 선택 DepartmentInfo에서 DeptId 선택 DEPARTMENTID 별 주문 ASC DEPARTMENTID ------------ 1 1 2 2 2 3 3 4 4 5

이를 통해 SQLite로 작업 할 때 사용해야하는 가장 기본적인 명령을 다루었습니다. 이 SQLite 자습서를 진행하면서 SQLite의 조인 문을 확인해 보겠습니다.

SQLite에서 조인

SQLite에서 조인은데이터베이스에있는 두 개 이상의 테이블의 레코드를 결합하고 요구 사항에 따라 레코드를 가져 오는 데 사용됩니다. 디SQLite에서 사용 가능한 JOINS 유형은 다음과 같습니다.

  • 내부 조인 -INNER JOIN은 SQLite 문에 정의 된 조건에 따라 여러 테이블에서 일치하는 레코드 만 결합하고 반환하는 데 사용됩니다.
  • 외부 결합 -SQLite 외부 조인은 다음과 같은 여러 테이블에서 일치하는 행을 선택합니다. 내부 조인 및 관계 외부의 다른 행.간단히 말해서 SQLite라고 말할 수 있습니다.외부 조인의 추가입니다내부 조인 . 일반적으로 SQL 표준에는 LEFT, RIGHT 및 FULL 외부 조인의 세 가지 유형의 외부 조인이 있지만 SQLite는 LEFT OUTER JOIN 만 지원합니다.
  • 교차 결합 -행의 데카르트 곱을 얻는 데 사용됩니다.첫 번째 테이블의 각 행을 두 번째 테이블의 모든 행과 일치시킵니다.
  • 셀프 조인 – 그것동일한 테이블을 자신과 결합하는 데 사용됩니다. 자체 조인을 사용하려면 요구 사항에 따라 작업을 수행하기 위해 동일한 테이블에 대해 다른 별칭 이름을 만들어야합니다.

이 개념은 SQL과 같은 다른 관계형 데이터베이스 시스템의 개념과 유사합니다. 따라서 자세한 내용은이 기사를 참조하십시오. .

이것으로 우리는 기본적인 SQLite 명령을 다루었습니다. 고급 개념은 여기에서 다루지 않습니다. 따라서 고급 SQLite 개념에 대한 다른 기사를 계속 지켜봐주십시오. SQLite가 제공해야하는 모든 좋은 기능에도 불구하고 특정 단점도 있습니다.

SQLite 튜토리얼 : SQLite의 단점

다음은 SQLite 사용의 단점입니다.

  • 클라이언트 / 서버 아키텍처에서는 잘 작동하지 않습니다.
  • SQLite 데이터베이스 크기는 대부분의 경우 2GB로 제한됩니다.
  • SQLite는 RIGHT OUTER JOIN 및 FULL OUTER JOIN을 구현하지 않았습니다. SQLite를 사용하면 LEFT OUTER JOIN 만 구현할 수 있습니다.
  • SQLite의보기는 읽기 전용입니다. 뷰에는 DML 문 (삽입, 업데이트 및 삭제)을 사용할 수 없습니다.
  • SQLite와 함께 GRANT 및 REVOKE 문을 사용할 수 없습니다.

이것으로 우리는이 SQLite Tutorial을 끝냅니다.

더 자세히 알고 싶다면 MySQL 이 오픈 소스 관계형 데이터베이스에 대해 알아보고 강사 주도의 라이브 교육 및 실제 프로젝트 경험과 함께 제공됩니다. 이 교육은 MySQL을 심층적으로 이해하고 주제에 대한 숙달을 달성하는 데 도움이됩니다.

질문이 있으십니까? 이 SQLite Tutorial의 주석 섹션에서 언급 해 주시면 다시 연락 드리겠습니다.