데이터 베이스 MySQL 튜토리얼 SQLite 入门教程(一)基本控制台(终端)命令

SQLite 入门教程(一)基本控制台(终端)命令

Jun 07, 2016 pm 05:39 PM
sqlite 시작하기 튜토리얼 주문하다 기초적인 콘솔 단말기

一、基本简介 SQLite 是一个自持的(self-contained)、无服务器的、零配置的、事务型的关系型数据库引擎。因为他很小,所以也可以作为嵌入式数据库内建在你的应用程序中。SQLite 被应用在 Solaris 10操作系统、Mac OS 操作系统、iPhone 和 Skype 中。QT4 、

一、基本简介

SQLite 是一个自持的(self-contained)、无服务器的、零配置的、事务型的关系型数据库引擎。因为他很小,所以也可以作为嵌入式数据库内建在你的应用程序中。SQLite 被应用在 Solaris 10操作系统、Mac OS 操作系统、iPhone 和 Skype 中。QT4 、Python 、 PHP 都默认支持 SQLite ,Firefox Amarok 等流行的应用程序在内部也使用了 SQLite.

SQLite 数据库引擎实现了主要的 SQL-92 标准,引擎本身只有一个文件,大小不到 300k ,但是并不作为一个独立的进程运行,而是动态或者静态的链接到其他应用程序中。它生成的数据库文件是一个普通的磁盘文件,可以放置在任何目录下。SQLite 本身是 C 语言开发的,开源也跨平台,并且被所有的主流编程语言支持。

相关资源

sqlite.org

wikipedia.org

二、下载安装

Windows 版的下载地址为:sqlite-shell-win32-x86-3070701.zip

我们这里下载的是命令行版本,所以是一个可执行文件,还有一个动态链接库版本,如果你的应用程序需要嵌入式数据库,可以下载这个版本。当然,如果你愿意折腾,下载源代码自己编译也是可以的。下载完成,解压出来就一个文件: sqlite3.exe ,可以放置到任意一个路径下,然后把这个路径加入到 PATH 环境变量中,这样我们就可以随时在控制台中运行 SQLite 命令行工具了。

三、基本命令

1、进入命令行环境:sqlite3

打开一个控制台窗口,输入 sqlite3 回车,这时你就进入了 SQLite 命令行环境,如图

它显示了版本号,并告诉你每一条 SQL 语句必须用分号 ; 结尾

2、命令行帮助:.help

在命令行环境下输入 .help 回车,显示所有可使用的命令以及这些命令的帮助。注意:所有的命令开头都是一个点

3、退出命令行环境

.quit 或者 .exit 都可以退出

四、数据库和表的相关命令

1、创建一个新的数据库:sqlite3 文件名

先建立一个 Db 目录,并在 Db 目录中创建一个 test.db 数据库文件,打开控制台窗口,命令如下:

mkdir Db

cd Db

sqlite3 test.db

2、打开一个已经存在的数据库:sqlite3 已经存在的文件名

创建一个新数据库和打开一个已经存在的数据库命令是一模一样的,如果文件在当前目录下不存在,则新建;如果存在,则打开。

3、导入数据:.read 数据文件

打开记事本,并将下列 SQL 语句复制到记事本中,保存为 test.sql 到上面说到的 Db 目录下,在命令行环境中输入

.read test.sql

即将所有的数据导入到 test.db 数据库中。

test.db 导入数据

