一、数据库的使用笔记

 数据库的使用流程:

 

  关于Sqlite3的介绍说明:

  SQLite是一种嵌入式数据库,它的数据库就是一个文件。由于SQLite本身是C写的,而且体积很小,所以,经常被集成到各种应用程序中,iOS和Android的App中都可以集成。 Python就内置了SQLite3,所以,在Python中使用SQLite,不需要安装任何东西,直接使用。 在使用SQLite前,我们先要搞清楚几个概念: 表是数据库中存放关系数据的集合,一个数据库里面通常都包含多个表,比如学生的表,班级的表,学校的表,等等。表和表之间通过外键关联。 要操作关系数据库,首先需要连接到数据库,一个数据库连接称为Connection; 连接到数据库后,需要打开游标,称之为Cursor,通过Cursor执行SQL语句,然后,获得执行结果。 Python定义了一套操作数据库的API接口,任何数据库要连接到Python,只需要提供符合Python标准的数据库驱动即可。

 

  常用命令有:

sqlite3.connect() 打开一个到 SQLite 数据库文件 database 的链接。
connection.cursor() 创建一个 cursor
cursor.execute() sqlite3模块支持两种类型的占位符:问号和命名占位符(命名样式)
connection.commit() 提交当前的事务。
connection.close()

关闭数据库连接。

  

 

 

 

  然后是建立一个简单的数据库

    代码如下

    

 1 def SQLite_Test():
 2     # =========== 连接数据库 ============
 3     # 1. 连接本地数据库
 4     connectA = sqlite3.connect("example.db")
 5     # 2. 连接内存数据库,在内存中创建临时数据库
 6     connectB = sqlite3.connect(":memory:")
 7 
 8     # =========== 创建游标对象 ============
 9     cursorA = connectA.cursor()
10     cursorB = connectB.cursor()
11 
12     # =========== 创建表 ============
13     cursorA.execute("CREATE TABLE class(id real, name text, age real, sex text)")
14     cursorB.execute("CREATE TABLE family(relation text, job text, age real)")
15 
16     # =========== 插入数据 ============
17     cursorA.execute("INSERT INTO class VALUES(1,\'Jock\',8,\'M\')")
18     cursorA.execute("INSERT INTO class VALUES(2,\'Mike\',10,\'M\')")
19     # 使用 ? 占位符
20     cursorA.execute("INSERT INTO class VALUES(?,?,?,?)", (3,\'Sarah\',9,\'F\'))
21 
22     families = [
23         [\'Dad\', \'CEO\', 35],
24         [\'Mom\', \'singer\', 33],
25         [\'Brother\', \'student\', 8]
26     ]
27     cursorB.executemany("INSERT INTO family VALUES(?,?,?)",families)
28 
29     # =========== 查找数据 ============
30     # 使用 命名变量 占位符
31     cursorA.execute("SELECT * FROM class WHERE sex=:SEX", {"SEX":\'M\'})
32     print("TABLE class: >>>select Male\n", cursorA.fetchone())
33     cursorA.close()
34     
35     cursorB.execute("SELECT * FROM family ORDER BY relation")
36     print("TABLE family:\n", cursorB.fetchall())
37     cursorB.close()
38 
39     # =========== 断开连接 ============
40     connectA.close()
41     connectB.close()
42 import sqlite3
43 SQLite_Test()

  效果如图:

 

爬取信息并存为csv文件

 

 

版权声明:本文为loverboy88原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://www.cnblogs.com/loverboy88/p/10947337.html