[Python]使用MYSQL
MYSQLdb是Python中用来操作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 ‘gcc’failed 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()
游标和连接都要关闭
导出数据
在本地机上写好的数据库,要放到server端,使用导入和导出,实现这个功能。
首先,本地机上导出数据库为.sql格式:
能够用mysql workbench 图形化界面,也能够使用命令行。
mysqldump -uroot -p(password) -h127.0.0.1 database1 > mydb.sql
得到mydb.sql的导出文件
使用FTP把sql文件传到server
再在server上导入sql文件:
mysql -uroot -p(password) -h127.0.0.1;
mysql > create database mydb#创建新数据库
mysql > source mydb.sql#导入sql文件
相关文章
- python 解析命令行选项
- Python脚本扫描给定网段的MAC地址表(scapy或 python-nmap)
- Python脚本写端口扫描器(socket,python-nmap)
- mysql binlog 参数_MySQL Binlog常用参数
- python - 如何使用 Docker 运行多个 Python 脚本和一个可执行文件?
- 【MySQL高级】Mysql复制及Mysql权限管理
- Python *args 和 **kwargs用法
- Python初学者如何系统的学习python————Python入门学习指南--内附学习路径
- Python: tree 树 Heap Sort
- Python中python-nmap模块的使用
- 【mysql】MySQL的sql_mode模式说明及设置
- Python 相对路径和绝对路径--python实战(九)
- Mysql的安全配置向导命令mysql_secure_installation
- 基于Python+MySQL实现(Web)简易论坛【100010283】
- Python 实现被动收入教程之我如何使用 python 制作我的第一个高级telegram机器人
- 使用navicat连接mysql连接错误:Lost connection to Mysql server at 'waiting for initial communication packet'
- 转 【MySQL】常用拼接语句 shell 下执行mysql 命令
- Jenkins持续集成实战之Jenkins构建Python项目提示:'python' 不是内部或外部命令,也不是可运行的程序。
- python操作mysql数据库系列-操作MySql数据库(一)
- 基于Python的租房数据分析和房屋租赁爬虫 | 项目案例 | 大学生计算机专业毕业 | 毕业设计
- python之unittest单元测试
- [Spark][Python]Spark 访问 mysql , 生成 dataframe 的例子:
- Python 基础 之 python 进程知识点整理,实现一个简单使用进程池的多进程文件夹文件copy器
- Eclipse中使用MySql遇到:Loading class `com.mysql.jdbc.Driver'. This is deprecated. The new driver class is `com.mysql.cj.jdbc.Driver'. The driver is automatically registered via the SPI and manual loading o
- python封装一个工具类 ,对MySQL数据库增删改查,可多字段动态插入mysql数据库中