SQLite 基本命令使用方式
本文介绍创建一个简单的数据库,并能够在需要的时间和地点快速使用它们。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` ; donew_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 betterecho "Processing $a" done
现在,将新数据合并到现有数据库中:
[root@localhost ~]# cat big_add-list | sqlite3 numismatists.db
可以看到已经导入1166条记录了。因为我没有让脚本生成10000条记录。
总结
在本文中,我们看到创建数据库是一项非常简单的任务。与 SQLite 结合使用时,任何人都可以大大简化通常由数据库处理的任务。
SQLite 基本命令使用方式相关推荐
- SQLite的事务处理方式
SQLite把每一条SQL语句解释为一个事务,这就是事务处理自动提交模式:也可以通过begin...commit语句实现对多条SQL语句的包裹,也就是多条SQL语句在一个事务中进行处理,这就是用户提交 ...
- Sqlite大批量导入数据提高效率的几种方式
前言 SQLite数据库由于其简单.灵活.轻量.开源,已经被越来越多的被应用到中小型应用中.甚至有人说,SQLite完全可以用来取代c语言中的文件读写操作.因此我最近编写有关遥感数据处理的程序的时候, ...
- spring 配置sqlite的方式
sqlite作为一种嵌入式数据库越来越受欢迎,特别是在小型的项目中,下面介绍两种spring配置sqlite数据库的方式 第一种:配置在tomcat目录下 1.在tomcat根目录下创建dbs文件夹, ...
- Qt操作SQLite数据库的三种方式
Qt访问Sqlite数据库的三种方式(即使用三种类库去访问),分别为QSqlQuery.QSqlQueryModel.QSqlTableModel,对于这三种类库,可看为一个比一个上层,也就是封装的更 ...
- Xamarin SQLite教程数据库访问与生成
Xamarin SQLite教程数据库访问与生成 在本教程中,我们将讲解如何开发SQLite相关的App.在编写程序前,首先需要做一些准备工作,如了解Xamarin数据库访问方式,添加引用,构建使用库 ...
- SQLite学习手册(在线备份)
一.常用备份: 下面的方法是比较简单且常用的SQLite数据库备份方式,见如下步骤: 1). 使用SQLite API或Shell工具在源数据库文件上加共享锁. 2). 使用Shell ...
- 如何使用SQLite
前些时候看到兴趣小组里有人问"Android上SQLite的最佳实践"是什么,好奇地搜了一下,确实没有一个好一点的指导文档,平时的使用也只是简单的拷贝code,并没有深入的研究过. ...
- cocos2d-x 3.0rc2中读取sqlite文件
cocos2d-x 3.0rc2中读取sqlite文件的方式,在Android中直接读取软件内的会失败.须要复制到可写的路径下 sqlite3* dbFile = NULL;std::string p ...
- Sqlite学习笔记(五)SQLite封锁机制
概述 SQLite虽然是一个轻量的嵌入式数据库,但这并不影响它支持事务.所谓支持事务,即需要在并发环境下,保持事务的ACID特性.事务的原子性,隔离性都需要通过并发控制来保证.那么Sqlite的并发控 ...
最新文章
- 对人脑而言,阅读计算机代码和阅读语言有何不同?
- Leetcode 122. 买卖股票的最佳时机 II 解题思路及C++实现
- 警告: [SetPropertiesRule]{Server/Service/Engine/Host/Context} Setting property 'source' to
- CSS基础----元素分类
- 文件那些事儿之一(初稿)
- 《Android进阶之光》— Android 书籍
- Canvas坐标轴中的Y轴距离是X轴的两倍
- 计算机考研复试面试问题总结——数据结构篇(含答案)
- 思科CISCO ASA 5521 防火墙 Ipsec 配置详解
- Linux服务器查看任务计划,Linux的任务计划
- PS怎样删除文字成为背景颜色
- 计算机桌面时间设置,电脑时间校准,教您怎么校正电脑时间
- android 优秀框架整理
- 骆昊python100天 github_GitHub - MingZhao2019/Python-100-Days: Python - 100天从新手到大师
- gmail 邮箱附件大小 突破10M
- 关于审查元素与查看网页源码的区别
- 服务器遇到一个意外的情况,阻止它完成请求
- 如何在.config文件自定义配置节
- 特斯拉Autopilot软件重写
- 【转】STL之父访谈录
热门文章
- Git 高级用法,喜欢就拿去用!
- pycharm中的terminal解释器和project 解释器不统一问题
- 复习计算机网络day2
- 1996 年 3 月. IEEE 成立了 802.3z 工作组开始制定 1000Mb/s 标准。下列千兆以太网中不属于该标准的是(19)【答案】C
- 技能 | Python处理图像10大经典库(附下载地址)
- 实战:使用 OpenCV 的自动驾驶汽车车道检测(附代码)
- 链表问题4——反转双向链表
- go 方法接受者 是指针类型和非指针类型的 区别
- 一起学微软Power BI系列-使用技巧(3)Power BI安卓手机版安装与体验
- 阿里云面向企业效率的云上产品全解析——云呼叫中心