BEGIN TRANSACTION;
CREATE TABLE Cars(Id integer PRIMARY KEY, Name text, Cost integer);
INSERT INTO Cars VALUES(1,'Audi',52642);
INSERT INTO Cars VALUES(2,'Mercedes',57127);
INSERT INTO Cars VALUES(3,'Skoda',9000);
INSERT INTO Cars VALUES(4,'Volvo',29000);
INSERT INTO Cars VALUES(5,'Bentley',350000);
INSERT INTO Cars VALUES(6,'Citroen',21000);
INSERT INTO Cars VALUES(7,'Hummer',41400);
INSERT INTO Cars VALUES(8,'Volkswagen',21600);
COMMIT;
BEGIN TRANSACTION;
CREATE TABLE Orders(Id integer PRIMARY KEY, OrderPrice integer CHECK(OrderPrice>0),
Customer text);
INSERT INTO Orders(OrderPrice, Customer) VALUES(1200, "Williamson");
INSERT INTO Orders(OrderPrice, Customer) VALUES(200, "Robertson");
INSERT INTO Orders(OrderPrice, Customer) VALUES(40, "Robertson");
INSERT INTO Orders(OrderPrice, Customer) VALUES(1640, "Smith");
INSERT INTO Orders(OrderPrice, Customer) VALUES(100, "Robertson");
INSERT INTO Orders(OrderPrice, Customer) VALUES(50, "Williamson");
INSERT INTO Orders(OrderPrice, Customer) VALUES(150, "Smith");
INSERT INTO Orders(OrderPrice, Customer) VALUES(250, "Smith");
INSERT INTO Orders(OrderPrice, Customer) VALUES(840, "Brown");
INSERT INTO Orders(OrderPrice, Customer) VALUES(440, "Black");
INSERT INTO Orders(OrderPrice, Customer) VALUES(20, "Brown");
COMMIT;
BEGIN TRANSACTION;
CREATE TABLE Friends(Id integer PRIMARY KEY, Name text UNIQUE NOT NULL,
Sex text CHECK(Sex IN ('M', 'F')));
INSERT INTO Friends VALUES(1,'Jane', 'F');
INSERT INTO Friends VALUES(2,'Thomas', 'M');
INSERT INTO Friends VALUES(3,'Franklin', 'M');
INSERT INTO Friends VALUES(4,'Elisabeth', 'F');
INSERT INTO Friends VALUES(5,'Mary', 'F');
INSERT INTO Friends VALUES(6,'Lucy', 'F');
INSERT INTO Friends VALUES(7,'Jack', 'M');
COMMIT;
BEGIN TRANSACTION;
CREATE TABLE IF NOT EXISTS Customers(CustomerId integer PRIMARY KEY, Name text);
INSERT INTO Customers(Name) VALUES('Paul Novak');
INSERT INTO Customers(Name) VALUES('Terry Neils');
INSERT INTO Customers(Name) VALUES('Jack Fonda');
INSERT INTO Customers(Name) VALUES('Tom Willis');
CREATE TABLE IF NOT EXISTS Reservations(Id integer PRIMARY KEY,
CustomerId integer, Day text);
INSERT INTO Reservations(CustomerId, Day) VALUES(1, '2009-22-11');
INSERT INTO Reservations(CustomerId, Day) VALUES(2, '2009-28-11');
INSERT INTO Reservations(CustomerId, Day) VALUES(2, '2009-29-11');
INSERT INTO Reservations(CustomerId, Day) VALUES(1, '2009-29-11');
INSERT INTO Reservations(CustomerId, Day) VALUES(3, '2009-02-12');
COMMIT;
BEGIN TRANSACTION;
CREATE TABLE Names(Id integer, Name text);
INSERT INTO Names VALUES(1,'Tom');
INSERT INTO Names VALUES(2,'Lucy');
INSERT INTO Names VALUES(3,'Frank');
INSERT INTO Names VALUES(4,'Jane');
INSERT INTO Names VALUES(5,'Robert');
COMMIT;
BEGIN TRANSACTION;
CREATE TABLE Books(Id integer PRIMARY KEY, Title text, Author text,
Isbn text default 'not available');
INSERT INTO Books VALUES(1,'War and Peace','Leo Tolstoy','978-0345472403');
INSERT INTO Books VALUES(2,'The Brothers Karamazov',
'Fyodor Dostoyevsky','978-0486437910');
INSERT INTO Books VALUES(3,'Crime and Punishment',
'Fyodor Dostoyevsky','978-1840224306');
COMMIT

4、列出所有的数据表: .tables

完成上面所有的工作以后,,我们就可以列出所有的数据表了

5、显示数据库结构:.schema

