本文介紹創(chuàng)建一個簡單的數(shù)據(jù)庫,并能夠在需要的時間和地點快速使用它們。SQLite 在世界范圍內的許多設備中使用。
什么是SQLite?
SQLite是一個進程內的庫,實現(xiàn)了自給自足的、無服務器的、零配置的、事務性的 SQL 數(shù)據(jù)庫引擎。它是一個零配置的數(shù)據(jù)庫,這意味著與其他數(shù)據(jù)庫不一樣,不需要在系統(tǒng)中配置。
安裝
下面在Centos8中安裝SQLite:
[root@localhost ~]# yum -y install sqlite
使用下面命令運行sqlite吧:
[root@localhost ~]# sqlite3
SQLite version 3.26.0 2018-12-01 12:34:55
Enter ".help" for usage hints.
Connected to a transient in-memory database.
Use ".open FILENAME" to reopen on a persistent database.
sqlite>

sqlite>?提示符的意思是 SQLite 正在運行并準備好執(zhí)行任何操作?,F(xiàn)在,通過鍵入?^D?或?.exit?退出。
示例:假設一個錢幣收藏家。數(shù)據(jù)庫將被稱為 numismatists.db,數(shù)據(jù)表被稱為coins。有很多方法使用 SQLite。我們將從一個文本文件開始。因此,打開文本編輯器并編輯?numismatist.sql?添加以下內容:
[root@localhost ~]# vim numismatists.db
復制一下內容到numismatists.db文件中:
/*
* numismatist.sql Beginner's database
*/
PRAGMA foreign_keys=OFF;
BEGIN TRANSACTION;
Create Table coins(
denomination TEXT,
value? FLOAT,
comments TEXT
);
Insert into coins values(
'Quarter',
30.35,
'Gift from Grandpa'
);
COMMIT;

創(chuàng)建表和創(chuàng)建數(shù)據(jù)的格式和Mysql類似:
創(chuàng)建表格的格式:create table tablename (....);
創(chuàng)建記錄的格式:insert into tablename values(..., ..., ...);
接下來,告訴 SQLite 使用我們剛剛創(chuàng)建的文件中的命令創(chuàng)建我們的數(shù)據(jù)庫。
[root@localhost ~]# cat numismatists.sql | sqlite3 numismatists.db
使用以下命令測試它是否有效,來查看coins表的內容:
[root@localhost ~]# sqlite3 numismatists.db 'select * from coins'
Quarter|30.35|Gift from Grandpa

所有這些操作都可以在 SQLite 內部完成,輸入sqlite3進入sqlite控制臺:
[root@localhost ~]# sqlite3 numismatists.db
SQLite version 3.26.0 2018-12-01 12:34:55
Enter ".help" for usage hints.
sqlite> select * from coins;
Quarter|30.35|Gift from Grandpa
sqlite>

可以看到查詢到的內容了。
https://www.bestcentos.com
https://www.linuxjiaocheng.com
https://www.linuxpack.net
sqlite控制臺中基本命令:
.q?退出控制臺
.database?列出數(shù)據(jù)庫
.table?列出表
如何使用數(shù)據(jù)庫
現(xiàn)在我們有了最基本數(shù)據(jù)庫,我們可以探索隨著這個數(shù)據(jù)庫規(guī)模的增長會發(fā)生什么。數(shù)據(jù)庫通常很大,不是嗎?那么我們如何在數(shù)據(jù)庫中輸入無數(shù)行進行測試呢?沒有人會這樣做!簡單,方法如下(如果您使用 bash),只需使用此腳本:
[root@localhost ~]# vim sqlite.sh
#!/bin/bash
function my_insert() {
? ? ? echo "insert into coins values('$1', $2, 'From Grandpa');"
}
i=1.25? ? ? ? # establish minimum coin value
for a in `seq 1 10000` ; do
? ? ? new_val=`echo "$i + $RANDOM / 1000" | bc`
? ? ? my_insert "Quarter-$a" $new_val >> big_add-list
? ? ? #printf "Processing %i\n" $a # modulo 100 == 0 would be better
? ? ? echo "Processing $a"
done

現(xiàn)在,將新數(shù)據(jù)合并到現(xiàn)有數(shù)據(jù)庫中:
[root@localhost ~]# cat big_add-list | sqlite3 numismatists.db

可以看到已經導入1166條記錄了。因為我沒有讓腳本生成10000條記錄。
總結
在本文中,我們看到創(chuàng)建數(shù)據(jù)庫是一項非常簡單的任務。與 SQLite 結合使用時,任何人都可以大大簡化通常由數(shù)據(jù)庫處理的任務。