Linux下python玩转MySQLdb

(0)目录

VMware 下安装Ubuntu的吐血经历

零基础学习Shell编程

Linux下的makefile的妙用

Linux调试神器 -- gdb

十分钟学会Python的基本类型

分布式版本管理神器--GIT

GIT文件的三种状态 & Git SSH秘钥问题

十分钟学习Python的进阶语法

配置SSH无密码访问及Linux热键、重启、kill进程

Java的不定长参数和Python的不定长参数对比

Linux下python玩转MySQLdb

一:起因

(1)Linux下安装python的第三方模块 ---- MySQLdb,自己走了很多弯路,在此做一下总结,希望对于像我一样的初学者有所帮助

(2)Python中mysql数据库连接的例子,请见Linux公社 或者 我的个人github源代码

(3)MySQL-python 1.2.5的下载地址,同样也是pipe python的资源网站

二:MySQLdb在Linux环境中的安装

(1)Linux 下的安装mysql数据库,除了下载安装包进行安装外,一般的linux 仓库中都会有mysql ,安装命令:

Ubuntu\zyp
>>sudo apt-get install mysql-server 
>>Sudo apt-get install  mysql-client

>>mysql -u root -p 即可检验mysql服务和客户端是否安装和开启

(2)MySQL-python驱动模块安装

下载地址:https://pypi.python.org/pypi/MySQL-python/

下载MySQL-python-1.2.5.zip 文件之后直接解压。进入MySQL-python-1.2.5目录:

>>python setup.py install  ----- 报错误 

(3-1)Python安装模块出错(ImportError: No module named setuptools)解决方法

安装请看 http://blog.csdn.net/ab198604/article/details/8681851 或者 更加科学的方法

(3-2)提示报错信息:mysql_config not found

这个是因为缺少libmysqld_dev, libmysqlclient_dev 两个开发包引起的

下载缺少的开发包,运行两个命令:(如果未找到包,请详细查看更改163源)

 sudo apt-get insatll libmysqld-dev
 sudo apt-get install libmysqlclient-dev

(4)修改源代码目录下的setup_posix.py文件,将mysql_config.path 修改为mysql_config.path="/usr/bin/mysql_config"

再次在源代码目录中运行python setup.py build

系统再次提示报错信息: error: command 'gcc' failed with exit status 1

需安装两个资源文件 : 

sudo apt-get install build-essential
 sudo apt-get install python-dev
(5)再次会到源文件目录执行

sudo python setup.py build
sudo python setup.py install

至此,mysql的模块安装完成!

(6)检查MySQLdb 模块是否可以正常导入

>>> import MySQLdb

(7)示例

import MySQLdb
# establish connection with mysql
conn = MySQLdb.connect(host='localhost',user='root',passwd='root')
# get the cursor of operator
cur = conn.cursor()
# execute sql and create database name/ drop database name
cur.execute("""create database if not exists python""")
# select database use database
conn.select_db('python')
# execute and create table
cur.execute("""create table test(id int,ifo varchar(100))""")

value = [1,"inserted?"]
# insert one record
cur.execute("insert into test values(%s,%s)",value)

values=[]
for i in range(20):
	values.append((i,'Hello mysqldb,I am record' + str(i)))
# insert multi records
cur.executemany("""insert into test values(%s,%s)""",values)
# close cursor
cur.close()

print "create successfully!"

三:linux操作数据库命令

(1)创建数据库

命令:create database <数据库名>

(2)创建数据库并分配用户

GRANT SELECT,INSERT,UPDATE,DELETE,CREATE,DROP,ALTER ON 
数据库名.* TO 数据库名@localhost IDENTIFIED BY '密码';

(3)基本操作小结

# common command --- the same to cmd consel ---- mysql -u root -p --
# mysql -- show databases; -- create database name -- use dbname --
# drop database name -- create table name (id int, name varchar(100)) --
# select * from tbname (where) / delete from tbname where -- desc tbname
# insert into tbname values(1,'zyp') / update tbname set id=99 where id=9

您的回应...

相关话题

查看全部

也许你感兴趣

换一批

热门标签

更多