其实就是一些 SQL 语句,他们描述了数据库的结构,如图

6、显示表的结构:.schema 表名

7、导出某个表的数据: .dump 表名

这时我们可以看到,整个表以 SQL 语句的形式为导出来了,但是只是显示在终端上,如何把它导出到文件中呢?

8、设置导出目标:

.output 文件名

或者

.output stdout

先运行 .output cars.sql ,然后再运行 .dump 命令试试看?如果要回复成导出到终端(标准输出),则运行 .output stdout

五、数据显示相关命令

1、设置分隔符:.separator 分隔符

我们可以首先运行 SELECT * FROM Names; ,可以看到默认的分隔符是 |

运行.separator : 以后,再 SELECT * FROM Names;,可以看到分隔符已经变成 : 了

2、设置显示模式:.mode 模式

有好几种显示模式,默认的是 list 显示模式,一般我们使用 column 显示模式,还有其他几种显示模式可以 .help 看 mode 相关内容。看看下面的图,和上面是不是显示的不一样了?

3、显示标题栏:.headers on

看看,是不是又不太一样了?

4、设置每一列的显示宽度:.width w1,w2,w3.........

一些内容,默认的宽度显示不下,这个命令就有用了

5、设置 NULL 值显示成什么样子: .nullvalue 你想要的NULL值格式

默认情况下NULL值什么也不显示,你可以设置成你自己想要的样子

6、列出当前显示格式设置情况:.show

7、配置文件 .sqliterc

본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.

핫 AI 도구

Undresser.AI Undress

Undresser.AI Undress

사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover

AI Clothes Remover

사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool

Undress AI Tool

무료로 이미지를 벗다

Clothoff.io

Clothoff.io

AI 옷 제거제

AI Hentai Generator

AI Hentai Generator

AI Hentai를 무료로 생성하십시오.

뜨거운 도구

메모장++7.3.1

메모장++7.3.1

사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전

SublimeText3 중국어 버전

중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기

스튜디오 13.0.1 보내기

강력한 PHP 통합 개발 환경

드림위버 CS6

드림위버 CS6

시각적 웹 개발 도구

SublimeText3 Mac 버전

SublimeText3 Mac 버전

신 수준의 코드 편집 소프트웨어(SublimeText3)

Ubuntu 터미널을 열 수 없으면 어떻게 해야 합니까? Ubuntu 터미널을 열 수 없는 문제를 해결하는 방법은 무엇입니까? Ubuntu 터미널을 열 수 없으면 어떻게 해야 합니까? Ubuntu 터미널을 열 수 없는 문제를 해결하는 방법은 무엇입니까? Feb 29, 2024 pm 05:30 PM

요즘 Ubuntu에서 사용자가 터미널을 여는 것을 허용하지 않는 것은 매우 일반적인 문제입니다. 유사한 문제가 발생하고 다음에 무엇을 해야 할지 모르는 경우 Linux 장치에서 "Ubuntu가 터미널을 열 수 없음" 문제를 해결하는 방법에 대한 5가지 수정 사항에 대해 알아보세요. 더 이상 고민하지 말고 문제의 원인과 이에 대한 해결 방법을 살펴보겠습니다. Ubuntu가 터미널을 열 수 없는 이유는 무엇입니까? 이는 주로 결함이 있는 소프트웨어를 설치하거나 터미널 구성을 수정할 때 발생합니다. 이 외에도 로캘과 상호 작용하여 이를 손상시키는 새로운 응용 프로그램이나 게임도 비슷한 문제를 일으킬 수 있습니다. 일부 사용자는 Ubuntu의 활동 메뉴에서 터미널을 검색할 때 이 문제에 대한 수정 사항을 보고했습니다. 이는 다음을 보여줍니다.

Windows 11/10에서 SUDO 명령을 실행하는 방법 Windows 11/10에서 SUDO 명령을 실행하는 방법 Mar 09, 2024 am 09:50 AM

