Python数据库

Python数据库

目录

[TOC]

简介

SQLite3是一个轻量级的SQL数据库引擎,由C语言编写,专注于为APP或设备提供本地数据储存服务。

Python内置了sqlite3库,提供了符合 DB-API 2.0 规范的接口,这个规范是 PEP 249

SQLite emphasizes economy, efficiency, reliability, independence, and simplicity.

SQLite does not compete with client/server databases. SQLite competes with fopen().

==When to use SQLite?==

Appropriate Uses For SQLite

适用于SQLite的用途

数据库相关知识留待补充。

使用

SQL语句相关留待补充。

示例

1
2
3
4
5
6
7
8
9
10
11
import sqlite3

conn = sqlite3.connect("test.db")

c = conn.cursor()

sql = "create table login (id varchar(20) primary key, name varchar(30), password varchar(30))"
c.execute(sql)

conn.commit()
conn.close()
  • 要操作SQLite数据库,首先需要连接到数据库(文件),一个连接称为一个connection
  • 连接到数据库后,需要打开游标(光标,意指输入/操作的焦点)Cursor,通过Cursor执行SQL语句;
  • 获得结果;
  • 对更改进行提交;
  • 关闭数据库连接。

范式

  1. ```sqlite conn = sqlite3.connect("test.db")

    1
    2
    3
    4
    5
    6
    7
    8
    9

    建立一个数据库连接,**如果路径中的文件不存在,则创建一个。**

    也可以使用 `:memory:` 来创建一个**内存中的数据库**



    2. ```sqlite
    c = conn.cursor()

    为一个数据库连接创建一个游标对象,从而能够对数据库进行操作。

  2. ```sqlite sql = "create table login (id varchar(20) primary key, name varchar(30), password varchar(30))" c.execute(sql)

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11

    使用`cursor`的`execute()`函数执行相应的SQL语句。

    > 通常 SQL 操作需要使用一些 Python 变量的值。**不应该使用 Python 的字符串操作来创建==查询语句==**,因为那样做不安全;它会使你的程序容易受到 **SQL 注入攻击**。



    4. ```sqlite
    c.close()
    conn.commit()
    conn.close()

    关闭游标、提交修改、关闭连接