FROM: http://database.51cto.com/art/201205/335411.htm

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

AD:51CTO开启企业运维技术盛宴_嘀嘀、新浪、白鹭齐聚MDSA线下沙龙,赶紧报名吧!

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. /* For RedHat, CentOS, or Fedora/*
  4. $ 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. 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 命令

显示表结构:

  1. sqlite> .schema [table]

获取所有表和视图:

  1. sqlite > .tables

获取指定表的索引列表:

  1. sqlite > .indices [table ]

导出数据库到 SQL 文件:

  1. sqlite > .output [filename ]
  2. sqlite > .dump
  3. sqlite > .output stdout

从 SQL 文件导入数据库:

  1. sqlite > .read [filename ]

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

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

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

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

备份数据库:

  1. /* usage: sqlite3 [database] .dump > [filename] */
  2. sqlite3 mytable.db .dump > backup.sql

恢复数据库:

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

原文链接:http://www.oschina.net/question/12_53183

一个小时内学习SQLite数据库相关推荐

  1. python操作内置Sqlite数据库

    转载自:http://www.cnblogs.com/yuxc/archive/2011/08/18/2143606.html 简单的介绍 SQLite数据库是一款非常小巧的嵌入式开源数据库软件,也就 ...

  2. 为什么ZMap用一个小时内就能扫遍整个互联网

    http://netsecurity.51cto.com/art/201308/407831.htm 直到最近为止,对拥有数之不尽的独立地址的互联网进行整体扫描还是一种非常缓慢而"劳动密集型 ...

  3. sqllite事务和MySQL事务_Android学习---SQLite数据库的增删改查和事务(transaction)调用...

    上一篇文章中介绍了手工拼写sql语句进行数据库的CRUD操作,本文将介绍调用sqlite内置的方法实现CRUD操作,其实质也是通过拼写sql语句. 首先,创建一个新的android项目: 其次,查看代 ...

  4. golang go语言_在7小时内学习快速简单的Go编程语言(Golang)

    golang go语言 The Go programming language (also called Golang) was developed by Google to improve prog ...

  5. 这个免费的交互式课程在一小时内学习JavaScript

    JavaScript is the most popular programming language on the web. You can use it to create websites, s ...

  6. 这6个软件一定每天坚持一个小时来学习!

    其实大家在学校里所读的专业,和在社会上的工作很多都不搭边的.这个时候我们为了升职加薪必须要不断地学习.在这个网络发达的时代,如果不收藏几个学习网站真是可惜了. 接下来小编介绍的这6个网站,每一个都十足 ...

  7. 8.10 直播回顾 | 一个小时内,我们用UWA GOT解决了这些问题...

    昨天UWA技术直播间,UWA当家主播强哥再次强力圈粉,凭着备受粉丝认可的极具磁性的声音,过硬的技术实力以及在手上挥洒自如的的黑科技UWA GOT,UWA这次几乎将压箱底的绝招都公开啦!接下来,让这个视 ...

  8. mysql获取一个小时内的数据

     (第一种方法)SELECT * FROM 表名 WHERE 字段名>NOW()-INTERVAL 2 HOUR;(第二种方法)SELECT * FROM 表名 WHERE 字段名 > ...

  9. SQLite数据库C语言接口使用实例教程

    文章目录 SQLiteC语言操作说明 `SQLITE3` 为什么要用 `SQLite`? `SQLite`命令 常用SQL语句 创建表 修改表 数据表测查询 限定和排序 多表连接 外连接 交叉连接 子 ...

最新文章

  1. [转载] 信息系统项目管理挂靠合同(协议)范例2
  2. jni java共享变量_Android JNI开发系列(十)JNI访问 Java 实例变量和静态变量
  3. 笔算除法 c语言,《两、三位数除以一位数,笔算》
  4. 【数据结构与算法】之深入解析“最小高度树”的求解思路与算法示例
  5. SQL语句中LEFT JOIN、JOIN、INNER JOIN、RIGHT JOIN的区别?
  6. C#委托、事件学习之(三)——热水器烧水案例
  7. LeetCode 436. 寻找右区间(二分查找)
  8. 中国电子学会scratch等级考试四级
  9. 海员可以饮用蒸馏海水吗?
  10. 【Oracle】手工创建数据库
  11. Android Spinner(下拉菜单)常用属性与点击事件获取值
  12. fmri 分析数据 fsl spm 两大平台比对
  13. python破解wifi-Python利用字典破解WIFI密码的方法
  14. list转json字符串,实体类包含list转实体类
  15. 编程常用英语词汇大全
  16. CS5460基本读写程序(无bug版本)
  17. ZLMediaKit流媒体服务器
  18. VUE 拦截浏览器后退弹窗,弹窗一闪立刻消失问题
  19. (一)八卦起点作家转会纵横-------- 比较全(包括JJ,起点ceo.邪月MM的发言的发言)...
  20. 论文笔记:Auto-Encoding Scene Graphs for Image Captioning

热门文章

  1. OVS端口镜像(十五)
  2. leetcode算法题--大礼包
  3. 模拟器真机环境_Appium+python自动化(二)- 环境搭建—下(超详解)
  4. IceStorm src simple analyse
  5. 数据科学家最常用的10种算法
  6. win2012 R2的ntp时间同步设置解析
  7. 一篇文读懂分布式系统本质:高吞吐、高可用、可扩展
  8. [javaEE] response实现图片下载
  9. window对象方法之setTimeout(),setInterval()
  10. 哈希函数的原理及应用