SQLite数据库安装与使用
SQLite是遵守ACID的关系数据库管理系统,它包含在一个相对小的C库中。它是D.RichardHipp创建的公有领域项目。
不像常见的客户端/服务器结构范例,SQLite引擎不是个程序与之通信的独立进程,而是连接到程序中成为它的一个主要部分。所以主要的通信协议是在编程语言内的直接API调用。这在消耗总量、延迟时间和整体简单性上有积极的作用。整个数据库(定义、表、索引和数据本身)都在宿主主机上存储在一个单一的文件中。它的简单的设计是通过在开始一个事务的时候锁定整个数据文件而完成的。
1.获得命令行程序
SQLite命令行程序(CLP)是开始使用SQLite的最好选择,按照如下步骤获取CLP:
1).打开浏览器进入SQLite主页,www.sqlite.org。
2).单击页面顶部的下载链接(Download)选项,进入下载页面。
3).滚动鼠标到“Precompiled Binaries for Windows”,选择sqlite-shell-win32-x86-3071401.zip(第一项),点击下载。
4).使用解压工具,将其解压。zip文件中包含一个sqlite3.exe文件,可以从解压文件所在位置使用sqlite;如果你想从任何目录下运行CLP,需要将该文件复制到Windows系统路径下。默认情况下,Windows中工作的路径是根分区下的(C:\Windwos\System32)。
5).打开运行窗口,输入CMD,调出Windows命令行窗口。
6).在命令行窗口输入sqlite3并按回车,将出现SQLite命令行提示符。当SQLite命令行提示符出现时,输入.help,将出现一列类似相关命令的说明。输入.exit后退出程序。
现在你已经有一份可以工作的安装在系统上的SQLite CLP副本了。
如果此刻就要使用SQLite,请关注下一节(Shell 模式的CLP)。
创建首个 SQLite 数据库
现在你已经安装了 SQLite 数据库,接下来我们创建首个数据库。在命令行窗口中输入如下命令来创建一个名为 test.db 的数据库。
- sqlite3 test.db (如果test.db不存在则创建,存在则打开)
创建表:
- sqlite> create table mytable(id integer primary key, value text);
- 2 columns were created.
该表包含一个名为 id 的主键字段和一个名为 value 的文本字段。
注意: 最少必须为新建的数据库创建一个表或者视图,这么才能将数据库保存到磁盘中,否则数据库不会被创建。
接下来往表里中写入一些数据:
- sqlite> insert into mytable(id, value) values(1, 'Micheal');
- sqlite> insert into mytable(id, value) values(2, 'Jenny');
- sqlite> insert into mytable(value) values('Francis');
- sqlite> insert into mytable(value) values('Kerk');
查询数据:
- sqlite> select * from mytable;
- 1|Micheal
- 2|Jenny
- 3|Francis
- 4|Kerk
- SQlite内置命令
它除了能执行SQL语句以外还提供一组内置的命令,它们是以点.开始,比如说查看帮助信息就是 .help退出是 .exit 跟 .quit
设置格式化查询结果:
- sqlite> .mode column (注意没有分号,否则报错)
- sqlite> .header on; (注意有分号,关于这点比较奇怪,一时有分号,一时没有。)
- sqlite> select * from test;
- id value
- ----------- -------------
- 1 Micheal
- 2 Jenny
- 3 Francis
- 4 Kerk
.mode column 将设置为列显示模式,.header 将显示列名。
修改表结构,增加列:
- sqlite> alter table mytable add column email text not null '' collate nocase;;
创建视图:
- sqlite> create view nameview as select * from mytable;
创建索引:
- sqlite> create index test_idx on mytable(value);
4. 一些有用的 SQLite 命令
显示表结构:
- sqlite> .schema [table]
显示如:
sqlite> .schema mytable
CREATE TABLE mytable(id integer primary key,value text, email text);
CREATE INDEX test_idx on mytable(value);
获取所有表和视图:
- sqlite > .tables (注意没有分号)
获取指定表的索引列表:
- sqlite > .indices [table ]
导出数据库到 SQL 文件:
- sqlite > .output [filename ]
- sqlite > .dump
- sqlite > .output stdout
文件内容为:
PRAGMA foreign_keys=OFF;
BEGIN TRANSACTION;
CREATE TABLE member(id integer primary key,age integer);
CREATE TABLE mytable(id integer primary key,value text, email text);
INSERT INTO "mytable" VALUES(1,'suming',NULL);
INSERT INTO "mytable" VALUES(2,'suming2',NULL);
INSERT INTO "mytable" VALUES(3,'suming3',NULL);
CREATE VIEW nameview as select * from mytable;
CREATE INDEX test_idx on mytable(value);
COMMIT;
从 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
原文链接:http://www.oschina.net/question/12_53183
更多:
http://www.cnblogs.com/akwwl/archive/2012/12/10/2807206.html
http://www.cnblogs.com/hnrainll/archive/2011/04/22/2024627.html
SQLite数据库安装与使用的更多相关文章
- sqlite数据库安装配置
一.SQLite简介 SQLite,是一款轻型的数据库,是遵守ACID的关联式数据库管理系统,它的设计目标是嵌入式的,而且目前已经在很多嵌入式产品中使用了它,它占用资源非常的低,在嵌入式设备中, ...
- SQLite 数据库安装与创建数据库
嵌入式关系数据库 Ubuntu $ sudo apt-get install sqlite3 sqlite3-dev CentOS, or Fedora $ yum install SQLite3 s ...
- Windows Phone 九、SQLite数据库
使用SQLite数据库 安装 SQLite for Windows Phone 8.1 插件新建 Windows Phone 8.1 项目添加 SQLite for Windows Phone 8.1 ...
- 台账建立和sqlite数据库的数据导入和导入问题
principle platform command starts with "."; whiel sql command doesn't starts with ". ...
- windows phone 8.1开发SQlite数据库引用安装
原文出自:http://www.bcmeng.com/windows-phone-sqlite/ windows phone 8.1开发SQlite数据库引用安装 第一步: 安装SQlite forw ...
- SQLite数据库下载、安装和学习
SQLite 是一个开源的嵌入式关系数据库,实现自包容.零配置.支持事务的SQL数据库引擎. 其特点是高度便携.使用方便.结构紧凑.高效.可靠.与其他数据库管理系统不同,SQLite 的安装和运行非常 ...
- sqlite数据库下载安装和初步操作和所遇到的问题near "sqlite3":syntax error
1.下载sqlite数据库:http://www.sqlite.org/download.html 假设是在window上安装须要在 Windows 区下载预编译的二进制文件.如图下载下载 sqlit ...
- Android之SQLite数据库篇
一.SQLite简介 Google为Andriod的较大的数据处理提供了SQLite,他在数据存储.管理.维护等各方面都相当出色,功能也非常的强大. 二.SQLite的特点 1.轻量级使用 SQLit ...
- 【Win 10 应用开发】Sqlite 数据库的简单用法
如果老周没记错的话,园子里曾经有朋友写过如何在 UWP 项目中使用 Sqlite数据库的文章.目前我们都是使用第三方封装的库,将来,SDK会加入对 Sqlite 的支持. 尽管目前 UWP-RT 库中 ...
随机推荐
- BNUOJ34990--Justice String (exkmp求最长公共前缀)
Justice String Given two strings A and B, your task is to find a substring of A called justice strin ...
- C++中关于函数的引用
这一块知识最常见的疑问就是: #include <iostream> #include <cstring> using namespace std; int a[50]; in ...
- Codeforces Round #FF (Div. 2):Problem A - DZY Loves Hash
A. DZY Loves Hash time limit per test 1 second memory limit per test 256 megabytes input standard in ...
- cocos2d-x 2.x 图层特效Effect(转)
CCSprite* sp = CCSprite::create("Default.png"); sp->setPosition(ccp(, )); addChild(sp); ...
- easyui-form添加自定义表单验证
easyui自定义表单验证规则其实不是很复杂,只要重写一下重写 $.fn.validatebox.defaults.rules 自定义示例 $.extend($.fn.validatebox.defa ...
- JS简单实现图片切换
<!DOCTYPE html><html> <head> <meta charset="utf-8" /> <title> ...
- lvm拉伸逻辑卷分区小总结
文件系统 容量 已用 可用 已用% 挂载点 /dev/mapper/vg_znl-lv_root ...
- ORACLE的order by中文排序
在使用order by排序的时候,出现如下情况: 印象中中文排序应该默认是按照拼音排序的,为何"鑫"会排在"中"的后面呢?猜想order by是不是根据对应 ...
- linux 使用ptrace函数时找不到头文件 .h 或者找不到某个宏的解决方法
例如: #include <stdio.h> #include <sys/ptrace.h> #include <sys/types.h> #include < ...
- 在eclipse中对于java的操作
1. 新建project new project --> java project -->input the name of the project and choose the jre ...