首頁 >後端開發 >Python教學 >Python對資料庫操作

Python對資料庫操作

高洛峰
高洛峰原創
2016-12-27 13:30:161081瀏覽

Windows下安裝MySQL-python

下載位址:https://pypi.python.org/pypi/MySQL-python/1.2.5 安裝到系統即可。

linux下安裝MySQL-python以連接MySQL:

下載位址:https://pypi.python.org/pypi/MySQL-python/

解壓後,進入目錄下,執行python set

解壓後,進入目錄下,執行python set

解壓後,進入目錄下,執行python set
install


安裝過程中,常會遇到的問題:


1、提示找不到mysql_config的話,一般是由於mysql採用的是lnmp一鍵安裝包安裝的,路徑


解決:locate mysql_locate mysql_找到mysql_config這個檔案的位置,然後ln -s做個軟連接到/usr/bin/下。


2、 Ubuntu下提示缺少'x86_64-linux-gnu-gcc'時,需要安裝python-dev套件:

解決:sudo apt-get install python-dev -y

command 'gcc' failed with exit status 1

解決:yum install gcc python-devel -y

安裝完成後,進入python,執行import MySQLdb看導入是否能成功。

補充:

我在ubuntu下操作時候,發現無法連接資料庫,ss -lnt發現mysql只監聽在回環位址上的3306端口,需要修改下。

修改Ubuntu的mysql,將其監聽埠127.0.0.1:3306改為允許外部連線的方法:

編輯/etc/mysql/my.cnf(可能設定參數再此目錄下的其它檔案中,仔細找找)

修改bind-address = 0.0.0.0 表示允許任意IP存取。

接著執行/etc/init.d/mysql restart重啟mysqlserver服務即可

# 下面是一個Python操作資料庫的例子:

#!/usr/bin/env python
# -*- coding:utf8 -*-
import MySQLdb
conn = MySQLdb.connect(
host = '192.168.2.14',
port = 3306,
user = 'root',
passwd = '123456',
db = 'demo',
)
# 操作数据库首先需要创建游标
cur = conn.cursor()
# 通过游标cur操作execute()方法可以写入纯sql语句,如下:
# 创建数据表
# cur.execute("create table teacher (id int(5),name varchar(20),class varchar(20),age varchar(10))")
# 插入数据
# cur.execute("insert into teacher values(23,'zhangsan','science',15)")
# 修改数据
# cur.execute("update teacher set id=100 where name='zhangsan'")
# 删除数据
# cur.execute("delete from teacher where id=100")
#插入一条数据【也可以用像下面这种写法】
sqli="insert into teacher values(%s,%s,%s,%s)"
cur.execute(sqli, (23,'zhangsan','science',15))
# 使用executemany一次性向数据表中插入多条值,返回值为受影响的行数。
sqli="insert into teacher values(%s,%s,%s,%s)"
cur.executemany(sqli,[
(11,'wangwu','art',23),
(8,'john','math',22),
(3,'Tom','physical',25),
])
# 最后关闭游标,执行提交操作,并关闭数据库连接
cur.close()
conn.commit()
conn.close()
🎜檢索輸出資料🎜
#!/usr/bin/env python
# -*- coding:utf8 -*-
import MySQLdb
conn = MySQLdb.connect(
host = '192.168.2.14',
port = 3306,
user = 'root',
passwd = '123456',
db = 'demo',
)
cur = conn.cursor()
# 获得表中有多少条数据
aa = cur.execute("select * from teacher")
cur.fetchone() # fetchone()方法可以帮我们获得表中的数据,但是每执行一次输出一行满足条件的值
cur.fetchone()
......
cur.scroll(0,'absolute')# 这样能将游标定位到表中的第一条数据
info = cur.fetchmany(aa)
for i in info:
print i
cur.close()
conn.commit()
conn.close()
🎜有關Python對資料庫操作編者就給大家介紹小編這麼多,希望對大家有幫助! 🎜🎜更多Python對資料庫操作相關文章請關注PHP中文網! 🎜
陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn