Linux에서 SQLite용 DB 브라우저를 사용하는 방법
게시 됨: 2022-01-29SQLite용 DB 브라우저를 사용하면 Linux에서 SQLite 데이터베이스를 보고 편집할 수 있습니다. 이러한 데이터베이스 파일을 설계, 생성 및 편집하고 다른 응용 프로그램의 내부 작동을 엿볼 수 있습니다. 이 SQLite GUI를 사용하는 방법은 다음과 같습니다.
SQLite 데이터베이스 프로젝트
SQLite 데이터베이스 라이브러리 및 도구는 매우 성공적인 오픈 소스 SQL(구조적 쿼리 언어) 데이터베이스 프로젝트입니다. 실제로 매우 성공적이어서 스스로를 세계에서 가장 널리 배포된 데이터베이스 엔진이라고 부를 수 있습니다.
2000년에 처음 출시된 이후로 SQLite는 절대적으로 놀라운 활용을 보였습니다. 모든 iPhone 및 Android 휴대전화, Windows 10 또는 Mac 컴퓨터 내부에 있습니다. 또한 Chrome, Firefox 및 Safari를 포함한 모든 인터넷 브라우저와 수많은 기타 응용 프로그램에 있습니다.
SQLite 데이터베이스의 놀라운 도달 범위는 아키텍처 때문입니다. 다른 응용 프로그램에 통합(또는 개발자 용어로 연결 )되는 빠르고 가벼운 라이브러리입니다. 데이터베이스 엔진은 제품의 필수적인 부분이 됩니다. 즉, MySQL, MariaDB 또는 Microsoft SQL Server와 같은 외부 SQL 데이터베이스 서버를 제공할 필요가 없습니다.
SQLite에는 데이터베이스 조작을 위한 명령줄 도구도 있지만 승리로 만든 것은 라이브러리입니다. 유능하고 독립적인 데이터베이스 엔진을 애플리케이션 내부에 배치하면 많은 문제가 제거됩니다. 애플리케이션의 설치 루틴을 단순화하고 애플리케이션의 최소 하드웨어 요구 사항을 낮춥니다.
또한 SQLite는 데이터베이스 테이블, 인덱스 및 스키마에 대해 단일 크로스 플랫폼 파일을 사용하기 때문에 전체 데이터베이스를 다른 컴퓨터로 이동할 수 있습니다. 하나의 파일을 복사하여 다른 운영 체제를 실행하는 시스템으로 이동할 수도 있습니다.
사실, SQLite의 데이터베이스 파일 형식은 아주 좋은 평가를 받고 있어 의회 도서관에서 장기 데이터 저장을 위해 권장하는 몇 안 되는 형식 중 하나입니다.
그러나 SQLite는 개발자의 라이브러리이기 때문에 프론트엔드가 없습니다. 즉, 그래픽 사용자 인터페이스가 없습니다. 사용자 인터페이스를 제공하는 라이브러리를 사용하는 애플리케이션입니다. 명령줄 유틸리티는 대화형 모드에서 실행할 수 있지만 여전히 GUI는 아닙니다.
SQLite용 DB 브라우저(DB4S)가 딱 들어맞습니다. GUI 내에서 SQLite 데이터베이스를 만들고 조작할 수 있도록 다른 오픈 소스 프로젝트에서 개발한 시각적 도구입니다.
SQLite용 DB 브라우저
SQLite용 DB 브라우저는 2003년부터 (한 가지 또는 다른 형태로) 주변에 있었고 몇 가지 이름 변경을 거쳤습니다. 기존에는 SQLite Browser라고 불렸지만 이로 인해 혼란이 가중되었습니다. 사람들은 그것이 SQLite 팀에 의해 작성되었다고 생각했고, 따라서 DB4S에 대한 기능 요청 및 지원 쿼리를 SQLite로 전달하고 있었습니다.
그래서 SQLite Browser는 DB Browser for SQLite로 이름이 바뀌었습니다. 여기저기서 이전 이름에 대한 참조를 계속 볼 수 있습니다. 실제로 프로젝트의 웹 사이트는 여전히 "sqlitebrowser"를 도메인으로 사용하고 있으며 DB4S 설치 시에도 이전 이름을 사용합니다.
DB4S를 사용하여 다음을 수행할 수 있습니다.
- 데이터베이스를 생성합니다.
- 데이터베이스 스키마, 테이블 및 데이터를 SQL 형식으로 가져오고 내보냅니다.
- 테이블과 데이터를 CSV 형식으로 가져오고 내보냅니다.
- 테이블과 인덱스를 생성, 편집 및 삭제합니다.
- 레코드를 추가, 편집 및 삭제합니다.
- 데이터베이스 레코드를 찾아보고 검색합니다.
- SQL 명령을 편집하고 실행합니다. 일부 SQL을 응용 프로그램에 하드 코딩하기 전에 명령이 예상대로 수행되는지 확인할 수 있습니다.
SQLite용 DB 브라우저 설치
Ubuntu에 DB4S를 설치하려면 다음 명령을 사용하십시오(다시 말하지만 설치 시 여전히 이전 이름을 사용함).
sudo apt-get sqlitebrowser 설치
Fedora에서 다음을 입력합니다.
sudo dnf 설치 sqlitebrowser
Manjaro에서는 pacman
을 사용합니다.
sudo pacman -Sy sqlitebrowser
SQL 파일에서 데이터베이스 가져오기
DB4S가 시작될 때 로드된 데이터베이스가 없습니다. 데이터와 데이터베이스 테이블 정의를 모두 가져올 수 있는 두 가지 방법과 고유한 데이터베이스를 만드는 방법을 살펴보겠습니다.
경우에 따라 SQL 형식의 데이터베이스 덤프 파일이 제공되거나 전송될 수 있습니다. 여기에는 데이터베이스를 다시 만들고 해당 데이터를 데이터베이스에 삽입하는 데 필요한 지침이 포함되어 있습니다.
테이블 정의 및 데이터를 가져오는 데 사용되는 또 다른 일반적인 형식은 CSV(쉼표로 구분된 값) 형식입니다. 데이터베이스 테스트 데이터와 같은 데이터 생성 사이트를 사용하여 연습 목적으로 더미 데이터를 생성할 수 있습니다. 그런 다음 데이터를 SQL 또는 CSV로 내보낼 수 있습니다.
아래는 해당 사이트에서 만든 SQL 파일입니다. 내보낸 후 편집하고 파일 상단에 SQLite에 필요한 한 줄을 추가했습니다.
거래 시작
그런 다음 파일을 저장했습니다. DB4S에서 파일 > 가져오기 > SQL 파일에서 데이터베이스를 클릭합니다.
파일 선택 대화 상자가 열리고 SQL 파일을 선택할 수 있습니다. 이 예에서는 "database_dump.sql"이라고 하며 홈 디렉토리의 루트에 있습니다.
파일을 선택한 상태에서 "열기"를 클릭하면 파일 저장 대화 상자가 열립니다. 이제 새 데이터베이스의 이름을 지정하고 저장할 위치를 결정해야 합니다. 우리는 "geekbase.sqlite3"이라고 불렀고 홈 디렉토리에 저장했습니다.
계속할 준비가 되면 "저장"을 클릭하십시오. 소스 SQL 파일을 식별하고 새 데이터베이스의 이름을 지정했으므로 이제 가져오기 프로세스를 시작할 수 있습니다. 완료되면 아래 알림 대화 상자가 표시됩니다.
데이터베이스에 테이블과 데이터를 추가했으므로 변경 사항을 저장하라는 메시지가 표시되므로 "저장"을 클릭하여 저장합니다.
이제 기본 DB4S 창에 데이터베이스 구조가 표시됩니다.
SQL 파일에 하나에 대한 정의만 있었지만 두 개의 테이블이 생성되었습니다. "id" 필드가 자동 증가 필드로 정의되었기 때문입니다. 새 레코드가 데이터베이스에 추가될 때마다 자동으로 추가됩니다. SQLite는 자동 증가 필드를 추적하기 위해 테이블을 생성합니다.
새로 추가된 레코드를 보려면 "데이터 찾아보기" 탭을 클릭하십시오.
물론 데이터베이스의 힘은 기록을 검색하고 추출하는 능력에 있습니다. SQL 지원 데이터베이스에서는 SQL 언어를 사용하여 이를 수행합니다. 시작하려면 "SQL 실행" 탭을 사용하십시오.
다음 SQL 명령을 추가했습니다.
SELECT * FROM account_details WHERE last_name LIKE "%ll%" ORDER BY 상태
이것은 성에 이중 "l"이 있는 사람을 검색하고 결과는 주별로 정렬됩니다. 파란색 화살표("재생" 버튼 모양)를 클릭하여 SQL 명령을 실행합니다. 결과가 아래쪽 창에 표시됩니다.
성에 이중 "l"이 포함된 4개의 레코드가 있으며 애리조나에서 위스콘신까지 주별로 알파벳순으로 정렬되어 있습니다.
CSV 파일에서 데이터베이스 테이블 가져오기
적절한 CSV 파일에서 테이블을 가져올 수도 있습니다. 가장 편리한 방법은 CSV 파일의 테이블 필드 이름을 텍스트의 첫 번째 행으로 사용하는 것입니다. 아래는 CSV 파일의 짧은 섹션입니다.
첫 번째 줄에는 필드 이름(first_name, last_name, created, email, state, ID)이 있습니다. 다른 행은 테이블에 추가될 각 레코드에 대한 데이터 값을 보유합니다. 이것은 이전과 동일한 데이터입니다. 파일 형식만 변경되었습니다.
CSV 데이터를 가져올 때 가져올 대상이 있도록 빈 데이터베이스를 만들어야 합니다. 이렇게 하려면 도구 모음에서 "새 데이터베이스"를 클릭합니다.
파일 저장 대화 상자가 열립니다. 새 데이터베이스의 이름을 지정하고 저장할 위치를 결정합니다. 우리는 "howtogeek.sqlite3"을 호출하고 홈 디렉토리에 저장할 것입니다.
"테이블 정의 편집" 대화 상자가 나타나면 "취소"를 클릭합니다. 기본 DB4S 창으로 돌아가서 파일 > 가져오기 > CSV 파일의 테이블을 클릭하십시오. CSV 파일을 선택할 수 있는 파일 선택 대화 상자가 열립니다.
이 예에서는 "users.csv"라고 하며 홈 디렉토리의 루트에 있습니다. "열기"를 클릭하면 DB4S가 CSV 데이터를 해석하는 방법을 보여주는 미리보기 대화 상자가 나타납니다.
파일 이름은 테이블 이름으로 사용됩니다. 원하는 경우 이를 편집할 수 있습니다. "첫 줄의 열 이름" 옆에 있는 확인란을 선택해야 합니다.
"확인"을 클릭하십시오(위 이미지에서 화면이 아님). 데이터를 가져오고 모든 것이 정상이면 "가져오기 완료" 대화 상자가 표시되어야 합니다. "확인"을 클릭하십시오.
"데이터 찾아보기"를 클릭하면 가져온 데이터가 표시됩니다.
하지만 아직 약간의 조정이 필요합니다. "데이터베이스 구조" 탭을 클릭하고 테이블 이름을 선택한 다음 도구 모음에서 "테이블 수정"을 클릭합니다.
"테이블 정의 편집" 대화 상자의 "id" 필드에서 "AI"(자동 증가) 확인란을 선택합니다.
"PK"(기본 키) 확인란이 자동으로 선택됩니다. "확인"을 클릭하십시오. 이렇게 하면 "id" 필드가 자동 증가하도록 설정됩니다. 이제 데이터베이스에 새 레코드를 추가하여 작동하는지 확인할 수 있습니다.
"SQL 실행" 탭을 클릭하고 상단 창에 다음 SQL을 입력합니다("id"를 제외한 모든 필드에 대한 값을 제공하고 있음).
"사용자"에 삽입 ("이름","성","만든","이메일","상태") 값('데이브', '맥케이', '2020년 12월 8일', '[email protected]', '아이다호');
파란색 화살표(재생 버튼 모양)를 클릭하여 SQL 명령을 실행합니다. "데이터 찾아보기"를 클릭하고 맨 아래로 스크롤합니다. 이전의 가장 높은 "id" 값보다 하나 높은 값을 포함하는 자동으로 제공된 "id" 필드와 함께 새로 추가된 레코드가 표시되어야 합니다.
수동으로 데이터베이스 생성
가져올 SQL 또는 CVS 파일이 없으면 데이터베이스를 수동으로 만들어야 합니다. 시작하려면 "새 데이터베이스"를 클릭하면 파일 저장 대화 상자가 나타납니다. 새 데이터베이스의 이름과 저장할 위치를 입력하십시오.
"geeksrock.sqlite3"이라는 이름을 지정하고 "Documents" 디렉토리에 저장합니다. 데이터베이스 이름을 지정하고 저장하려는 위치로 이동한 후 "저장"을 클릭합니다.
선택을 확인하라는 메시지가 표시되면 "저장"을 다시 한 번 클릭합니다.
"테이블 정의 편집" 대화 상자가 나타납니다. 새 테이블의 이름을 지정하고(우리는 "eagle"이라고 함) "필드 추가"를 클릭합니다. 이제 필드 이름을 입력하고 "유형" 드롭다운 메뉴에서 포함할 정보 유형을 선택할 수 있습니다.
독수리의 이름을 저장하는 텍스트 필드와 날개 길이를 저장하는 실제(부동 소수점) 숫자 필드를 추가했습니다.
각 필드 옆에 있는 확인란 및 기타 옵션을 사용하여 다음 동작을 추가할 수 있습니다.
- NN(Null 아님): 이 옵션이 설정되면 필드를 비워 둘 수 없습니다. 이 필드에 값을 제공하지 않고 레코드를 추가하려고 하면 거부됩니다.
- PK (기본 키): 테이블의 레코드에 대한 고유 식별자를 제공하는 필드(또는 필드 그룹)입니다. 이것은 위에서 다룬 자동 증분 정수 필드와 같은 단순한 숫자 값일 수 있습니다. 그러나 사용자 계정 테이블에서는 사용자 이름일 수 있습니다. 테이블에는 하나의 기본 키만 있을 수 있습니다.
- AI (Auto-Incrementing): 숫자 필드는 다음으로 가장 높은 사용되지 않은 값으로 자동으로 채워질 수 있습니다. 위에서 다룬 예제의 "id" 필드에서 이것을 사용했습니다.
- U(고유): 각 레코드의 이 필드는 고유한 값을 보유해야 합니다. 즉, 테이블의 이 필드에 중복이 있을 수 없습니다.
- 기본값: 이 필드에 값이 없는 레코드가 추가되면 기본값이 제공됩니다.
- 검사: 레코드가 추가될 때 필드에 검사가 수행될 수 있습니다. 예를 들어 전화 번호 필드의 값이 10자 이상인지 확인할 수 있습니다.
- 데이터 정렬: Sqlite는 다양한 문자열 비교 방법을 사용할 수 있습니다. 기본값은
BINARY
입니다. 다른 옵션은 대소문자를 구분하지 않는NOCASE
와 후행 공백을 무시하는RTRIM
입니다. 대부분의 경우 이 값을 기본값으로 둘 수 있습니다. - 외래 키: 다른 테이블의 키와 일치해야 하는 레코드의 필드 또는 필드 그룹입니다. 예를 들어 작업장 도구 데이터베이스에 개별 도구 테이블과 도구 범주 테이블이 있을 수 있습니다. 도구 범주가 "망치", "스패너" 및 "스크루드라이버"인 경우 "치즐" 유형의 레코드를 추가할 수 없습니다.
원하는 필드를 추가한 후 "확인"을 클릭합니다. 데이터베이스가 생성되고 첫 번째 테이블이 추가된 후 일부 레코드를 추가할 수 있습니다.
"SQL 실행" 탭에서 SQL INSERT 문을 여러 번 사용하여 테이블에 일부 레코드를 추가했습니다.
"데이터 찾아보기" 탭을 사용하여 새 기록을 볼 수도 있습니다.
사용자 인터페이스를 통해 새 레코드를 추가하려면 도구 모음에서 "새 레코드"를 클릭하십시오. 그런 다음 SQL을 이해하지 않고도 새 레코드에 대한 값을 입력할 수 있습니다.
다른 애플리케이션의 데이터베이스
DB4S를 사용하여 다른 애플리케이션에 속한 SQLite 데이터베이스를 볼 수도 있습니다. 다른 데이터베이스의 구조나 내용을 조사하는 것은 유익하거나 흥미로울 수 있습니다. 그러나 다른 응용 프로그램이 소유한 데이터베이스를 변경하지 않는 것이 중요합니다. 그렇지 않으면 해당 응용 프로그램의 작동에 부정적인 영향을 미칠 수 있습니다.
Firefox가 만들고 유지 관리하는 SQLite 데이터베이스 중 하나를 살펴보겠습니다. 도구 모음에서 "데이터베이스 열기"를 클릭하면 파일 열기 대화 상자가 나타납니다. Firefox는 홈 디렉토리에 있는 ".mozilla"라는 숨겨진 디렉토리 안에 있는 "firefox"라는 디렉토리에 파일을 보관합니다.
테스트 머신에서 "home/dave/.mozilla/firefox/vpvuy438.default-release" 위치에서 Firefox SQLite 데이터베이스를 찾았습니다. 비슷한 위치에 있을 것입니다.
"cookies.sqlite" 데이터베이스를 열 것이므로 파일을 강조 표시한 다음 "열기"를 클릭합니다. 데이터베이스가 열리면 테이블 구조, 필드 정의 및 데이터를 검사할 수 있습니다.
여기에서 다양한 Google 및 YouTube 쿠키를 볼 수 있습니다.
내보내기는 통찰력을 제공합니다
데이터베이스 내보내기(파일 > 내보내기 > 데이터베이스를 SQL 파일로 클릭)도 유용합니다. 데이터베이스의 SQL 덤프를 보면 SQL 문으로 렌더링된 데이터베이스의 전체 스키마를 볼 수 있습니다.