安裝python MySQL環境

2021-06-25 08:37:01 字數 4478 閱讀 9683

在解壓資料夾下執行 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 的例子:

#

-*-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():

print

name, cpickle.loads(blob), cpickle.loads(data[name])

finally

:

#finish,delete table and close connection

cursor.execute("

drop table test")

cursor.close()

connection.close()

輸出:

aramis ['a', 'a', 'i', 'm', 'r', 's'] ['a', 'a', 'i', 'm', 'r', 's']

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 方...