导读 本文介绍创建一个简单的数据库,并能够在需要的时间和地点快速使用它们。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


现在,将新数据合并到现有数据库中:

[root@localhost ~]# cat big_add-list | sqlite3 numismatists.db


可以看到已经导入1166条记录了。因为我没有让生成10000条记录。

总结

在本文中,我们看到创建数据库是一项非常简单的任务。与 SQLite 结合使用时,任何人都可以大大简化通常由数据库处理的任务。

本文原创地址://lrxjmw.cn/sqlite-basic-cmd.html编辑:逄增宝,审核员:逄增宝