[转]一个小时内学习 SQLite 数据库

1. 介绍 

SQLite 是一个开源的嵌入式关系数据库,实现自包容、零配置、支持事务的SQL数据库引擎。 其特点是高度便携、使用方便、结构紧凑、高效、可靠。 与其他数据库管理系统不同,SQLite 的安装和运行非常简单,在大多数情况下 - 只要确保SQLite的二进制文件存在即可开始创建、连接和使用数据库。如果您正在寻找一个嵌入式数据库项目或解决方案,SQLite是绝对值得考虑。

2. 安装

SQLite on Windows

  1. 进入 SQL 下载页面:http://www.sqlite.org/download.html
  2. 下载 Windows 下的预编译二进制文件包:
  • sqlite-shell-win32-x86-<build#>.zip
  • sqlite-dll-win32-x86-<build#>.zip

注意: <build#> 是 sqlite 的编译版本号将 zip 文件解压到你的磁盘,并将解压后的目录添加到系统的 PATH 变量中,以方便在命令行中执行 sqlite 命令。

可选: 如果你计划发布基于 sqlite 数据库的应用程序,你还需要下载源码以便编译和利用其 API

  • sqlite-amalgamation-<build#>.zip

SQLite on Linux

在 多个 Linux 发行版提供了方便的命令来获取 SQLite:

1 /* For Debian or Ubuntu /*
2 sudo apt-get install sqlite3 sqlite3-dev
3  
4 /* For RedHat, CentOS, or Fedora/*
5 $ yum install SQLite3 sqlite3-dev

SQLite on Mac OS X

如果你正在使用 Mac OS 雪豹或者更新版本的系统,那么系统上已经装有 SQLite 了。

3. 创建首个 SQLite 数据库

现在你已经安装了 SQLite 数据库,接下来我们创建首个数据库。在命令行窗口中输入如下命令来创建一个名为  test.db 的数据库。

1 sqlite3 test.db

创建表:

1 sqlite> create table mytable(id integer primary key, value text);
2  
3 2 columns were created.

该表包含一个名为 id 的主键字段和一个名为 value 的文本字段。

注意: 最少必须为新建的数据库创建一个表或者视图,这么才能将数据库保存到磁盘中,否则数据库不会被创建。

接下来往表里中写入一些数据:

1 sqlite> insert into mytable(id, value) values(1, 'Micheal');
2 sqlite> insert into mytable(id, value) values(2, 'Jenny');
3 sqlite> insert into mytable(value) values('Francis');
4 sqlite> insert into mytable(value) values('Kerk');

查询数据:

1 sqlite> select from test;
2 1|Micheal
3 2|Jenny
4 3|Francis
5 4|Kerk

设置格式化查询结果:

1 sqlite> .mode column;
2 sqlite> .header on;
3 sqlite> select from test;
4 id          value
5 ----------- -------------
6 1           Micheal
7 2           Jenny
8 3           Francis
9 4           Kerk

.mode column 将设置为列显示模式,.header 将显示列名。

修改表结构,增加列:

1 sqlite> alter table mytable add column email text not null '' collate nocase;;

创建视图:

1 sqlite> create view nameview as select from mytable;

创建索引:

1 sqlite> create index test_idx on mytable(value);

4. 一些有用的 SQLite 命令

显示表结构:
sqlite> .schema [table]

获取所有表和视图:

sqlite > .tables 

获取指定表的索引列表:

sqlite > .indices [table ]

导出数据库到 SQL 文件:

sqlite > .output [filename ] 
sqlite > .dump 
sqlite > .output stdout

从 SQL 文件导入数据库:

sqlite > .read [filename ]

格式化输出数据到 CSV 格式:

sqlite >.output [filename.csv ] 
sqlite >.separator , 
sqlite > select * from test; 
sqlite >.output stdout

从 CSV 文件导入数据到表中:

sqlite >create table newtable ( id integer primary key, value text ); 
sqlite >.import [filename.csv ] newtable 

备份数据库:
/* usage: sqlite3 [database] .dump > [filename] */
sqlite3 mytable.db .dump > backup.sql

恢复数据库:

/* usage: sqlite3 [database ] < [filename ] */ 
sqlite3 mytable.db < backup.sql

时间: 2024-10-02 19:16:11

[转]一个小时内学习 SQLite 数据库的相关文章

Win10 IoT C#开发 5 - 操作 IoT 设备内嵌 SQLite 数据库 CURD

原文:Win10 IoT C#开发 5 - 操作 IoT 设备内嵌 SQLite 数据库 CURD Windows 10 IoT Core 是微软针对物联网市场的一个重要产品,与以往的Windows版本不同,是为物联网设备专门设计的,硬件也不仅仅限于x86架构,同时可以在ARM架构上运行. 前几章我们讲了 Raspberry 安装 Win10 IoT 系统及搭建开发环境.部署程序及操作 GPIO 和 UART 的方法,通过这些功能我们已经可以获得到传感器发送给我们的数据,但是如果数据不能及时推送

