Python對數(shù)據(jù)庫操作
Windows下安裝MySQL-python
下載地址:https://pypi.python.org/pypi/MySQL-python/1.2.5 安裝到系統(tǒng)即可。
linux下安裝MySQL-python以連接MySQL:
下載地址:https://pypi.python.org/pypi/MySQL-python/
解壓后,進入目錄下,執(zhí)行python setup.py install
安裝過程中,常會遇到的問題:
1、 提示找不到mysql_config的話,一般是由于mysql采用的是lnmp一鍵安裝包安裝的,路徑
解決:locate mysql_config找到mysql_config這個文件的位置,然后ln -s做個軟連接到/usr/bin/下。
2、 Ubuntu下提示缺少'x86_64-linux-gnu-gcc'時,需要安裝python-dev包:
解決:sudo apt-get install python-dev -y
3、 CentOS下提示command 'gcc' failed with exit status 1
解決:yum install gcc python-devel -y
安裝完成后,進入python,執(zhí)行import MySQLdb看導入是否能成功。
補充:
我在ubuntu下操作時候,發(fā)現(xiàn)無法連接數(shù)據(jù)庫,ss -lnt發(fā)現(xiàn)mysql只監(jiān)聽在回環(huán)地址上的3306端口,需要修改下。
修改Ubuntu的mysql,將其監(jiān)聽端口127.0.0.1:3306改為允許外部連接的方法:
編輯/etc/mysql/my.cnf(可能配置參數(shù)再此目錄下的其它文件中,仔細找找)
修改bind-address = 0.0.0.0 表示允許任意IP訪問。
然后執(zhí)行 /etc/init.d/mysql restart重啟mysqlserver服務即可
# 下面是一個Python操作數(shù)據(jù)庫的例子:
#!/usr/bin/env python
# -*- coding:utf8 -*-
import MySQLdb
conn = MySQLdb.connect(
host = '192.168.2.14',
port = 3306,
user = 'root',
passwd = '123456',
db = 'demo',
)
# 操作數(shù)據(jù)庫首先需要創(chuàng)建游標
cur = conn.cursor()
# 通過游標cur操作execute()方法可以寫入純sql語句,如下:
# 創(chuàng)建數(shù)據(jù)表
# cur.execute("create table teacher (id int(5),name varchar(20),class varchar(20),age varchar(10))")
# 插入數(shù)據(jù)
# cur.execute("insert into teacher values(23,'zhangsan','science',15)")
# 修改數(shù)據(jù)
# cur.execute("update teacher set id=100 where name='zhangsan'")
# 刪除數(shù)據(jù)
# cur.execute("delete from teacher where id=100")
#插入一條數(shù)據(jù)【也可以用像下面這種寫法】
sqli="insert into teacher values(%s,%s,%s,%s)"
cur.execute(sqli, (23,'zhangsan','science',15))
# 使用executemany一次性向數(shù)據(jù)表中插入多條值,返回值為受影響的行數(shù)。
sqli="insert into teacher values(%s,%s,%s,%s)"
cur.executemany(sqli,[
(11,'wangwu','art',23),
(8,'john','math',22),
(3,'Tom','physical',25),
])
# 最后關閉游標,執(zhí)行提交操作,并關閉數(shù)據(jù)庫連接
cur.close()
conn.commit()
conn.close()
檢索并輸出數(shù)據(jù)
#!/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()
# 獲得表中有多少條數(shù)據(jù)
aa = cur.execute("select * from teacher")
cur.fetchone() # fetchone()方法可以幫我們獲得表中的數(shù)據(jù),但是每執(zhí)行一次輸出一行滿足條件的值
cur.fetchone()
......
cur.scroll(0,'absolute')# 這樣能將游標定位到表中的第一條數(shù)據(jù)
info = cur.fetchmany(aa)
for i in info:
print i
cur.close()
conn.commit()
conn.close()
有關Python對數(shù)據(jù)庫操作小編就給大家介紹這么多,希望對大家有所幫助!
- Python SQLite3數(shù)據(jù)庫操作類分享
- python連接mongodb操作數(shù)據(jù)示例(mongodb數(shù)據(jù)庫配置類)
- python數(shù)據(jù)庫操作常用功能使用詳解(創(chuàng)建表/插入數(shù)據(jù)/獲取數(shù)據(jù))
- Python讀寫Redis數(shù)據(jù)庫操作示例
- Python操作MySQL數(shù)據(jù)庫9個實用實例
- python連接mysql數(shù)據(jù)庫示例(做增刪改操作)
- python使用mysqldb連接數(shù)據(jù)庫操作方法示例詳解
- python操作數(shù)據(jù)庫之sqlite3打開數(shù)據(jù)庫、刪除、修改示例
- Python使用PyGreSQL操作PostgreSQL數(shù)據(jù)庫教程
- Python調(diào)用SQLPlus來操作和解析Oracle數(shù)據(jù)庫的方法
- 學習python之編寫簡單簡單連接數(shù)據(jù)庫并執(zhí)行查詢操作
- Python數(shù)據(jù)操作方法封裝類實例
相關文章
python自動化測試三部曲之request+django實現(xiàn)接口測試
這篇文章主要介紹了python自動化測試三部曲之request+django實現(xiàn)接口測試,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2020-10-10
Python實現(xiàn)掃描局域網(wǎng)活動ip(掃描在線電腦)
這篇文章主要介紹了Python實現(xiàn)掃描局域網(wǎng)活動ip(掃描在線電腦),本文直接給出實現(xiàn)代碼,需要的朋友可以參考下2015-04-04
python如何使用requests提交post請求并上傳文件(multipart/form-data)
這篇文章主要給大家介紹了關于python如何使用requests提交post請求并上傳文件(multipart/form-data)的相關資料,Python有許多庫支持,它們可以簡化HTTP上的數(shù)據(jù)傳輸,requests庫是最受歡迎的Python包之一,因為它在網(wǎng)絡刮削中被大量使用,需要的朋友可以參考下2023-11-11
python opencv3實現(xiàn)人臉識別(windows)
這篇文章主要為大家詳細介紹了python opencv3實現(xiàn)人臉識別程序,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下2018-05-05
將pycharm配置為matlab或者spyder的用法說明
這篇文章主要介紹了將pycharm配置為matlab或者spyder的用法說明,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-06-06

