python从零写一个采集器:入库MySQL

思前想后,还是决定采用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这类支持事务的表都需要。

参考资料

猜你喜欢

转载自blog.csdn.net/MichaelJScofield/article/details/72236232