SQLite数据库入门教程

SQLite 是一个开源的嵌入式关系数据库,实现自包容、零配置、支持事务的SQL数据库引擎。 其特点是高度便携、使用方便、结构紧凑、高效、可靠。 与其他数据库管理系统不同,SQLite 的安装和运行非常简单,在大多数情

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

1. 安装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 的编译版本号

  3. 将 zip 文件解压到你的磁盘,并将解压后的目录添加到系统的 PATH 变量中,以方便在命令行中执行 sqlite 命令。
  4. 可选: 如果你计划发布基于 sqlite 数据库的应用程序,你还需要下载源码以便编译和利用其 API
    • sqlite-amalgamation-<build#>.zip

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

/* For Debian or Ubuntu /*
$ sudo apt-get install sqlite3 sqlite3-dev

/* For RedHat, CentOS, or Fedora/*
$ yum install SQLite3 sqlite3-dev

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

2. 创建首个 SQLite 数据库

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

sqlite3 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 test;
1|Micheal
2|Jenny
3|Francis
4|Kerk

设置格式化查询结果:

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);

3. 一些有用的 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

英文原文:http://www.askyb.com/sqlite/learn-sqlite-in-1-hour/

最新文章

  1. Bootstrap相关总结
  2. mysql case when then end学习
  3. 写启动界面Splash的正确姿势,解决启动白屏(转)
  4. Careercup 论坛上较有意思的题目整理
  5. 第22章 DLL注入和API拦截(3)
  6. python logging 模块
  7. C++ VARIANT 学习小记录
  8. 团体程序设计天梯赛-练习集L1-017. 到底有多二
  9. 远程重启IIS服务
  10. [App]华为P6设置与Xamarin Studio连通测试
  11. SQL触发器学习
  12. 不是技术牛人,如何拿到国内IT巨头的Offer
  13. 切换用户后,/etc/profile的配置不起效
  14. liunx 利用nginx 实现负载均衡
  15. 关于在ViewPager的子页面中不能跳转的问题
  16. DAY 04运算符与流程控制
  17. PAT A1110 Complete Binary Tree (25 分)——完全二叉树,字符串转数字
  18. BZOJ4946 NOI2017蔬菜(贪心+堆)
  19. 3.配置Spring+SpringMvc+Mybatis(分库or读写分离)--Intellij IDAE 2016.3.5
  20. 基本上每个应用程序领域的程序员都有使用 C++

热门文章

  1. react-native 简单的导航
  2. 一个js简单的日历显示效果的函数
  3. P和NP问题
  4. table表头标题th浮动提示-MyTable.js
  5. [转载] 动态链接库dll的 静态加载 与 动态加载
  6. PCA人脸识别
  7. CentOS7安装和配置FTP
  8. Tag Helpers 介绍
  9. Ecstore关于finder的默认的参数row的数据不见了的一些小问题?
  10. 大数据系列修炼-Scala课程11
  11. CentOS7 + Nginx1.13.5 + PHP7.1.10 + MySQL5.7.19 源码编译安装
  12. python 类的特殊成员方法
  13. DJango内建模板转向jinja2的小脚本
  14. linux 文件传输 SCP
  15. springboot04-mongodb
  16. 更改pip安装源的镜像解决安装总是timeout的情况(pip 豆瓣镜像源)
  17. 移植 iperf 网络性能测试工具到 Android-P
  18. windows的cmd批处理命令及powershell (二)
  19. Individual Project 1 总结
  20. tar 打包当前目录下文件但不包括该录