- 博客链接 https://uublog.com/article/20170220/python-mysql-rw/
采集到的数据,总归是要保存起来,保存到文件,或者数据库,方便以后取用。
思前想后,还是决定采用MySQL数据库,新版本叫MariaDB了,不过都是通用的。
安装MySQL-python
模块
sudo easy_install MySQL-python
Issue:安装MySQL-Python出错mysql_config not found
插入数据
我这里MySQL位于我虚拟机172.25.254.18
,数据库名yzy_data
,用户名yzy_data
,密码pass
我新建了一个表用于保存标题
、用户ID
、网盘URL
表结构如下
CREATE TABLE `test` (
`id` int(11) NOT NULL,
`title` varchar(255) NOT NULL,
`uid` varchar(30) NOT NULL,
`purl` varchar(255) NOT NULL
) ENGINE=MyISAM DEFAULT CHARSET=utf8mb4;
ALTER TABLE `test`
ADD PRIMARY KEY (`id`);
ALTER TABLE `test`
MODIFY `id` int(11) NOT NULL AUTO_INCREMENT;
新增了一个ID的字段,方便索引数据,这个字段我设置是自增的,所以平时插入数据留空即可。
插入一条数据,标题:测试插入、用户ID:123321、网盘URL:http://pan.baidu.com/xxx
代码如下
# 导入mysql库
import MySQLdb
#连接数据库 指定编码utf8
conn = MySQLdb.connect(host="172.25.254.18",user="yzy_data",passwd="pass",db="yzy_data",charset="utf8")
cursor = conn.cursor()
# 执行插入数据
sql = "insert into `test`(title,uid,purl) values(%s,%s,%s)"
param = ("测试插入","123321","http://pan.baidu.com/xxx")
n = cursor.execute(sql,param)
print "insert",n
cursor.close()
我这里是用的是MyISAM表引擎,所以并不需要插入后cursor.commit()
来提交才能插入数据。像Innodb这类支持事务的表都需要。