一个小时内学习 SQLite 数据库
发布时间:2012-05-22 18:51:30
1. 介绍
SQLite 是一个开源的嵌入式关系数据库,实现自包容、零配置、支持事务的SQL数据库引擎。 其特点是高度便携、使用方便、结构紧凑、高效、可靠。 与其他数据库管理系统不同,SQLite 的安装和运行非常简单,在大多数情况下 - 只要确保SQLite的二进制文件存在即可开始创建、连接和使用数据库。如果您正在寻找一个嵌入式数据库项目或解决方案,SQLite是绝对值得考虑。
2. 安装
SQLite on Windows
进入 SQL 下载页面:http://www.sqlite.org/download.html
下载 Windows 下的预编译二进制文件包:
sqlite-shell-win32-x86-.zip
sqlite-dll-win32-x86-.zip
注意: 是 sqlite 的编译版本号
将 zip 文件解压到你的磁盘,并将解压后的目录添加到系统的 PATH 变量中,以方便在命令行中执行 sqlite 命令。
可选: 如果你计划发布基于 sqlite 数据库的应用程序,你还需要下载源码以便编译和利用其 API
sqlite-amalgamation-.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 了。
3. 创建首个 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);
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


猜你喜欢
- 注意这里提取到的人脸图片的保存地址要改成自己要保存的地址opencv人脸的检测模型的路径也要更改为自己安装的opencv的人脸检测模型的路径
- MySQL 8.0.29 详细安装(windows zip版),供大家参考,具体内容如下1 官网官网地址:MySQL2 下载下载地址:MyS
- 前言:Python 自带了很多的内置函数,极大地方便了我们的开发,下面就来挑几个内置函数,看看底层是怎么实现的。内置函数位于 Python/
- 简介在这篇文章中我将介绍如何写一个简短(200行)的 Python 脚本,来自动地将一幅图片的脸替换为另一幅图片的脸。这个过程分四步:检测脸
- 近段时间看了一些论坛上面关于分页的ASP程序依然有许多的关注者,但里面只有代码,没有详细的解释,对于初学者来说,这样总是得不到真正的掌握,此
- Python 2里面读取输入的函数是raw_input(), Python 3的是input(),读入一个值后回车读取输入就退出了,想要一次
- 为了给导航栏添加响应式特性,您要折叠的内容必须包裹在带有 classes .collapse、.navbar-collapse 的 <
- 本文记录了mysql 5.7.23安装教程,供大家参考。1、首先进入官网下载mysql安装包,官网地址可以选择自己想要的版本,默认是8.0,
- 刚刚解决了这个问题,现在记录下来问题描述当使用lambda层加入自定义的函数后,训练没有bug,载入保存模型则显示Nonetype has
- zipfilePython 中 zipfile 模块提供了对 zip 压缩文件的一系列操作。f=zipfile.ZipFile(&
- Python中的缩进(Indentation)决定了代码的作用域范围。这一点和传统的c/c++有很大的不同(传统的c/c++使用花括号{}符
- //创建组件 function createobj() { if (window.ActiveXObject) { return(new A
- 其实很简单,用len函数:>>> array = [0,1,2,3,4,5] >>> print len
- 写在之前「装饰器」作为 Python 高级语言特性中的重要部分,是修改函数的一种超级便捷的方式,适当使用能够有效提高代码的可读性和可维护性,
- 概要在前面章节我们为主页定义了一个简单的模板,部分尚未实现的模块如用户或帖子等使用模拟的对象作为临时占位。本章我们将看到如何利用
- 如今我使用 Python 已经很长时间了,但当我回顾之前写的一些代码时,有时候会感到很沮丧。例如,最早使用 Python 时,我写了一个名为
- jupyter notebookjupyter不被识别为内部或外部命令,可操作程序或批处理文件'上次 jupyter noteboo
- Python中将列表转换成为数据框有两种情况:第一种是两个不同列表转换成一个数据框,第二种是一个包含不同子列表的列表转换成为数据框。第一种:
- poplib模块接收邮件python的poplib模块是用来从pop3收取邮件的,也可以说它是处理邮件的第一步。POP3协议并不复杂,它也是
- 开启mysql的远程访问权限默认mysql的用户是没有远程访问的权限的,因此当程序跟数据库不在同一台服务器上时,我们需要开启mysql的远程