Python入库操作分这十步讲解!

  • 2020 年 2 月 21 日
  • 筆記

今日分享

例子:Flask之数据入库操作

数据持久化就是将数据写入到数据库存储的过程。

本例子使用sqlite3数据库。

1)导入sqlite3,未安装前使用命令pip install sqlite3

创建一个py文件:sqlite3_started.py,并写下第一行代码:

import sqlite3  

2)手动创建一个数据库实例db, 命名test.db

3)创建与数据库实例test.db的连接:

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

4)拿到连接conn的cursor

c = conn.cursor()  

5)创建第一张表books

共有四个字段:id,sort,name,price,类型分别为:int,int,text,real. 其中idprimary key. 主键的取值必须是唯一的(unique),否则会报错。

c.execute('''CREATE TABLE books        (id int primary key,         sort int,         name text,         price real)''')  

第一次执行上面语句,表books创建完成。当再次执行时,就会报重复建表的错误。需要优化脚本,检查表是否存在IF NOT EXISTS books,不存在再创建:

c.execute('''CREATE TABLE IF NOT EXISTS books        (id int primary key,         sort int,         name text,         price real)''')  

6)插入一行记录

共为4个字段赋值

c.execute('''INSERT INTO books VALUES         (1,         1,         'computer science',         39.0)''')  

7)一次插入多行记录

先创建一个list:books,使用executemany一次插入多行。

books = [(2, 2, 'Cook book', 68),           (3, 2, 'Python intro', 89),           (4, 3, 'machine learning', 59),           ]      c.executemany('INSERT INTO books VALUES (?, ?, ?, ?)', books)  

8)提交

提交后才会真正生效,写入到数据库

conn.commit()  

9)关闭期初建立的连接conn

务必记住手动关闭,否则会出现内存泄漏

conn.close()  print('Done')  

10)查看结果 例子君使用vs code,在扩展库中选择:SQLite安装。

新建一个sq文件:a.sql,内容如下:

SELECT * from books  

右键run query,得到表books插入的4行记录可视化图:

以上十步就是sqlite3写入数据库的主要步骤,作为Flask系列的第二篇,为后面的前端讲解打下基础。