데이터 베이스 MySQL 튜토리얼 Sqlite的简单介绍和应用

Sqlite的简单介绍和应用

Jun 07, 2016 pm 02:53 PM
sqlite 소개하다 애플리케이션 단순한

Sqlite的简单介绍和应用 (一)为什么要用sqlite3? 相信很多人跟我一样一开始对sqlite不太了解,不明白为什么要用sqlite,为什么不用Mysql(也是我喜欢的数据库之一)?其实,安我的理解是最重要的两点就是简单方便和小巧玲珑,不过还是把sqlite的特点跟大家


Sqlite的简单介绍和应用

 

(一)为什么要用sqlite3?

相信很多人跟我一样一开始对sqlite不太了解,不明白为什么要用sqlite,为什么不用Mysql(也是我喜欢的数据库之一)?其实,安我的理解是最重要的两点就是简单方便和小巧玲珑,不过还是把sqlite的特点跟大家说一下吧,

sqlite3的优点:  www.2cto.com  

(1)实现了绝大多数SQL92标准。整个数据库存储在一个单一的文件中

(2)数据库文件可以在不同字节许的机器之间自由共享

(3)提供了多种语言的绑定,如C/C++,python,java

(4)相对比较流行的客户/服务器数据库引擎运行的更快

(5)没有外部依赖,源代码位于公共域,可以用于任何用途。

(6)源代码开放,代码95%有较好的注释

(7)不需要配置,不需要安装,也不需要管理员

(8)sqlite不是一个用于连接到大型数据库服务器的客户端,而是非常适合桌面程序(如字典等)和小型网站的数据库服务器。

(9)sqlite直接读写在硬盘上的数据库文件。

 

(二)sqlite的安装  www.2cto.com  

(1)用系统的包管理器安装

sudo apt-get install sqlite3 sqlite3-doc

若是要安装图形界面,则输入以下指令

sudo apt-get install sqliteman sqliteman-doc

(2)编译安装

到官网(www.sqlite.org)上下载压缩包sqlite-3.*.*.tar.gz

$tar -xvf sqlite-3.*.*.tar.gz

$cd sqlite-3.*.*

$./configure

$make

$sudo make install
 

(三)sqlite的简单使用

sqlite3兼容大部分的SQL92语法,所以我们只需要学习几个sqlite3的几个特殊命令就可以了。不过为了完整,我还是在下面为大家演示了一些基本操作(如果看不懂的话,那么我想你需要补一点数据库的知识了:-))

首先在命令行执行 sqlite *.db就新建了一个库文件,我们的数据就都保存在这个文件里

$ sqlite3 test.db

SQLite version 3.7.9 2011-11-01 00:52:41

Enter ".help" for instructions

Enter SQL statements terminated with a ";"

sqlite> create table test(  www.2cto.com  

   ...> ID integer primary key,

   ...> name varchar(12)

   ...> );

sqlite> insert into test values(1,"one");

sqlite> insert into test values(2,"Two");

sqlite> insert into test values(3,"Three");

sqlite> select * from test;

1|one

2|Two

3|Three

sqlite> update test set name="One" where ID=1;

sqlite> select * from test;

1|One

2|Two

3|Three

sqlite> delete from test where ID=3;

sqlite> create index ID_INDEX on test(ID);
 

好了,上面的操作都是符合SQL92标准的,下面的一些命令才是sqlite的特色

sqlite的特殊命令都是以.开头的,比如刚开始进入sqlite的命令行时提示说“ Enter ".help" for instructions",其中“.help"就是特殊命令,我们输入.help会看到以下信息,都是以"."开头的。  www.2cto.com  

sqlite> .help

.backup ?DB? FILE      Backup DB (default "main") to FILE

.bail ON|OFF           Stop after hitting an error.  Default OFF

.databases             List names and files of attached databases

.dump ?TABLE? ...      Dump the database in an SQL text format

......

这里面有几个经常使用的,跳出来说一下。

sqlite> .tables    --显示所有的表

test

sqlite> .schema    --显示所有的定义

CREATE TABLE test(

ID integer primary key,

name varchar(12)

);

CREATE INDEX ID_INDEX on test(ID);

另外

.quit | .exit  退出

.output FILENAME 备份数据库

