1. Python连接MySQL的connector有很多,我们选择MySQLdb
2. 让python支持MySQLdb模块
#pip2.7 install MySQL-python
3. 查看python2.7可使用的模块是否存在MySQLdb
# ipython
WARNING: IPython History requires SQLite, your history will not be saved
Python 2.7.11 (default, Mar 10 2016, 09:45:30)
Type "copyright", "credits" or "license" for more information.
IPython 4.1.2 -- An enhanced Interactive Python.
? -> Introduction and overview of IPython's features.
%quickref -> Quick reference.
help -> Python's own help system.
object? -> Details about 'object', use 'object??' for extra details.
In [1]: help('modules')
Please wait a moment while I gather a list of all available modules...
MySQLdb calendar marshal
4. 简单封装的模块,测试没问题
script-name:mysql-conn.py
#!/usr/bin/python27
#-*-coding:utf-8-*-
#导入MySQL驱动原生模块
import MySQLdb
class mysqldb():
#构造器设定初始值
def __init__(self,host='192.168.17.1',port=4306,user='root',passwd='zcy'):
self.host = host
self.port = port
self.user = user
self.passwd = passwd
#实例一开始就具备了连接和游标属性
self.conn1 = MySQLdb.connect(host=self.host,port=self.port,user=self.user,passwd=self.passwd)
self.cur1 = self.conn1.cursor()
#定义mysql中的Select查询语句
def find(self,field,db,table):
"""
field -> query field
db -> query database
table -> query table
"""
self.field = field
self.db = db
self.table = table
self.cur1.execute('select ' + self.field + ' from ' + self.db + '.' + self.table)
return self.cur1.fetchall()
#建库
def createdb(self,db):
self.cur1.execute('create database if not exists ' + db)
#建表
def createtable(self,db,table):
self.conn1.select_db(db)
self.cur1.execute(
'''
create table ''' + table + ''' (
id int(5) not null primary key auto_increment,
name char(10) not null,
phone varchar(12) not null,
class char(20)
);
''')
#插入数据
def insert(self,db,table,*l):
self.cur1.execute('insert into '+ db + '.' + table + ' values(null,%s,%s,%s)' , *l)
self.conn1.commit()