本文介紹創建一個簡單的資料庫,並能夠在需要的時間和地點快速使用它們。SQLite 在世界範圍內的許多設備中使用。 |
什麼是SQLite?
SQLite是一個進程內的庫,實現了自給自足的、無伺服器的、零配置的、事務性的 SQL 資料庫引擎。它是一個零配置的資料庫,這意味著與其他資料庫不一樣,不需要在系統中配置。
安裝
下面在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
正在運行並準備好執行任何操作。現在,通過鍵入 ^D 或 .exit 退出。
示例:假設一個錢幣收藏家。資料庫將被稱為 numismatists.db,數據表被稱為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;
創建表和創建數據的格式和Mysql類似:
創建表格的格式:create table tablename (....);
創建記錄的格式:insert into tablename values(..., ..., ...);
接下來,告訴 SQLite 使用我們剛剛創建的文件中的命令創建我們的資料庫。
[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>
可以看到查詢到的內容了。
sqlite控制台中基本命令:
- .q 退出控制台
- .database 列出資料庫
- .table 列出表
如何使用資料庫
現在我們有了最基本資料庫,我們可以探索隨著這個資料庫規模的增長會發生什麼。資料庫通常很大,不是嗎?那麼我們如何在資料庫中輸入無數行進行測試呢?沒有人會這樣做!簡單,方法如下(如果您使用 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
https://www.bestcentos.com
https://www.linuxjiaocheng.com
https://www.linuxpack.net
現在,將新數據合併到現有資料庫中:
[root@localhost ~]# cat big_add-list | sqlite3 numismatists.db
可以看到已經導入1166條記錄了。因為我沒有讓腳本生成10000條記錄。
總結
在本文中,我們看到創建資料庫是一項非常簡單的任務。與 SQLite 結合使用時,任何人都可以大大簡化通常由資料庫處理的任務。