`

最简单的数据库sqlite3

 
阅读更多

http://www.cnblogs.com/itech/archive/2012/06/23/2559269.html

 

 

一 sqlite

简单地说SQLite数据库对应的就是一个文件(一般命名为xxx.db)。可以通过sqlite shell命令行来操作sqlite数据库,也可以在其他的语言中通过api来操作sqlite数据库。sqlite数据库的访问甚至不需要用户名和密码。

 

在windows上可以下载:sqlite-shell-win32-x86-3071300.zip , 其他平台可以下载对应的shell命令行。

 

帮助:

 

d:\sqlite_test>sqlite3.exe test.db
SQLite version 3.7.13 2012-06-11 02:05:22
Enter ".help" for instructions
Enter SQL statements terminated with a ";"
sqlite> .help
.backup ?DB? FILE      Backup DB (default "main") to FILE
.bail ON|OFF           Stop after hitting an error.  Default OFF
.databases             List names and files of attached databases
.dump ?TABLE? ...      Dump the database in an SQL text format
                         If TABLE specified, only dump tables matching
                         LIKE pattern TABLE.
.echo ON|OFF           Turn command echo on or off
.exit                  Exit this program
.explain ?ON|OFF?      Turn output mode suitable for EXPLAIN on or off.
                         With no args, it turns EXPLAIN on.
.header(s) ON|OFF      Turn display of headers on or off
.help                  Show this message
.import FILE TABLE     Import data from FILE into TABLE
.indices ?TABLE?       Show names of all indices
                         If TABLE specified, only show indices for tables
                         matching LIKE pattern TABLE.
.load FILE ?ENTRY?     Load an extension library
.log FILE|off          Turn logging on or off.  FILE can be stderr/stdout
.mode MODE ?TABLE?     Set output mode where MODE is one of:
                         csv      Comma-separated values
                         column   Left-aligned columns.  (See .width)
                         html     HTML <table> code
                         insert   SQL insert statements for TABLE
                         line     One value per line
                         list     Values delimited by .separator string
                         tabs     Tab-separated values
                         tcl      TCL list elements
.nullvalue STRING      Print STRING in place of NULL values
.output FILENAME       Send output to FILENAME
.output stdout         Send output to the screen
.prompt MAIN CONTINUE  Replace the standard prompts
.quit                  Exit this program
.read FILENAME         Execute SQL in FILENAME
.restore ?DB? FILE     Restore content of DB (default "main") from FILE
.schema ?TABLE?        Show the CREATE statements
                         If TABLE specified, only show tables matching
                         LIKE pattern TABLE.
.separator STRING      Change separator used by output mode and .import
.show                  Show the current values for various settings
.stats ON|OFF          Turn stats on or off
.tables ?TABLE?        List names of tables
                         If TABLE specified, only list tables matching
                         LIKE pattern TABLE.
.timeout MS            Try opening locked tables for MS milliseconds
.trace FILE|off        Output each SQL statement as it is run
.vfsname ?AUX?         Print the name of the VFS stack
.width NUM1 NUM2 ...   Set column widths for "column" mode
.timer ON|OFF          Turn the CPU timer measurement on or off

 

 

二 使用sqlite

1)打开或创建sqlite数据库

 

d:\sqlite_test>sqlite3.exe test.db
SQLite version 3.7.13 2012-06-11 02:05:22
Enter ".help" for instructions
Enter SQL statements terminated with a ";"
sqlite> 

 

 

2) 创建表及插入数据

sqlite> create table mytable(name varchar(10), age smallint);
sqlite> insert into mytable values("itech", 5);
sqlite> insert into mytable values("jason", 10);
sqlite> select * from mytable;
itech|5
jason|10

sqlite> 

 

3)查看表及表的schema

sqlite> .tables
mytable
sqlite> .schema mytable
CREATE TABLE mytable(name varchar(10), age smallint);

sqlite> 

 

4)数据库导出为ascii的sql文件 + 重新导入到新的数据库

d:\sqlite_test>echo .dump | sqlite3 test.db > test.db.dump 

d:\sqlite_test>type test.db.dump
PRAGMA foreign_keys=OFF;
BEGIN TRANSACTION;
CREATE TABLE mytable(name varchar(10), age smallint);
INSERT INTO "mytable" VALUES('itech',5);
INSERT INTO "mytable" VALUES('jason',10);
COMMIT;
 

 

d:\sqlite_test>type test.db.dump | sqlite3 test2.db
d:\sqlite_test>sqlite3 test2.db
SQLite version 3.7.13 2012-06-11 02:05:22
Enter ".help" for instructions
Enter SQL statements terminated with a ";"
sqlite> .tables
mytable
sqlite>

 

 

5)格式化输出

sqlite> .mode column
sqlite> .header on
sqlite> select * from mytable;
name        age
----------  ----------
itech       5
jason       10

sqlite> 

 

完! 


作者:iTech
出处:http://itech.cnblogs.com/ 
欢迎加入qq交流群172758282,437085002来讨论 build/release/Jenkins! ciandcd.com
欢迎加入qq交流群426095548来讨论linux! linux6
分享到:
评论

相关推荐

    Android数据库SQLite基本操作工程

    Android数据库SQLite基本操作工程,最简单的增删改查方法。

    SQLite数据库 sqlitedll库文件 sqlite驱动JAR包 sqlite工具

    4 * 这是个非常简单的SQLite的Java程序, 5 * 程序中创建数据库、创建表、然后插入数据, 6 * 最后读出数据显示出来 7 * @author zieckey (http://zieckey.cublog.cn) 8 */ 9 public class TestSQLite{ 10 ...

    Node.js-better-sqlite3是Node.js中最快和最简单的SQLite3库

    better-sqlite3是Node.js中最快和最简单的SQLite3库

    Delphi调用sqlite.7z

    Delphi7调用sqlite数据库实例,包含2个pas文件,一个dll文件,调用代码介绍,最全最实用最简单的Delphi7调用sqlite数据库资源. Delphi7调用SQLite数据库使用方法: 1. 在项目中添加SQLite3.pas、SQLiteTable3.pas这2...

    Qt Sqlite数据库简单demo

    Qt Sqlite数据库简单demo,最简单明了的数据库demo,运行有数据表界面。

    SQLite教程(一):SQLite数据库介绍

     SQLite是目前最流行的开源嵌入式数据库,和很多其他嵌入式存储引擎相比(NoSQL),如BerkeleyDB、MemBASE等,SQLite可以很好的支持关系型数据库所具备的一些基本特征,如标准SQL语法、事务、数据表和索引等。...

    Qt Sqlite加密数据库驱动源代码

    修改的内容不多,最重要的是在数据库的open时,加入了sqlite3_key的调用,实现加密。 底层的加密实现,是来自wxsqlite3-3.0.6。这个我修改了一个宏定义,让其加密方式采用了AES256,而不是原来的AES128。 例程中...

    Labview使用sqlite数据库

    labview数据库操作,目前我用过最强大最好用的labview数据库操作,又简单集成度也超高,要的功能都有,labview使用其他数据库无法自动生成数据库,这个是可以的。 1.自动生成数据库 2.可以以表格形式插入数据库。 3....

    SqlServer,MySQL,SQlite数据库的连接,以及读写操作

    最简单实用的数据库连接,及对数据库的读写操作,包括SqlServer,MySQL和SQlite三种数据库的操作。简单实用,非常有价值。

    SQLite源代码,完整版的,适合大家下来学习

    完整版的sqlite源代码,非常适合学数据库的人们学习

    利用sqlite实现最简单的android记事本

    通过sqlite实现最简单的记事本的增删改查

    Access数据库导入SQLite

    可能你也像我当时转换数据库一样,看着很简单的一个问题——Access转换成SQLite而已,但网上找了好久都没有很好解决的方案,最后从大婶那里学到这个方法,做起来非常简单,但前提是你要知道这么做!

    Android Studio如何获取SQLite数据并显示到ListView上

    其实过程很简单:首先要获取SQLite数据(当然首先你要创建一个SQLite数据库并填写了一些数据),然后引入ListView控件,最后将数据和ListView绑定就好了。 一 获取SQLite数据库中的数据 SQLite是一个轻量级的数据库...

    SQLite3 的简单封装

    SQLite3 的简单封装,实现了最基本的增删查改, 里面有简单的数据库文件 data.s3db可供测试, /* // func name: open // param----begin----param // file : 文件名,包括路径 // param-----end-----param // ...

    SQLite帮助类SQLiteHelper

    一些小型的应用程序需要使用到数据库,sqlite可以说是最好的选择。这里个人整理了一般简单通用的操作类SQLiteHelper

    c# 原创简单sqlite类库源代码

    简单的c# sqlite数据库操作类库,自己编写,附源代码,可进行扩充,进过测试。

    SQLite Micro Manager:最简单的 SQLite3 GUI 程序-开源

    SQLite Micro Manager 是一个轻量级、快速和可配置的 GUI 程序,主要用于访问、浏览和修改其他应用程序维护的 SQLite3 数据库... 目标受众是至少具有 SQL 基础知识的人,他们需要快速简单的工具来处理 SQLite3 数据库。

    UniDAC控件操作sqlite的简单例程

    一个最简单的UniDAC(3.0.10)控件操作sqlite(3.75)的例子,只是简单的使用了UniDAC控件与data...如果使用时无法链接数据库,请将sqlite3.dll拷入system32目录或者在delphi里设置path环境变量,加入需要引入dll的路径。

    C#简单访问SQLite数据库的方法(安装,连接,查询等)

    本文实例讲述了C#简单访问SQLite...进入cmd模式,进入sqlite-3_6_6_1目录,执行sqlite3 mytest.db c. create table test (seq int,desc varchar(8)); insert into mytable1 values (1,'item'); 资料建立完成 2.下载

    SQLite Expert 非常好用的SQLite管理软件(含注册)

    你发展sqlite3的数据库,并需要一个简单而强大的的工具? SQLite的专家是最完美的选择。它是功能最丰富的管理和对SQLite的开发工具。 SQLite的专家的目的是回答所有用户的需求,编写简单的SQL查询,以开发复杂的...

Global site tag (gtag.js) - Google Analytics