在解壓資料夾下執行 python setup.py build
可能會提示缺少setuptools, 首先安裝pypa-setuptools
繼續安裝可能提示
environmenterror: mysql_config not found
解決辦法
(1)ubuntu下
執行sudo apt-get install libmysqld-dev
(2)centos下
執行 sudo yum install python-devel
若出現:my_config.h:沒有那個檔案或目錄,就執行:sudo yum install mysql-devel
繼續編譯,如果提示缺少其他工具如gcc,就繼續補充
編譯完成後,python setup.py install 安裝成功
mysql> grant 許可權1,許可權2,…許可權n on
資料庫
名稱.表名稱 to 使用者名稱@使用者位址 identified by 『連線口令』;
許可權1,許可權2,…許可權n代表select,insert,update,delete,create,drop,index,alter,grant,references,reload,shutdown,process,file等14個許可權。
當許可權1,許可權2,…許可權n被all privileges或者all代替,表示賦予使用者全部許可權。
當資料庫名稱.表名稱被*.*代替,表示賦予使用者操作伺服器上所有資料庫所有表的許可權。
使用者位址可以是localhost,也可以是ip位址、機器名字、網域名稱。也可以用』%'表示從任何位址連線。
『連線口令』不能為空,否則建立失敗。
mysql>grant select,insert,update,delete,create,drop on vtdc.employee to [email protected] identified by 『123′;
給來自10.163.225.87的使用者joe分配可對資料庫vtdc的employee表進行select,insert,update,delete,create,drop等操作的許可權,並設定口令為123。
mysql>grant all privileges on vtdc.* to [email protected] identified by 『123′;
給來自10.163.225.87的使用者joe分配可對資料庫vtdc所有表進行所有操作的許可權,並設定口令為123。
mysql>grant all privileges on *.* to [email protected] identified by 『123′;
給來自10.163.225.87的使用者joe分配可對所有資料庫的所有表進行所有操作的許可權,並設定口令為123。
mysql>grant all privileges on *.* to joe@localhost identified by 『123′;
給本機使用者joe分配可對所有資料庫的所有表進行所有操作的許可權,並設定口令為123。
python mysqldb的操作
1.import mysqldb;
2.與mysql資料庫建立連線:con=mysqldb.connect(user='root',db='mysql',passwd='dingjia',host='localhost')
3.當沒有游標cursor物件時候,連線物件可以使用query()方法,執行sql查詢
con.query('create database test')
4.使用游標物件和execute()方法來執行sql
cur=con.cursor() 返回游標物件
cur.execute('create table users(login varchar(8),uid int)')
cur.execute('insert into users values('hzhida',1000)')
cur.execute('select *from users')
for data in cur.fetchall(): 輸出查詢結果得到的資料
print '%s\t%s' % data
cur.close() 關閉游標
con.commit() 提交事務
con.close() 關閉連線
python cookbook 的例子:
#aramis ['a', 'a', 'i', 'm', 'r', 's'] ['a', 'a', 'i', 'm', 'r', 's']-*-coding:utf-8-*-
import
mysqldb,cpickle
#連線到資料庫,並獲得圖示
connection = mysqldb.connect(user = '
root
',db='
zm',passwd = '
36039975
',host='
localhost')
cursor =connection.cursor()
#建立乙個新錶以用於試驗
cursor.execute('
create table test(name text, ablob blob)')
try:
#準備一些blob用於測試
names = '
aramis
', '
athos
','porthos
'data =
for name in
names:
datum =list(name)
datum.sort()
data[name] = cpickle.dumps(datum,2)
#execute insert
sql = "
insert into test values(%s, %s)
"for name in
names:
cursor.execute(sql,(name,mysqldb.escape_string(data[name])))
#check in the database
sql = "
select name, ablob from test order by name
"cursor.execute(sql)
for name , blob in
cursor.fetchall():
name, cpickle.loads(blob), cpickle.loads(data[name])
finally
:
#finish,delete table and close connection
cursor.execute("
drop table test")
cursor.close()
connection.close()
輸出:
athos ['a', 'h', 'o', 's', 't'] ['a', 'h', 'o', 's', 't']
porthos ['h', 'o', 'o', 'p', 'r', 's', 't'] ['h', 'o', 'o', 'p', 'r', 's', 't']
python查詢mysql使用 fetchone() 方法獲取單條資料, 使用fetchall() 方法獲取多條資料。
# encoding: utf-8
#!/usr/bin/python
import mysqldb
# 開啟資料庫連線
db = mysqldb.connect("localhost","testuser","test123","testdb" )
# 使用cursor()方法獲取操作游標
cursor = db.cursor()
# sql 查詢語句
sql = "select * from employee \
where income > '%d'" % (1000)
try:
# 執行sql語句
cursor.execute(sql)
# 獲取所有記錄列表
results = cursor.fetchall()
for row in results:
fname = row[0]
lname = row[1]
age = row[2]
*** = row[3]
income = row[4]
# 列印結果
print "fname=%s,lname=%s,age=%d,***=%s,income=%d" % \
(fname, lname, age, ***, income )
except:
print "error: unable to fecth data"
# 關閉資料庫連線
db.close()
python mysql 庫安裝筆記
其實mysql python安裝很簡直,以前一直也沒在意,今天發覺換了1.2.3新版本,ms蹦出很多問題來了。做個記錄,防止以後有問題無處可查。一般步驟是 1.安裝easy install 會自動根據本機的py版本選擇對應的egg,安裝完可以看到有 usr bin easy install程式了 2...
python mysql安裝及連線
1.python是ubuntu自帶的,版本號2.7 2.mysql安裝 2 拷貝到 usr local,tar xvf mysql tar.gz 3 新增mysql使用者組,sudo gourpadd mysql,mkdir home mysql,為mysql賬戶建立資料夾 4 新增mysql賬戶,...
python MySQL 批量插入
coding utf 8 import pymysql 開啟資料庫連線 db pymysql.connect host localhost port 3306 user username passwd password db database name charset utf8 使用cursor 方...