sudo 명령을 사용하면 사용자는 수퍼유저 모드로 전환하지 않고도 상승된 권한 모드에서 명령을 실행할 수 있습니다. 이 기사에서는 Windows 시스템에서 sudo 명령과 유사한 기능을 시뮬레이션하는 방법을 소개합니다. 슈도사령부란 무엇인가? Sudo("superuser do"의 약어)는 Linux 및 MacOS와 같은 Unix 기반 운영 체제 사용자가 일반적으로 관리자가 보유하는 높은 권한으로 명령을 실행할 수 있도록 하는 명령줄 도구입니다. Windows 11/10에서 SUDO 명령 실행 그러나 최신 Windows 11 Insider 미리 보기 버전이 출시되면서 Windows 사용자는 이제 이 기능을 경험할 수 있습니다. 이 새로운 기능을 통해 사용자는 다음을 수행할 수 있습니다.

Xbox 시스템 오류 E200 [수정됨] Xbox 시스템 오류 E200 [수정됨] Feb 19, 2024 pm 02:39 PM

이 문서에서는 Xbox 본체에서 시스템 오류 E200을 해결하는 방법을 설명합니다. 일반적으로 이 오류는 최신 콘솔 운영 체제 업데이트를 설치하는 동안 Xbox 콘솔이 중단될 때 발생합니다. 정전이나 네트워크 문제로 인해 시스템 업데이트가 중단된 경우에도 이 오류가 발생할 수 있습니다. Xbox 시스템 오류 E200 수정 Xbox 본체에서 시스템 오류 E200을 수정하려면 다음 수정 방법을 사용하세요. Xbox 본체를 껐다가 다시 켜세요. 시스템 업데이트를 수행하고 본체를 공장 초기화해 보세요. 1] Xbox 콘솔을 껐다가 다시 켜기 Xbox 콘솔의 전원 주기를 재설정하면 잠재적인 일시적인 결함을 효과적으로 제거하고 일부 문제를 해결할 수 있습니다. Xbox Control을 껐다가 다시 열려면 다음 단계를 따르세요.

Win11에서 네트워크 카드의 MAC 주소를 확인하는 방법 Win11에서 네트워크 카드의 MAC 주소를 얻는 명령을 사용하는 방법은 무엇입니까? Win11에서 네트워크 카드의 MAC 주소를 확인하는 방법 Win11에서 네트워크 카드의 MAC 주소를 얻는 명령을 사용하는 방법은 무엇입니까? Feb 29, 2024 pm 04:34 PM

이 문서에서는 명령 프롬프트(CommandPrompt)를 사용하여 Win11 시스템에서 네트워크 어댑터의 물리적 주소(MAC 주소)를 찾는 방법을 독자에게 소개합니다. MAC 주소는 네트워크 통신에서 중요한 역할을 하는 네트워크 인터페이스 카드(NIC)의 고유 식별자입니다. 명령 프롬프트를 통해 사용자는 현재 컴퓨터에 있는 모든 네트워크 어댑터의 MAC 주소 정보를 쉽게 얻을 수 있으며 이는 네트워크 문제 해결, 네트워크 설정 구성 및 기타 작업에 매우 유용합니다. 방법 1: "명령 프롬프트" 사용 1. [Win+X] 키 조합을 누르거나 [마우스 오른쪽 버튼 클릭] 작업 표시줄의 [Windows 로고]를 클릭하고 메뉴 항목이 열리면 [실행]을 선택합니다. .창을 실행하고 [cmd] 명령어를 입력한 후

Hyperv 고급 세션 모드는 어디에 있습니까? Win11에서 명령을 사용하여 Hyper-V 고급 세션 모드를 활성화 또는 비활성화하는 팁 Hyperv 고급 세션 모드는 어디에 있습니까? Win11에서 명령을 사용하여 Hyper-V 고급 세션 모드를 활성화 또는 비활성화하는 팁 Feb 29, 2024 pm 05:52 PM

