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ヘンタイを無料で生成します。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

iPhoneのホーム画面から削除を元に戻す方法 iPhoneのホーム画面から削除を元に戻す方法 Apr 17, 2024 pm 07:37 PM

ホーム画面から重要なものを削除してしまい、元に戻そうとしていますか?さまざまな方法でアプリのアイコンを画面に戻すことができます。 iPhoneでホーム画面から削除を元に戻す方法 前述したように、iPhoneでこの変更を復元する方法はいくつかあります。方法 1 – App ライブラリのアプリ アイコンを置き換える App ライブラリから直接ホーム画面にアプリ アイコンを配置できます。ステップ 1 – 横にスワイプして、アプリ ライブラリ内のすべてのアプリを見つけます。ステップ 2 – 前に削除したアプリのアイコンを見つけます。ステップ 3 – アプリのアイコンをメインライブラリからホーム画面上の正しい場所にドラッグするだけです。これが応用図です

PHP における矢印記号の役割と実際の応用 PHP における矢印記号の役割と実際の応用 Mar 22, 2024 am 11:30 AM

PHP における矢印記号の役割と実際の応用 PHP では、通常、オブジェクトのプロパティとメソッドにアクセスするために矢印記号 (->) が使用されます。オブジェクトとは、PHP におけるオブジェクト指向プログラミング (OOP) の基本概念の 1 つで、実際の開発においては、矢印記号がオブジェクトを操作する上で重要な役割を果たします。この記事では、矢印記号の役割と実際の応用例を紹介し、読者の理解を深めるために具体的なコード例を示します。 1. オブジェクトのプロパティにアクセスするための矢印シンボルの役割 矢印シンボルは、オブジェクトのプロパティにアクセスするために使用できます。ペアをインスタンス化するとき

初心者から熟練者まで: Linux tee コマンドのさまざまなアプリケーション シナリオを探索する 初心者から熟練者まで: Linux tee コマンドのさまざまなアプリケーション シナリオを探索する Mar 20, 2024 am 10:00 AM

Linuxtee コマンドは、既存の出力に影響を与えることなく、出力をファイルに書き込んだり、別のコマンドに出力を送信したりできる、非常に便利なコマンド ライン ツールです。この記事では、入門から習熟まで、Linuxtee コマンドのさまざまな応用シナリオを詳しく見ていきます。 1. 基本的な使い方 まずは、teeコマンドの基本的な使い方を見てみましょう。 tee コマンドの構文は次のとおりです。 tee[OPTION]...[FILE]...このコマンドは、標準入力からデータを読み取り、データを保存します。

Go 言語の利点と応用シナリオを探る Go 言語の利点と応用シナリオを探る Mar 27, 2024 pm 03:48 PM

Go 言語は、Google によって開発され、2007 年に初めてリリースされたオープンソース プログラミング言語です。シンプルで習得しやすく、効率的で同時実行性の高い言語となるように設計されており、ますます多くの開発者に好まれています。この記事では、Go 言語の利点を探り、Go 言語に適したいくつかのアプリケーション シナリオを紹介し、具体的なコード例を示します。利点: 強力な同時実行性: Go 言語には、同時プログラミングを簡単に実装できる軽量スレッドのゴルーチンのサポートが組み込まれています。 Goroutin は go キーワードを使用して開始できます

Samsung S24aiの機能を詳しく紹介 Samsung S24aiの機能を詳しく紹介 Jun 24, 2024 am 11:18 AM

2024 年は AI 携帯電話元年です。AI スマート テクノロジーにより、携帯電話はますます効率的かつ便利に使用できるようになります。最近、今年の初めにリリースされたGalaxy S24シリーズは、生成AIエクスペリエンスを再び改善しました。以下で詳細な機能の紹介を見てみましょう。 1. 生成 AI は Samsung Galaxy S24 シリーズを強力に強化します。Galaxy S24 シリーズは、Galaxy AI によって強化され、多くのインテリジェント アプリケーションをもたらします。これらの機能は Samsung One UI6.1 と緊密に統合されており、ユーザーはいつでも便利なインテリジェントなエクスペリエンスを得ることができ、パフォーマンスが大幅に向上します。携帯電話の効率と使いやすさ。 Galaxy S24 シリーズで先駆けて開発されたサークルアンド検索機能は、長押しするだけで実現できる機能です。

華宜山Heart of the Moon Lu Shuのスキルと特性の紹介 華宜山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 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 は、2 人のソフトウェア エンジニア、ビリー マーカスとジャクソン パーマーによって 2013 年 12 月に作成されました。当時人気だった「Doge」ミームからインスピレーションを得た、片言の英語を話す柴犬をフィーチャーしたコミカルな写真。特徴と利点: 無制限の供給: ビットコインなどの他の暗号通貨とは異なります。

オンラインスコアチェックプラットフォーム(便利で高速なスコア照会ツール)の紹介 オンラインスコアチェックプラットフォーム(便利で高速なスコア照会ツール)の紹介 Apr 30, 2024 pm 08:19 PM

高速スコア照会ツールは、生徒と保護者にとって利便性を高めます。インターネットの発展に伴い、ますます多くの教育機関や学校がオンライン スコア チェック サービスを提供し始めています。お子様の学業の進歩を簡単に追跡できるように、この記事では、一般的に使用されているオンラインスコアチェックプラットフォームをいくつか紹介します。 1. 利便性 - 保護者は、オンラインスコア確認プラットフォームを通じて、いつでもどこでも子供のテストスコアを確認できます。保護者は、コンピュータまたは携帯電話で対応するオンラインスコア確認プラットフォームにログインすることで、いつでも簡単に子供のテストスコアを確認できます。インターネットに接続できる環境であれば、仕事中でも外出中でも、保護者は子どもの学習状況を把握し、的を絞った指導や支援を行うことができます。 2. 複数の機能 - スコアのクエリに加えて、コースのスケジュールや試験の手配などの情報をオンラインで検索することもできます。

See all articles