专栏名称: 爬虫俱乐部
Stata技术控,编程技术咨询,数据讨论与分享,编程和实证培训。
目录
相关文章推荐
Python大全  ·  用Python实现智能乒乓球游戏! ·  8 小时前  
Python大全  ·  用Python实现智能乒乓球游戏! ·  8 小时前  
创伙伴  ·  创伙伴知识星球内容最新更新... ·  2 天前  
51好读  ›  专栏  ›  爬虫俱乐部

Python与MySQL的交互

爬虫俱乐部  · 公众号  ·  · 2018-08-01 09:22

正文

请到「今天看啥」查看全文



经过以上操作之后,我们打开MySQL就会发现成功创建了spiders数据库。

创建新表

比方说我们要创建一个叫 “sample” 的数据表,里面有三个变量:id,name,age。


db = pymysql.connect(host='localhost', user='root', password='123456', port=3306, db='spiders')
cursor = db.cursor()
sql = 'CREATE TABLE IF NOT EXISTS sample (id VARCHAR(255) NOT NULL, name VARCHAR(255) NOT NULL, age INT NOT NULL, PRIMARY KEY (id))'
cursor.execute(sql) db.close()


值得注意的是,创建新表的时候必须指定数据库,所以在连接的时候必须再额外指定一个参数 db='spiders' 。打开MySQL,我们发现sample表确实被成功创建了:

插入一条数据

假设我们现在有这样一条数据 data ,需要将它保存到sample这个表中


data=['0001','Amy',24]
sql = 'replace into sample(id,name,age) values(%s,%s,%s) '
cursor.execute(sql,data) db.commit() db.close()


注意:%s表示的是占位符,包含字符串、数字或者其他类型,%s不能加引号。 sql = 'replace into sample(id,name,age) values(%s,%s,%s)' 所起到的作用等价于 sql= "replace into sample(id,name,age) values('0001','Amy',24)"

另外,插入、更新和删除操作都是对数据库进行更改的操作,而更改操作都必须为一个事务,所以这些操作的标准写法就是:


try:
    cursor.execute(sql)
    db.commit()
except:    db.rollback()  #如果执行失败,就执行数据回滚


因此,最后我们修改程序为:


data=['0001','Amy',24]
sql = 'insert into sample(id,name,age) values(%s,%s,%s) '
try:    cursor.execute(sql,data)    db.commit()    print('成功'






请到「今天看啥」查看全文