Win11 시스템에서는 명령을 통해 Hyper-V 고급 세션 모드를 활성화하거나 비활성화할 수 있습니다. 이 문서에서는 명령을 사용하여 사용자가 시스템에서 Hyper-V 기능을 더 잘 관리하고 제어할 수 있도록 돕는 방법을 소개합니다. Hyper-V는 Microsoft에서 제공하는 가상화 기술로 Windows Server와 Windows 10 및 11(Home Edition 제외)에 내장되어 있어 사용자가 Windows 시스템에서 가상 운영 체제를 실행할 수 있습니다. 가상 머신은 호스트 운영 체제에서 격리되어 있지만 설정을 통해 사운드 카드, 저장 장치 등 호스트 리소스를 계속 사용할 수 있습니다. 주요 설정 중 하나는 고급 세션 모드를 활성화하는 것입니다. 고급 세션 모드는 Hyper입니다.

매우 실용적입니다! 당신을 리눅스 마스터로 만들어주는 Sar 명령 매우 실용적입니다! 당신을 리눅스 마스터로 만들어주는 Sar 명령 Mar 01, 2024 am 08:01 AM

1. 개요 sar 명령은 시스템 활동에서 수집된 데이터를 통해 시스템 사용 보고서를 표시합니다. 이러한 보고서는 다양한 섹션으로 구성되어 있으며 각 섹션에는 데이터 유형과 데이터 수집 시기가 포함되어 있습니다. sar 명령의 기본 모드는 CPU에 액세스하는 다양한 리소스(예: 사용자, 시스템, I/O 스케줄러 등)에 대해 다양한 시간 증분으로 CPU 사용량을 표시합니다. 또한 특정 기간 동안 유휴 CPU의 비율을 표시합니다. 각 데이터 포인트의 평균값은 보고서 하단에 나열됩니다. sar 보고서는 기본적으로 10분마다 데이터를 수집하지만 다양한 옵션을 사용하여 이러한 보고서를 필터링하고 조정할 수 있습니다. uptime 명령과 마찬가지로 sar 명령도 CPU 로드를 모니터링하는 데 도움이 될 수 있습니다. sar를 통해 과도한 부하 발생을 이해할 수 있다.

Linux의 아티팩트: eventfd의 원리 및 응용 Linux의 아티팩트: eventfd의 원리 및 응용 Feb 13, 2024 pm 08:30 PM

Linux는 파이프, 신호, 메시지 큐, 공유 메모리 등과 같은 효율적인 프로세스 간 통신 메커니즘을 제공하는 강력한 운영 체제입니다. 하지만 더 간단하고 유연하며 효율적인 의사소통 방법이 있을까요? 대답은 '예'입니다. 그게 eventfd입니다. eventfd는 Linux 버전 2.6에 도입된 시스템 호출로, 이벤트 알림을 구현하는 데, 즉 파일 설명자를 통해 이벤트를 전달하는 데 사용할 수 있습니다. eventfd에는 커널이 유지 관리하는 64비트 부호 없는 정수 카운터가 포함되어 있습니다. 프로세스는 프로세스 간 통신을 달성하기 위해 이 파일 설명자를 읽고 쓰면서 카운터 값을 읽고 변경할 수 있습니다. eventfd의 장점은 무엇입니까? 그것은 다음과 같은 기능을 가지고 있습니다

Linux에서 서비스를 다시 시작하는 올바른 방법은 무엇입니까? Linux에서 서비스를 다시 시작하는 올바른 방법은 무엇입니까? Mar 15, 2024 am 09:09 AM

Linux에서 서비스를 다시 시작하는 올바른 방법은 무엇입니까? Linux 시스템을 사용하다 보면 서비스를 다시 시작해야 하는 상황이 자주 발생하지만, 서비스를 다시 시작할 때 서비스가 실제로 중지되지 않거나 시작되지 않는 등의 문제가 발생할 수도 있습니다. 따라서 서비스를 다시 시작하는 올바른 방법을 익히는 것이 매우 중요합니다. Linux에서는 일반적으로 systemctl 명령을 사용하여 시스템 서비스를 관리할 수 있습니다. systemctl 명령은 systemd 시스템 관리자의 일부입니다.

See all articles