Python操作Mysql

最近在搞Python,所以今晚打算使用Python对Mysql来一发,所以走起吧。

Python连接Mysql的方式有很多种,但由于我是一个纯小白不知道其他方式,只知道有个mysqlDB模块可以实现我想要的功能,所以走起吧。
然后说下,我使用的是CentOS6.4,已安装好Python2.6.6以及Mysql5.6。

373BE339-C71D-4329-B20B-958F8C15EA4B

如上图所示,我的Python和Mysql已经安装好,但是如何实现两者的互通,就需要MySQLdb模块的支持,所以接下来的任务就是把MySQLdb安装完成。

准备工作
首先在mysql中创建一个名字叫test的数据库,并在test数据库中创建一个表,建表语句如下

CREATE TABLE `user` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `name` varchar(255) NOT NULL,
  PRIMARY KEY (`id`)
) ENGINE=MyISAM AUTO_INCREMENT=9 DEFAULT CHARSET=utf8;

安装MySQLdb
1.到此处https://pypi.python.org/pypi/MySQL-python/下载最新版本的MySQLdb,我下载的是MySQL-python-1.2.5.zip
2.下载完后,解压安装包,执行 unzip MySQL-python-1.2.5.zip,然后进入解压后的目录,打开site.cfg文件,将 mysql_config = /usr/local/mysql/bin/mysql_config这一行前面的#去掉,并将后面的路径换成你的mysql_config目录(可以执行 find / -name mysql_config 找到)。而后执行命令进行安装

python setup.py install  

此时注意啦!如果你遇到这样的错误,执行命令 yum install gcc python-devel。

error: command 'gcc' failed with exit status 1

3.OK,再次执行,安装成功即可。

python setup.py install  

建立连接篇
1.新建文件mysql.py,输入如下代码,第三行中改成你的主机名,数据库用户名密码以及要操作的数据库。

import MySQLdb
try:
    conn=MySQLdb.connect(host='localhost',user='root',passwd='123456',db='test',port=3306)      
    cur=conn.cursor()
    cur.execute('select * from user')
    cur.close()
    conn.close()
except MySQLdb.Error,e:
    print "Mysql Error %d: %s" % (e.args[0], e.args[1])

2.先来测试一下,是否连接成功,如果报错那就只能再调一调了,不过应该没有问题的。

python mysql.py

上面只是测试连接数据库成功了,但是并没有对数据表进行增删改查,接下来,继续走起。

操作数据篇
1.查询栗子

import MySQLdb
try:
    conn=MySQLdb.connect(host='localhost',user='root',passwd='123456',db='test',port=3306)
    cur=conn.cursor()

except MySQLdb.Error,e:
     print "Mysql Error %d: %s" % (e.args[0], e.args[1])
sql= "select * from user order by id desc"
cur.execute(sql)
alldata = cur.fetchall()
if alldata:
    for rec in alldata:
        print rec[0], rec[1]

cur.close()
conn.close()

保存,执行python mysql.py,就可以看到数据啪啪啪的粗现了。

2.添加栗子
在这里呢,通过加入了一个比较灵活的输入。

import MySQLdb
try:
    conn=MySQLdb.connect(host='localhost',user='root',passwd='123456',db='test',port=3306)
    cur=conn.cursor()

except MySQLdb.Error,e:
     print "Mysql Error %d: %s" % (e.args[0], e.args[1])

name = raw_input("input a new name :")
new_re_sql = "INSERT INTO user(name) VALUES('"+name+"')"
res_insert = cur.execute(new_re_sql)
if(res_insert):
    print 'Success.'
else:
    print 'Failed.'

cur.close()
conn.close()

执行python mysql.py,输入一个字符串回车即可啦~

好,到此为止啦,接下来还有更新和删除就不弄了~

Python操作Mysql
Tags:

发表评论

电子邮件地址不会被公开。 必填项已用*标注