欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  数据库

[Python]使用MYSQL

程序员文章站 2022-05-30 13:00:25
...

MYSQLdb 是 Python 中用来操作 MYSQL 数据库的包 地址: http://sourceforge.net/projects/mysql-python/ MYSQLdb 安装 windows 下是一键安装的 EXE 版本。 Linux 下需手动安装,安装过程碰到一些问题,这里简单叙述下 Linux 下的安装 . wgethttp://XXX# 下

MYSQLdbPython中用来操作MYSQL数据库的包

地址:http://sourceforge.net/projects/mysql-python/

MYSQLdb安装

windows下是一键安装的EXE版本。Linux下需手动安装,安装过程碰到一些问题,这里简单叙述下Linux下的安装.

wget http://XXX#下载

tar zvxf XXX.tar.gz#解压

cd XXX/#进入文件夹

Python setup.py build#报错

错误为:can not find mysql_config

要配置mysql的参数。

find / -name mysql_config#从根目录开始寻找mysql_config文件

找到,则编辑之前文件site.py:

mysql_config = /usr/bin/XXX

找不到,要下载这两个包:libmysqld-dev,libmysqlclient-dev

sudo apt-get install ibmysqld-dev

sudo apt-get install libmysqlclient-dev

再修改site.py:

mysql_config.path="/usr/bin/mysql_config"

继续运行:

Python setup.py build#报错

错误为:command gccfailed with exit status 1

继续安装这两个包:build-essential,python-dev

sudo apt-get install build-essential

sudo apt-get install python-dev


继续运行:

Python setup.py build

python setup.py install

(参考blog : http://blog.163.com/rettar@126/blog/static/1216503422012626105639255/


MYSQLdb 使用

MYSQLdb的文档少的可怜,sourceforge上只有一个英文的简介,好多功能都自己试出来的。

英文文档:http://sourceforge.net/p/mysql-python/mysqldb-2/ci/default/tree/doc/MySQLdb.txt#l61

简单操作:

导入包

import MYSQLdb


建立连接

conn = MySQLdb.connect(host='192.168.1.108', user='mdx', passwd='med', db='mydb', port=3306, charset="utf8")


建立游标对象

cursor = conn.cursor()


执行

sql = ‘select %^*$^&^’

cursor.execute(sql)


获取返回信息

results = cursor.fetchall()

#这里的results是列表,数据库中一行信息为列表中的一个元组。


参数形式输入

sql = ‘insert into table1 (id, name) values(%s%s)’

param = (10, ‘huang’)

cursor.execute(sql, param)

*注意,无论何种参数,占位符均为%s,param可以使元组,或者数组


批量插入数据

sql = ‘insert into table1 (id, name) values(%s%s)’

param = [(10, ‘huang’), (20, 'li')...]

cursor.executemany(sql, param)

*这里param每个元素为一个元组,param自身可以使元组,或者数组


关闭连接

cursor.close()
conn.close()

游标和连接都要关闭


导出数据

在本地机上写好的数据库,要放到服务器端,使用导入和导出,实现这个功能。

首先,本地机上导出数据库为.sql格式:

可以用mysql workbench 图形化界面,也可以使用命令行。

mysqldump -uroot -p(password) -h127.0.0.1 database1 > mydb.sql

得到mydb.sql的导出文件


使用FTPsql文件传到服务器


再在服务器上导入sql文件:

mysql -uroot -p(password) -h127.0.0.1;

mysql > create database mydb#创建新数据库

mysql > source mydb.sql#导入sql文件