其他的自己看在线文档吧,就是.help命令了。
 

(四)sqlite的特别用法  www.2cto.com  

sqlite可以在shell直接运行命令

$sqlite3 test.db "select * from test;"      --显示表的内容

$sqlite3 -html test.db "select * from test;"    --将表输出为HTML

$sqlite3 test.db ".dump">test.sql   --备份数据库

$sqlite3 test.db

 

(五)用C/C++操作sqlite

我们若是用包管理器安装的sqlite3,那么很遗憾我们并没有用C操作sqlite3所需要的库,我们必须安装libsqlite3-dev

$sudo apt-get install libsqlite3-dev

若是编译安转的话,那么恭喜你,你已经可以用C操作sqlite3了,下面是我编写的一个关于test数据库的创建,插入,删除,更新,查询等的一个C程序,给大家献丑了。

 

//name:testdb.c

//Autor:prape

//date:2012-10-7

 

#include

#include

#include

 

int main(int argc,char **argv){

    sqlite3 *db=NULL;  www.2cto.com  

    char *errmsg=0;

    int sf;//打开sqlite3库返回的状态 

    //打开数据库

    sf=sqlite3_open("test.db",&db);//打开test.db,并把打开的数据库付给db

    if(sf){

        printf("can't open database test.db\n");

        sqlite3_close(db);

        return 0;

    }

    else{

        printf("open test.db successfully\n");

    }  www.2cto.com  

    //创建数据库

    char *sql="create table test(\

        ID integer primary key,\

        name varchar(12)\

        );";

    sqlite3_exec(db,sql,0,0,&errmsg);

    //插入记录

    sql="insert into \"test\" values(1,\"one\");";

    sqlite3_exec(db,sql,0,0,&errmsg);

    sql="insert into \"test\" values(2,\"Two\");";

    sqlite3_exec(db,sql,0,0,&errmsg);

    sql="select * from \"test\";";

    //查询记录

    int row=0,column=0;

    char **result;

    sqlite3_get_table(db,sql,&result,&row,&column,&errmsg);

    int i=0;

    for(i=0;i

        printf("result[%d]=%s\n",i,result[i]);

    sqlite3_free_table(result);//清除表占内存

    sql="delete from \"test\" where ID=3;";

    sqlite3_exec(db,sql,0,0,&errmsg);

        

    sqlite3_close(db);

    return 0;  www.2cto.com  

}

然后编译执行

$gcc testdb.c -lsqlite3 -o testdb.exe

如果前面你安装了libsqllite3-dev的话,那么你一定编译成功了,不过记住要链接sqlite3库。

这个程序里面还有许多不足之处,比如每次表的内容更改以后将表格打印出来会好很多,但是代码都是重复的,这里我就不复制代码了(本人有点懒),就当留给大家尝试的内容好了。

본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 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를 무료로 생성하십시오.

인기 기사

R.E.P.O. 에너지 결정과 그들이하는 일 (노란색 크리스탈)
3 몇 주 전 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. 최고의 그래픽 설정
3 몇 주 전 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. 아무도들을 수없는 경우 오디오를 수정하는 방법
3 몇 주 전 By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25 : Myrise에서 모든 것을 잠금 해제하는 방법
3 몇 주 전 By 尊渡假赌尊渡假赌尊渡假赌

뜨거운 도구

메모장++7.3.1

메모장++7.3.1

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

SublimeText3 중국어 버전

SublimeText3 중국어 버전

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

스튜디오 13.0.1 보내기

스튜디오 13.0.1 보내기

강력한 PHP 통합 개발 환경

드림위버 CS6

드림위버 CS6

시각적 웹 개발 도구

SublimeText3 Mac 버전

SublimeText3 Mac 버전

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

PHP에서 화살표 기호의 역할과 실제 적용 PHP에서 화살표 기호의 역할과 실제 적용 Mar 22, 2024 am 11:30 AM

