Python连接数据库、向数据库添加数据、爬虫数据存储在数据库

python与数据库

1.连接数据库

首先我们需要在Navicat Premium里面创建数据库;然后在数据库里面创建一个表。

按照如下截图步骤即可。

Python连接数据库、向数据库添加数据、爬虫数据存储在数据库_第1张图片
Python连接数据库、向数据库添加数据、爬虫数据存储在数据库_第2张图片
Python连接数据库、向数据库添加数据、爬虫数据存储在数据库_第3张图片
Python连接数据库、向数据库添加数据、爬虫数据存储在数据库_第4张图片
Python连接数据库、向数据库添加数据、爬虫数据存储在数据库_第5张图片

我们以查看mysql版本为例:

cursor()–>>>创建一个游标对象
execute()–>>>执行SQL语句的命令
fetchone()–>>>取出一个结果
切记:最后关闭连接

1.打开数据库连接:5个参数;
2.创建游标对象;
3.执行SQL语句;
4.取出结果;
5.关闭连接。
import pymysql
#打开数据库连接
db = pymysql.connect(
        host = 'localhost',
        user = 'root',
        password = '111111',
        database = 'test',
        port = 3306
        )
#使用cursor()创建一个游标对象
cursor = db.cursor()
#使用execute()执行SQL语句的命令
cursor.execute('SELECT VERSION()')
#使用fetchone()取出一个结果
data = cursor.fetchone()
#打印数据库版本
print('数据库版本为:{}'.format(data))
#关闭连接
cursor.close()

在这里插入图片描述

2.向数据库添加数据

在连接上数据库的基础上,我们通过写sql语句来进行数据的添加;
下面介绍两种sql语句的写法。

(1)

sql = """
insert into scores( 
id,name,points)
values(1,'张三',95)
"""

(2)

sql = """
insert into scores(
id,name,points)
values(null,%s,%s)
"""
name = '王五'
points = 68
import pymysql
#打开数据库连接
db = pymysql.connect(
        host = 'localhost',
        user = 'root',
        password = '111111',
        database = 'test',
        port = 3306
        )

#使用cursor()创建一个游标对象
cursor = db.cursor()
sql = """
insert into scores(
id,name,points
)
values(null,%s,%s)
"""
name = '王五'
points = 68
#执行SQL语句
cursor.execute(sql,(name,points)) #以元组的形式传入
#提交sql语句
db.commit()
#关闭连接
cursor.close()

Python连接数据库、向数据库添加数据、爬虫数据存储在数据库_第6张图片

3.爬虫数据存储在数据库

通用代码
1.创建连接
2.创建cursor
3.写出SQL语句
4.执行SQL语句
5.提交
6.关闭

%s为占位符;
写出sql语句时,因为我们的列名太多,所以采用第二种方式;
#创建连接
db = pymysql.connect(
host = 'localhost',
user = 'root',
password = '111111',
database = 'test',
port = 3306
)
创建cursor
cursor = db.cursor()
#写出SQL语句
sql = """
insert into movies(id,year,area,types,lg,score,rank,duration,actors,profiles)
values(null,%s,%s,%s,%s,%s,%s,%s,%s,%s)
"""
#执行SQL语句
cursor.execute(sql,(year,area,types,lg,score,rank,duration,actors,profiles))
#提交
db.commit()
#关闭
cursor.close()

你可能感兴趣的:(python与数据库,数据库,python,爬虫)