小型数据库引擎SQLite学习

1.SQLite简介

SQLite是一个进程内的库,实现了自给自足的、无服务器的、零配置的、事务性的 SQL 数据库引擎。它是一个零配置的数据库,不需要在系统中配置。SQLite的特点有:

  • 不需要一个单独的服务器进程或操作的系统(无服务器的)
  • SQLite 不需要配置,这意味着不需要安装或管理
  • 一个完整的 SQLite 数据库是存储在一个单一的跨平台的磁盘文件
  • SQLite 是非常小的,是轻量级的,完全配置时小于 400KiB,省略可选功能配置时小于250KiB
  • SQLite 是自给自足的,这意味着不需要任何外部的依赖
  • SQLite 事务是完全兼容 ACID 的,允许从多个进程或线程安全访问
  • SQLite 支持 SQL92(SQL2)标准的大多数查询语言的功能
  • SQLite 使用 ANSI-C 编写的,并提供了简单和易于使用的 API
  • SQLite 可在 UNIX(Linux, Mac OS-X, Android, iOS)和 Windows(Win32, WinCE, WinRT)中运行。
备注:SQLite安装好了之后,我们不需要配置,所有用户数据库都在一个*.db文件中。

2.SQLite的安装
(1)linux平台
目前,几乎所有版本的 Linux 操作系统都附带 SQLite。所以,只要使用下面的命令来检查您的机器上是否已经安装了 SQLite。
$sqlite3
SQLite version 3.7.15.2 2013-01-09 11:53:05
Enter ".help" for instructions
Enter SQL statements terminated with a ";"
sqlite>
如果没有看到上面的结果,那么就意味着没有在 Linux 机器上安装 SQLite。那我们需要访问 SQLite官网,从源代码区下载 sqlite-autoconf-*.tar.gz,然后进行源码安装。
(2)windows平台
在SQLite官网下载页面,从 Windows 区下载预编译的二进制文件,例如sqlite-shell-win32-*.zip 和 sqlite-dll-win32-*.zip 压缩文件。创建文件夹 C:\sqlite,并在此文件夹下解压上面两个压缩文件,将得到 sqlite3.def、sqlite3.dll 和 sqlite3.exe 文件。添加 C:\sqlite 到 PATH 环境变量,最后在命令提示符下,使用 sqlite3 命令,将显示如下结果:
C:\>sqlite3
SQLite version 3.7.15.2 2013-01-09 11:53:05
Enter ".help" for instructions
Enter SQL statements terminated with a ";"
sqlite>

3.SQLite的使用
(1)创建数据库
$sqlite3 testDB.db  #创建一个名称为testDB.db的数据库,且会在当前目录下生成一个testDB.db磁盘文件
(2)创建表
sqlite> CREATE TABLE COMPANY(
   ID INT PRIMARY KEY     NOT NULL,
   NAME           TEXT    NOT NULL,
   AGE            INT     NOT NULL,
   ADDRESS        CHAR(50),
   SALARY         REAL
);
备注:上例中创建一个名称为COMPANY的数据库表。
(3)插入记录
INSERT INTO COMPANY (ID,NAME,AGE,ADDRESS,SALARY)
VALUES (1, 'Paul', 32, 'California', 20000.00 );
备注:上例中向COMPANY表中插入了一条记录
(4)查找记录
SELECT * FROM COMPANY; #查询表COMPANY中的所有记录

4.SQLLite在python中的使用
从python 2.5开始,操作SQLite数据的python包PySQLite已经被内置到Python标准库中,所以在python中使用SQLite不需要安装任何的第三方包,只需要import sqlite3就行了。范例如下:
#coding: gbk
'''
Created on 2016-4-27

@author: balala
'''
import sqlite3
#创建数据库连接,如果数据库不存在,则新建一个数据库
conn = sqlite3.connect('testdb.db')
#获取游标
curs = conn.cursor()
#创建表
curs.execute('''
CREATE TABLE COMPANY(
   ID INT PRIMARY KEY     NOT NULL,
   NAME           TEXT    NOT NULL,
   AGE            INT     NOT NULL,
   ADDRESS        CHAR(50),
   SALARY         REAL
)
''')
#向数据库表中插入记录
curs.execute('''
INSERT INTO COMPANY (ID,NAME,AGE,ADDRESS,SALARY)
VALUES (1, 'Paul', 32, 'California', 20000.00 )
''')
#查询数据库表
curs.execute('''
SELECT * FROM COMPANY
''')
#处理查询接口
for row in curs.fetchall():
    print row
#数据库提交
conn.commit()
#数据库连接关闭
conn.close()

sqlite学习资料:
http://www.runoob.com/sqlite/sqlite-tutorial.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值