上海市静安区武宁南路上班 租房(要求近一些,坐车一个小时内),吃饭 大概一个月多少钱

问题描述 RT 解决方案 解决方案二:离静安区一小时之内,一个人房租1500左右,吃饭看你饭量了早中晚省点的话一天25元应该够了.解决方案三:当然了住得越近房租越贵,伙食费也贵,但是节省交通费,人也省力.住得远点的话房租便宜,伙食费也便宜,但耗交通费,人较累.自己权衡吧.解决方案四:引用1楼bao110908的回复: 离静安区一小时之内,一个人房租1500左右,吃饭看你饭量了早中晚省点的话一天25元应该够了. 哎,静安可是全国房价第二高的区啊,1500的只是个单间哦,不过也应该有便宜的,1000

Android应用中内嵌SQLite数据库的基本操作指南_Android

一.首先写一个类继承SQLiteOpenHelper类 重写他的方法指定db的名称.版本,重写oncreat和onUpgrade方法,写SQL语句创建表 public class MySQLiteOpenhelper extends SQLiteOpenHelper { private static String name = "person.db"; private static int version = 1; public MySQLiteOpenhelper(Context c

Android应用中内嵌SQLite数据库的基本操作指南

一.首先写一个类继承SQLiteOpenHelper类 重写他的方法指定db的名称.版本,重写oncreat和onUpgrade方法,写SQL语句创建表 public class MySQLiteOpenhelper extends SQLiteOpenHelper { private static String name = "person.db"; private static int version = 1; public MySQLiteOpenhelper(Context c

sqlite3-各位大大,关于W8.1 sqlite数据库显示问题QAQ

问题描述 各位大大,关于W8.1 sqlite数据库显示问题QAQ 目前的情况是在电脑本地有一个student.db的sqlite数据库,我想使用一个listview控件,用来显示这个数据库中某个表的内容,但是发现无从下手. 网上大多都是在代码之中添加数据,可是我想直接显示我数据库中表内的数据,不知道可行吗? 如果这一步跨越过去了的话,我的app就会前进一大步. 虽然伸手党很讨厌,但是还是很厚脸皮的请各位大大给我支个招.谢谢.T.T 解决方案 无非就是循环添加就可以了.写个循环累不死人的.

线下O2O案例:1小时内集赞超7百人 微信营销不容忽视

中介交易 SEO诊断 淘宝客 云主机 技术大厅 若非笔者亲眼所见,很难相信微信拥有如此强大的传播力度,然而不到一个小时内,竟然可以获得超过700名微信粉丝的点赞,不由得让笔者觉得微信营销的传播力量难以估量. 案例:某自助餐厅点赞活动的测试 我们不时可以通过微信朋友圈发现一些好玩的信息,譬如说笔者的同事今天就因为在朋友圈里面发现一条比较吸引的信息 -- 广州某大型自助餐厅的微信点赞活动,只要集满100个点赞,就可以获得这家自助餐厅的免费双人自助餐券一张.要知道这家自助餐厅晚上享用自助餐的价格为15

[学习收藏]SQLite数据库操作学习

用Python进行SQLite数据库操作 原文参见:http://www.cnblogs.com/yuxc/archive/2011/08/18/2143606.html 简单的介绍       SQLite数据库是一款非常小巧的嵌入式开源数据库软件,也就是说没有独立的维护进程,所有的维护都来自于程序本身.它是遵守ACID的关联式数据库管理系统,它的设计目标是嵌入式的,而且目前已经在很多嵌入式产品中使用了它,它占用资源非常的低,在嵌入式设备中,可能只需要几百K的内存就够了.它能够支持Window

Android下创建一个sqlite数据库

在Android平台上,集成了一个嵌入式关系型数据库-SQLite,SQLite3支持 NULL.INTEGER.REAL(浮点数字).TEXT(字符串文本)和BLOB(二进制对象)数据类型,虽然它支持的类型只有五种,但实际上sqlite3也接受varchar(n).char(n).decimal(p,s) 等数据类型,只不过在运算或保存时会转成对应的五种数据类型. SQLite最大的特点是你可以把各种类型的数据保存到任何字段中,而不用关心字段声明的数据类型是什么.SQLite可以解析大部分标准

从C#到Objective-C,循序渐进学习苹果开发(7)--使用FMDB对Sqlite数据库进行操作

本随笔系列主要介绍从一个Windows平台从事C#开发到Mac平台苹果开发的一系列感想和体验历程,本系列文章是在起步阶段逐步积累的,希望带给大家更好,更真实的转换历程体验.本篇主要开始介绍基于XCode进行IOS程序的开发,介绍使用FMDB对Sqlite数据库进行操作,以及对数据库操作类进行抽象设计,以期达到重用.简化.高效开发的目的. 在.NET领域开发了很多年,一般常见的项目都需要操作数据库,包括有Oracle.SqlServer.Mysql.Sqlite.Access等数据库,这些数据库是