PHP에서 화살표 기호의 역할과 실제 적용 PHP에서 화살표 기호(->)는 일반적으로 객체의 속성과 메서드에 액세스하는 데 사용됩니다. 객체는 PHP의 객체지향 프로그래밍(OOP)의 기본 개념 중 하나입니다. 실제 개발에서는 객체를 조작할 때 화살표 기호가 중요한 역할을 합니다. 이 기사에서는 화살표 기호의 역할과 실제 적용을 소개하고 독자의 이해를 돕기 위해 구체적인 코드 예제를 제공합니다. 1. 객체의 속성에 접근하기 위한 화살표 기호의 역할 화살표 기호를 사용하여 객체의 속성에 접근할 수 있습니다. 쌍을 인스턴스화할 때

iPhone 홈 화면에서 삭제를 취소하는 방법 iPhone 홈 화면에서 삭제를 취소하는 방법 Apr 17, 2024 pm 07:37 PM

홈 화면에서 중요한 항목을 삭제하고 다시 복구하려고 하시나요? 다양한 방법으로 앱 아이콘을 화면에 다시 표시할 수 있습니다. 우리는 당신이 따라갈 수 있는 모든 방법과 홈 화면에 앱 아이콘을 다시 넣을 수 있는 방법에 대해 논의했습니다. 방법 1 - 앱 라이브러리에서 앱 아이콘 바꾸기 앱 라이브러리에서 직접 홈 화면에 앱 아이콘을 배치할 수 있습니다. 1단계 – 옆으로 스와이프하여 앱 라이브러리의 모든 앱을 찾습니다. 2단계 – 이전에 삭제한 앱 아이콘을 찾습니다. 3단계 – 메인 라이브러리의 앱 아이콘을 홈 화면의 올바른 위치로 드래그하기만 하면 됩니다. 이것은 응용 다이어그램입니다

초보자부터 숙련자까지: Linux tee 명령의 다양한 응용 시나리오 탐색 초보자부터 숙련자까지: Linux tee 명령의 다양한 응용 시나리오 탐색 Mar 20, 2024 am 10:00 AM

Linuxtee 명령은 기존 출력에 영향을 주지 않고 출력을 파일에 쓰거나 출력을 다른 명령으로 보낼 수 있는 매우 유용한 명령줄 도구입니다. 이 기사에서는 초보자부터 숙련자까지 Linuxtee 명령의 다양한 애플리케이션 시나리오를 심층적으로 살펴보겠습니다. 1. 기본 사용법 먼저 tee 명령어의 기본 사용법을 살펴보겠습니다. tee 명령의 구문은 다음과 같습니다: tee[OPTION]...[FILE]...이 명령은 표준 입력에서 데이터를 읽고 데이터를 다음 위치에 저장합니다.

Samsung S24ai 기능에 대한 자세한 소개 Samsung S24ai 기능에 대한 자세한 소개 Jun 24, 2024 am 11:18 AM

2024년은 AI 휴대폰 원년이다. AI 스마트 기술을 탑재해 휴대폰을 더욱 효율적이고 편리하게 사용할 수 있는 휴대폰이 늘어나고 있다. 최근 연초 출시된 갤럭시 S24 시리즈에서는 제너레이티브 AI 경험이 다시 한 번 향상됐다. 자세한 기능 소개는 아래에서 살펴보자. 1. 생성적 AI의 강력한 강화 Samsung Galaxy S24 시리즈는 Galaxy AI의 강화를 통해 많은 지능형 애플리케이션을 제공했습니다. 이러한 기능은 Samsung One UI6.1과 긴밀하게 통합되어 사용자가 언제든지 편리하고 지능적인 경험을 얻을 수 있습니다. 휴대전화의 성능과 사용 편의성을 향상시킵니다. 갤럭시 S24 시리즈가 개척한 원 앤 검색 기능은 사용자가 길게 누르기만 하면 되는 기능 중 하나입니다.

Go 언어의 장점과 적용 시나리오를 살펴보세요. Go 언어의 장점과 적용 시나리오를 살펴보세요. Mar 27, 2024 pm 03:48 PM

Go 언어는 Google이 개발하여 2007년에 처음 출시된 오픈 소스 프로그래밍 언어입니다. 간단하고 배우기 쉽고 효율적이며 동시성이 높은 언어로 설계되었으며 점점 더 많은 개발자가 선호합니다. 이 기사에서는 Go 언어의 장점을 살펴보고 Go 언어에 적합한 몇 가지 애플리케이션 시나리오를 소개하며 구체적인 코드 예제를 제공합니다. 장점: 강력한 동시성: Go 언어에는 동시 프로그래밍을 쉽게 구현할 수 있는 경량 스레드 고루틴에 대한 지원이 내장되어 있습니다. Goroutin은 go 키워드를 사용하여 시작할 수 있습니다.

