python SQLite数据库

  • 简介

      SQLite 是一种轻型嵌入式关系型数据库,它包含在一个相对小的 C 库中。SQLite 占用资源低,处理速度快,它支持 Windows、Linux、Unix 等多种主流操作系统,支持 Python、Java、C# 等多种语言,目前的版本已经发展到了 SQLite3

     SQLite 是一个进程内的库,它实现了自给自足、无服务器、无需配置、支持事务。Python 可以通过 sqlite3 模块与 SQLite3 集成,Python 2.5.x 以上版本内置了 sqlite3 模块,因此,我们在 Python 中可以直接使用 SQLite

 

# 导入SQLite驱动:
>>> import sqlite3
# 连接到SQLite数据库
# 数据库文件是test.db
# 如果文件不存在,会自动在当前目录创建:
>>> conn = sqlite3.connect('test.db')
# 创建一个Cursor:
>>> cursor = conn.cursor()
# 执行一条SQL语句,创建user表:
>>> cursor.execute('create table user (id varchar(20) primary key, name varchar(20))')
<sqlite3.Cursor object at 0x10f8aa260>
# 继续执行一条SQL语句,插入一条记录:
>>> cursor.execute('insert into user (id, name) values (\'1\', \'Michael\')')
<sqlite3.Cursor object at 0x10f8aa260>
# 通过rowcount获得插入的行数:
>>> cursor.rowcount
1
# 关闭Cursor:
>>> cursor.close()
# 提交事务:
>>> conn.commit()
# 关闭Connection:
>>> conn.close()
>>> conn = sqlite3.connect('test.db')
>>> cursor = conn.cursor()
# 执行查询语句:
>>> cursor.execute('select * from user where id=?', ('1',))
<sqlite3.Cursor object at 0x10f8aa340>
# 获得查询结果集:
>>> values = cursor.fetchall()
>>> values
[(u'1', u'Michael')]
>>> cursor.close()
>>> conn.close()
  • SQLite 数据类型

    在介绍使用之前,我们先了解下 SQLite 数据类型。

  • SQLite 采用动态数据类型,也就是说数据的类型取决于数据本身。

  • 存储类型

    存储类型就是数据保存成文件后的表现形式,存储类型有 5 种,如下所示

  • 类型描述
    NULL空值
    INTEGER有符号的整数类型
    REAL浮点数类型
    TEXT字符串,使用数据库编码(UTF-8、UTF-16BE 或 UTF-16LE)存储
    BLOB二进制表示
  • 亲和类型

    亲和类型简单来说就是数据表列的数据对应存储类型的倾向性,当数据插入时,字段的数据将会优先采用亲缘类型作为值的存储方式,同样有 5 种,如下所示:

  • 类型描述
    NONE不做任何转换,直接以该数据所属的数据类型进行存储
    NUMERIC该列可以包含使用所有五个存储类型的值
    INTEGER类似于 NUMERIC,区别是在执行 CAST 表达式时
    TEXT该列使用存储类型 NULL、TEXT 或 BLOB 存储数据
    REAL类似于 NUMERIC,区别是它会强制把整数值转换为浮点类型
  • 声明类型

    声明类型也就是我们写 SQL 时字段定义的类型,我们看一下常用的声明类型与亲和类型的对应关系。

  • 声明类型亲和类型
    INT/INTEGER/TINYINT/BIGINTINTEGER
    VARCHAR/TEXT/CLOBTEXT
    BLOBNONE
    DOUBLE/FLOATREAL
    DECIMAL/BOOLEAN/DATE/DATETIMENUMERIC
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值