Hua Yishan Heart of the Moon Lu Shu의 기술과 속성 소개 Hua Yishan Heart of the Moon Lu Shu의 기술과 속성 소개 Mar 23, 2024 pm 05:30 PM

Hua Yishan Heart Moon에서 Lu Shu는 SSR의 유명인사입니다. 그는 매우 인상적인 치명타율을 가지고 있습니다. 많은 플레이어들이 Lu Shu에 대해 잘 모릅니다. 화이샨 달의 심장 여슈의 스킬과 속성에 대한 소개를 살펴보세요. 연예인 속성 연예인 스킬 1. Lu Ming Shuzhong 스킬 설명 : Lu Shu는 Shuzhong의 Qiongqihui에서 태어나 어렸을 때부터 무술을 연마했으며 뛰어난 무술 실력을 가지고 있습니다. 적의 뒷열 공격력의 100%만큼 기본 공격 피해를 주고, 대상의 분노를 10 감소시킵니다. 스킬 속성 : 2레벨 : 기본 공격력이 105%로 증가됩니다. 2레벨 : 기본공격 데미지가 110%로 증가되고, 대상의 분노가 15포인트 감소됩니다. 2레벨: 기본 공격력이 115%로 증가되었습니다. 2레벨 : 기본 공격력이 120%로 증가하고 대상의 분노가 20 감소합니다. 레벨 2: 기본 공격

도지코인이란 무엇인가요? 도지코인이란 무엇인가요? Apr 01, 2024 pm 04:46 PM

Dogecoin은 고정된 공급 한도가 없고, 빠른 거래 시간, 낮은 거래 수수료, 대규모 밈 커뮤니티가 있는 인터넷 밈을 기반으로 만들어진 암호화폐입니다. 용도로는 소액 거래, 팁, 자선 기부 등이 있습니다. 그러나 무제한 공급, 시장 변동성, 조크 코인으로서의 지위 역시 위험과 우려를 불러일으킵니다. 도지코인이란 무엇입니까? Dogecoin은 인터넷 밈과 농담을 기반으로 만들어진 암호화폐입니다. 기원과 역사: Dogecoin은 2013년 12월 두 명의 소프트웨어 엔지니어 Billy Markus와 Jackson Palmer에 의해 만들어졌습니다. 당시 인기 있었던 "Doge" 밈에서 영감을 받아, 영어가 서툰 시바견이 등장하는 코믹한 사진입니다. 특징 및 이점: 무제한 공급: 비트코인과 같은 다른 암호화폐와는 달리

온라인 점수조회 플랫폼 소개 (편리하고 빠른 점수조회 도구) 온라인 점수조회 플랫폼 소개 (편리하고 빠른 점수조회 도구) Apr 30, 2024 pm 08:19 PM

빠른 점수 조회 도구는 학생과 학부모에게 더욱 편리함을 제공합니다. 인터넷의 발달로 점점 더 많은 교육 기관과 학교에서 온라인 점수 확인 서비스를 제공하기 시작했습니다. 자녀의 학업 진행 상황을 쉽게 추적할 수 있도록 이 기사에서는 일반적으로 사용되는 몇 가지 온라인 점수 확인 플랫폼을 소개합니다. 1. 편의성 - 학부모는 온라인 점수체크 플랫폼을 통해 언제 어디서나 자녀의 시험점수를 확인할 수 있습니다. 부모는 컴퓨터나 휴대폰에서 해당 온라인 점수체크 플랫폼에 로그인하여 언제든지 편리하게 자녀의 시험점수를 확인할 수 있습니다. 직장에서든 외출 중이든 인터넷 연결이 있는 한, 부모는 자녀의 학습 상태를 파악하고 자녀에게 목표에 맞는 지도와 도움을 제공할 수 있습니다. 2. 다양한 기능 – 점수 조회 외에도 강좌 일정, 시험 준비 등의 정보에 대한 다양한 온라인 검색 기능을 제공합니다.

See all articles