導航:首頁 > 編程語言 > python資料庫100例

python資料庫100例

發布時間:2022-09-03 01:48:10

① 零基礎學python應該學習哪些入門知識

關於零基礎怎麼樣能快速學好Python的問題,網路提問和解答的都很多,你可以網路下看看。我覺得從個人自學的角度出發,應從以下幾個方面來理解:

1 為什麼選擇學python?

據統計零基礎或非專業的人士學python的比較多,據HackerRank開發者調查報告2018年5月顯示(見圖),Python排名第一,成為最受歡迎編程語言。Python以優雅、簡潔著稱,入行門檻低,可以從事linux運維、Python Web網站工程師、Python自動化測試、數據分析、人工智慧等職位,薪資待遇呈上漲趨勢。

2 入門python需要那些准備?

2.1 心態准備。編程是一門技術,也可說是一門手藝。如同書法、繪畫、樂器、雕刻等,技藝純熟的背後肯定付出了長時間的反復練習。不要相信幾周速成,也不能急於求成。編程的世界浩瀚無邊,所以請保持一顆敬畏的心態去學習,認真對待寫下的每一行代碼,甚至每一個字元。收拾好自己的心態,向著編程的世界出發。第一步至關重要,關繫到初學者從入門到精通還是從入門到放棄。選一條合適的入門道路,並堅持走下去。

2.2 配置 Python 學習環境。選Python2 還是 Python3?入門時很多人都會糾結。二者只是程序不兼容,思想上並無大差別,語法變動也並不多。選擇任何一個入手,都沒有大影響。如果你仍然無法抉擇,那請選擇 Python3,畢竟這是未來的趨勢。

編輯器該如何選?同樣,推薦 pycharm 社區版,配置簡單、功能強大、使用起來省時省心,對初學者友好,並且完全免費!其他編輯器如:notepad++、sublimeText 3、vim 和 Emacs等不推薦了。

操作環境?Python 支持現有所有主流操作平台,不管是 windows 還是 mac 還是 linux,都能很好的運行 Python。並且後兩者都默認自帶 Python 環境。

2.3 選擇自學的書籍。我推薦的書的內容由淺入深,建議按照先後順序閱讀學習:

2.3.1《Python簡明教程》。這是一本言簡意賅的 Python 入門教程,簡單直白,沒有廢話。就算沒有基礎,你也可以像讀小說一樣,花兩天時間就可以讀完。適合入門快速了解語法。

2.3.2 廖雪峰編寫的《Python教程》。廖先生的教程涵蓋了 Python 知識的方方面面,內容更加系統,有一定深度,有一定基礎之後學習會有更多的收獲。

2.4 學會安裝包。Python中有很多擴展包,想要安裝這些包可以採用兩種方法:

2.4.1 使用pip或easy_install。

1)在網上找到的需要的包,下載下來。eg. rsa-3.1.4.tar.gz;

2)解壓縮該文件;

3)命令行工具cd切換到所要安裝的包的目錄,找到setup.py文件,然後輸入python setup.py install

2.4.2 不用pip或easy_install,直接打開cmd,敲pip install rsa。

3 提升階段需要恆心和耐力。

完成入門階段的基礎學習之後,常會陷入一個瓶頸期,通過看教程很難進一步提高編程水平。這時候,需要的是反復練習,大量的練習。可以從書上的例題、作業題開始寫,再寫小程序片段,然後寫完整的項目。我們收集了一些練習題和網站。可根據自己階段,選擇適合的練習去做。建議最好挑選一兩個系列重點完成,而不是淺嘗輒止。

3.1 多做練習。推薦網站練習:

crossin編程教室實例:相對於編程教室基礎練習著重於單一知識點,

編程實例訓練對基礎知識的融會貫通;

hackerrank:Python 部分難度循序漸進,符合學習曲線

實驗樓:提升編程水平從做項目開始;

codewar:社區型編程練習網站,內容由易到難;

leetcode:為編程面試准備,對初學者稍難;

牛客網:提供 BAT 等大廠筆試題目;

codecombat:提供一邊游戲一邊編程;

projecteuler:純粹的編程練習網站;

菜鳥教程100例:基於 py2 的基礎練習;

3.2 遇到問題多交流。

3.2.1 利用好搜索引擎。

3.2.2 求助於各大網站。推薦

stackoverflow:這是一個程序員的知識庫;

v2ex:國內非常不錯的編程社區,不僅僅是包含程序,也包含了程序員的生活;

segmentfault:一家以編程問答為主的網站;

CSDN、知乎、簡書等

3.2.3 加入相關的QQ、微信群、網路知道。不懂的可以隨時請教。

② python編程:輸入一個自然數n,如果n為奇數,輸出表達式1+1/3+…+1/n的值

def summ(n):
if n%2:
m=1
else:
m=2
return round(sum([1/x for x in range(m,n+1,2)]),2)
print(summ(5))

③ Python中主要使用哪些資料庫

Python中常用的資料庫有很多,需要根據不同的業務和應用場景來選擇合適的資料庫,才能使程序更高效.
一般常用的主要有 MySQL, Redis, MangoDB 等資料庫
學習這些資料庫,可以看黑馬程序員視頻庫的學習視頻,有代碼、有資料,有PPT,不了解還可以問老師!

④ 如何在python中進行資料庫的添加

你可以訪問Python資料庫介面及API查看詳細的支持資料庫列表。不同的資料庫你需要下載不同的DB API模塊,例如你需要訪問Oracle資料庫和Mysql數據,你需要下載Oracle和MySQL資料庫模塊。
DB-API 是一個規范. 它定義了一系列必須的對象和資料庫存取方式, 以便為各種各樣的底層資料庫系統和多種多樣的資料庫介面程序提供一致的訪問介面 。
Python的DB-API,為大多數的資料庫實現了介面,使用它連接各資料庫後,就可以用相同的方式操作各資料庫。
Python DB-API使用流程:

引入 API 模塊。
獲取與資料庫的連接。
執行SQL語句和存儲過程。
關閉資料庫連接。

什麼是MySQLdb?

MySQLdb 是用於Python鏈接Mysql資料庫的介面,它實現了 Python 資料庫 API 規范 V2.0,基於 MySQL C API 上建立的。

如何安裝MySQLdb?

為了用DB-API編寫MySQL腳本,必須確保已經安裝了MySQL。復制以下代碼,並執行:
#!/usr/bin/python
# -*- coding: UTF-8 -*-

import MySQLdb

如果執行後的輸出結果如下所示,意味著你沒有安裝 MySQLdb 模塊:
Traceback (most recent call last):
File "test.py", line 3, in <mole>
import MySQLdb
ImportError: No mole named MySQLdb

安裝MySQLdb,請訪問 ,(Linux平台可以訪問:)從這里可選擇適合您的平台的安裝包,分為預編譯的二進制文件和源代碼安裝包。
如果您選擇二進制文件發行版本的話,安裝過程基本安裝提示即可完成。如果從源代碼進行安裝的話,則需要切換到MySQLdb發行版本的頂級目錄,並鍵入下列命令:
$ gunzip MySQL-python-1.2.2.tar.gz
$ tar -xvf MySQL-python-1.2.2.tar
$ cd MySQL-python-1.2.2
$ python setup.py build
$ python setup.py install

注意:請確保您有root許可權來安裝上述模塊。

資料庫連接

連接資料庫前,請先確認以下事項:

您已經創建了資料庫 TESTDB.
在TESTDB資料庫中您已經創建了表 EMPLOYEE
EMPLOYEE表欄位為 FIRST_NAME, LAST_NAME, AGE, SEX 和 INCOME。
連接資料庫TESTDB使用的用戶名為 "testuser" ,密碼為 "test123",你可以可以自己設定或者直接使用root用戶名及其密碼,Mysql資料庫用戶授權請使用Grant命令。
在你的機子上已經安裝了 Python MySQLdb 模塊。
如果您對sql語句不熟悉,可以訪問我們的 SQL基礎教程

實例:

以下實例鏈接Mysql的TESTDB資料庫:
#!/usr/bin/python
# -*- coding: UTF-8 -*-

import MySQLdb

# 打開資料庫連接
db = MySQLdb.connect("localhost","testuser","test123","TESTDB" )

# 使用cursor()方法獲取操作游標
cursor = db.cursor()

# 使用execute方法執行SQL語句
cursor.execute("SELECT VERSION()")

# 使用 fetchone() 方法獲取一條資料庫。
data = cursor.fetchone()

print "Database version : %s " % data

# 關閉資料庫連接
db.close()

執行以上腳本輸出結果如下:
Database version : 5.0.45

創建資料庫表

如果資料庫連接存在我們可以使用execute()方法來為資料庫創建表,如下所示創建表EMPLOYEE:
#!/usr/bin/python
# -*- coding: UTF-8 -*-

import MySQLdb

# 打開資料庫連接
db = MySQLdb.connect("localhost","testuser","test123","TESTDB" )

# 使用cursor()方法獲取操作游標
cursor = db.cursor()

# 如果數據表已經存在使用 execute() 方法刪除表。
cursor.execute("DROP TABLE IF EXISTS EMPLOYEE")

# 創建數據表SQL語句
sql = """CREATE TABLE EMPLOYEE (
FIRST_NAME CHAR(20) NOT NULL,
LAST_NAME CHAR(20),
AGE INT,
SEX CHAR(1),
INCOME FLOAT )"""

cursor.execute(sql)

# 關閉資料庫連接
db.close()

資料庫插入操作

以下實例使用執行 SQL INSERT 語句向表 EMPLOYEE 插入記錄:
#!/usr/bin/python
# -*- coding: UTF-8 -*-

import MySQLdb

# 打開資料庫連接
db = MySQLdb.connect("localhost","testuser","test123","TESTDB" )

# 使用cursor()方法獲取操作游標
cursor = db.cursor()

# SQL 插入語句
sql = """INSERT INTO EMPLOYEE(FIRST_NAME,
LAST_NAME, AGE, SEX, INCOME)
VALUES ('Mac', 'Mohan', 20, 'M', 2000)"""
try:
# 執行sql語句
cursor.execute(sql)
# 提交到資料庫執行
db.commit()
except:
# Rollback in case there is any error
db.rollback()

# 關閉資料庫連接
db.close()

以上例子也可以寫成如下形式:
#!/usr/bin/python
# -*- coding: UTF-8 -*-

import MySQLdb

# 打開資料庫連接
db = MySQLdb.connect("localhost","testuser","test123","TESTDB" )

# 使用cursor()方法獲取操作游標
cursor = db.cursor()

# SQL 插入語句
sql = "INSERT INTO EMPLOYEE(FIRST_NAME, \
LAST_NAME, AGE, SEX, INCOME) \
VALUES ('%s', '%s', '%d', '%c', '%d' )" % \
('Mac', 'Mohan', 20, 'M', 2000)
try:
# 執行sql語句
cursor.execute(sql)
# 提交到資料庫執行
db.commit()
except:
# 發生錯誤時回滾
db.rollback()

# 關閉資料庫連接
db.close()

實例:

以下代碼使用變數向SQL語句中傳遞參數:
..................................
user_id = "test123"
password = "password"

con.execute('insert into Login values("%s", "%s")' % \
(user_id, password))
..................................

資料庫查詢操作

Python查詢Mysql使用 fetchone() 方法獲取單條數據, 使用fetchall() 方法獲取多條數據。

fetchone(): 該方法獲取下一個查詢結果集。結果集是一個對象
fetchall():接收全部的返回結果行.
rowcount: 這是一個只讀屬性,並返回執行execute()方法後影響的行數。

實例:

查詢EMPLOYEE表中salary(工資)欄位大於1000的所有數據:
#!/usr/bin/python
# -*- coding: UTF-8 -*-

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]
sex = row[3]
income = row[4]
# 列印結果
print "fname=%s,lname=%s,age=%d,sex=%s,income=%d" % \
(fname, lname, age, sex, income )
except:
print "Error: unable to fecth data"

# 關閉資料庫連接
db.close()

以上腳本執行結果如下:
fname=Mac, lname=Mohan, age=20, sex=M, income=2000

資料庫更新操作

更新操作用於更新數據表的的數據,以下實例將 TESTDB表中的 SEX 欄位全部修改為 'M',AGE 欄位遞增1:
#!/usr/bin/python
# -*- coding: UTF-8 -*-

import MySQLdb

# 打開資料庫連接
db = MySQLdb.connect("localhost","testuser","test123","TESTDB" )

# 使用cursor()方法獲取操作游標
cursor = db.cursor()

# SQL 更新語句
sql = "UPDATE EMPLOYEE SET AGE = AGE + 1
WHERE SEX = '%c'" % ('M')
try:
# 執行SQL語句
cursor.execute(sql)
# 提交到資料庫執行
db.commit()
except:
# 發生錯誤時回滾
db.rollback()

# 關閉資料庫連接
db.close()

刪除操作

刪除操作用於刪除數據表中的數據,以下實例演示了刪除數據表 EMPLOYEE 中 AGE 大於 20 的所有數據:
#!/usr/bin/python
# -*- coding: UTF-8 -*-

import MySQLdb

# 打開資料庫連接
db = MySQLdb.connect("localhost","testuser","test123","TESTDB" )

# 使用cursor()方法獲取操作游標
cursor = db.cursor()

# SQL 刪除語句
sql = "DELETE FROM EMPLOYEE WHERE AGE > '%d'" % (20)
try:
# 執行SQL語句
cursor.execute(sql)
# 提交修改
db.commit()
except:
# 發生錯誤時回滾
db.rollback()

# 關閉連接
db.close()

執行事務

事務機制可以確保數據一致性。

事務應該具有4個屬性:原子性、一致性、隔離性、持久性。這四個屬性通常稱為ACID特性。

原子性(atomicity)。一個事務是一個不可分割的工作單位,事務中包括的諸操作要麼都做,要麼都不做。
一致性(consistency)。事務必須是使資料庫從一個一致性狀態變到另一個一致性狀態。一致性與原子性是密切相關的。
隔離性(isolation)。一個事務的執行不能被其他事務干擾。即一個事務內部的操作及使用的數據對並發的其他事務是隔離的,並發執行的各個事務之間不能互相干擾。
持久性(rability)。持續性也稱永久性(permanence),指一個事務一旦提交,它對資料庫中數據的改變就應該是永久性的。接下來的其他操作或故障不應該對其有任何影響。

Python DB API 2.0 的事務提供了兩個方法 commit 或 rollback。

⑤ 有沒有利用python開發資料庫的案例

在Windows平台上安裝mysql模塊用於Python開發

用python連接mysql的時候,需要用的安裝版本,源碼版本容易有錯誤提示。下邊是打包了32與64版本。
MySQL-python-1.2.3.win32-py2.7.exe
MySQL-python-1.2.3.win-amd64-py2.7.exe
實例 1、取得 MYSQL 的版本

# -*- coding: UTF-8 -*-
#安裝 MYSQL DB for python
import MySQLdb as mdb
con = None
try:
#連接 mysql 的方法: connect('ip','user','password','dbname')
con = mdb.connect('localhost', 'root','root', 'test');

#所有的查詢,都在連接 con 的一個模塊 cursor 上面運行的
cur = con.cursor()

#執行一個查詢
cur.execute("SELECT VERSION()")
#取得上個查詢的結果,是單個結果

data = cur.fetchone()
print "Database version : %s " % data
finally:
if con:
#無論如何,連接記得關閉
con.close()

實例 2、創建一個表並且插入數據

import MySQLdb as mdb
import sys

#將 con 設定為全局連接
con = mdb.connect('localhost', 'root', 'root', 'test');
with con:

#獲取連接的 cursor,只有獲取了 cursor,我們才能進行各種操作
cur = con.cursor()

#創建一個數據表 writers(id,name)
cur.execute("CREATE TABLE IF NOT EXISTS
Writers(Id INT PRIMARY KEY AUTO_INCREMENT, Name VARCHAR(25))")

#以下插入了 5 條數據
cur.execute("INSERT INTO Writers(Name) VALUES('Jack London')")
cur.execute("INSERT INTO Writers(Name) VALUES('Honore de Balzac')")
cur.execute("INSERT INTO Writers(Name) VALUES('Lion Feuchtwanger')")
cur.execute("INSERT INTO Writers(Name) VALUES('Emile Zola')")
cur.execute("INSERT INTO Writers(Name) VALUES('Truman Capote')")

實例 3、 python 使用 slect 獲取 mysql 的數據並遍歷

import MySQLdb as mdb
import sys

#連接 mysql,獲取連接的對象
con = mdb.connect('localhost', 'root', 'root', 'test');
with con:

#仍然是,第一步要獲取連接的 cursor 對象,用於執行查詢
cur = con.cursor()

#類似於其他語言的 query 函數, execute 是 python 中的執行查詢函數
cur.execute("SELECT * FROM Writers")

#使用 fetchall 函數,將結果集(多維元組)存入 rows 裡面
rows = cur.fetchall()

#依次遍歷結果集,發現每個元素,就是表中的一條記錄,用一個元組來顯示
for row in rows:
print row

運行結果:

(1L, 『Jack London')
(2L, 『Honore de Balzac')
(3L, 『Lion Feuchtwanger')
(4L, 『Emile Zola')
(5L, 『Truman Capote')
上面的代碼,用來將所有的結果取出,不過列印的時候是每行一個元祖列印,現在我們使用方法,取出其中的單個數據:

import MySQLdb as mdb
import sys

#獲取 mysql 的鏈接對象
con = mdb.connect('localhost', 'root', 'root', 'test');
with con:
#獲取執行查詢的對象
cur = con.cursor()
#執行那個查詢,這里用的是 select 語句
cur.execute("SELECT * FROM Writers")
#使用 cur.rowcount 獲取結果集的條數
numrows = int(cur.rowcount)
#循環 numrows 次,每次取出一行數據
for i in range(numrows):
#每次取出一行,放到 row 中,這是一個元組(id,name)
row = cur.fetchone()
#直接輸出兩個元素
print row[0], row[1]

運行結果:

1 Jack London
2 Honore de Balzac
3 Lion Feuchtwanger
4 Emile Zola
5 Truman Capote
實例 4、使用字典 cursor 取得結果集(可以使用表欄位名字訪問值)

import MySQLdb as mdb
import sys
#獲得 mysql 查詢的鏈接對象
con = mdb.connect('localhost', 'root', 'root', 'test')
with con:
#獲取連接上的字典 cursor,注意獲取的方法,
#每一個 cursor 其實都是 cursor 的子類
cur = con.cursor(mdb.cursors.DictCursor)
#執行語句不變
cur.execute("SELECT * FROM Writers")
#獲取數據方法不變
rows = cur.fetchall()
#遍歷數據也不變(比上一個更直接一點)
for row in rows:
#這里,可以使用鍵值對的方法,由鍵名字來獲取數據
print "%s %s" % (row["Id"], row["Name"])

實例 5、獲取單個表的欄位名和信息的方法

import MySQLdb as mdb
import sys
#獲取資料庫的鏈接對象
con = mdb.connect('localhost', 'root', 'root', 'test')
with con:
#獲取普通的查詢 cursor
cur = con.cursor()
cur.execute("SELECT * FROM Writers")
rows = cur.fetchall()
#獲取連接對象的描述信息
desc = cur.description
print 'cur.description:',desc
#列印表頭,就是欄位名字
print "%s %3s" % (desc[0][0], desc[1][0])
for row in rows:
#列印結果
print "%2s %3s" % row

運行結果:

cur.description: ((『Id', 3, 1, 11, 11, 0, 0), (『Name', 253, 17, 25, 25, 0, 1))
Id Name
1 Jack London
2 Honore de Balzac
3 Lion Feuchtwanger
4 Emile Zola
5 Truman Capote
實例 6、使用 Prepared statements 執行查詢(更安全方便)

import MySQLdb as mdb
import sys

con = mdb.connect('localhost', 'root', 'root', 'test')
with con:
cur = con.cursor()
#我們看到,這里可以通過寫一個可以組裝的 sql 語句來進行
cur.execute("UPDATE Writers SET Name = %s WHERE Id = %s",
("Guy de Maupasant", "4"))
#使用 cur.rowcount 獲取影響了多少行
print "Number of rows updated: %d" % cur.rowcount

結果:
Number of rows updated: 1

實例 7、把圖片用二進制存入 MYSQL

有人喜歡把圖片存入 MYSQL(這種做法貌似很少吧),我看大部分的程序,圖片都是存放在伺服器上的文件,資料庫中存的只是圖片的地址而已,不過 MYSQL 是支持把圖片存入資料庫的,也相應的有一個專門的欄位 BLOB (Binary Large Object),即較大的二進制對象欄位,請看如下程序,注意測試圖片自己隨便找一個,地址要正確:
首先,在資料庫中創建一個表,用於存放圖片:

復制代碼代碼如下:

CREATE TABLE Images(Id INT PRIMARY KEY AUTO_INCREMENT, Data MEDIUMBLOB);

然後運行如下 PYTHON 代碼進行:

import MySQLdb as mdb
import sys

try:
#用讀文件模式打開圖片
fin = open("../web.jpg")
#將文本讀入 img 對象中
img = fin.read()
#關閉文件
fin.close()
except IOError, e:
#如果出錯,列印錯誤信息
print "Error %d: %s" % (e.args[0],e.args[1])
sys.exit(1)
try:
#鏈接 mysql,獲取對象
conn = mdb.connect(host='localhost',user='root',passwd='root',
db='test')
#獲取執行 cursor
cursor = conn.cursor()
#直接將數據作為字元串,插入資料庫
cursor.execute("INSERT INTO Images SET Data='%s'" %
mdb.escape_string(img))
#提交數據
conn.commit()
#提交之後,再關閉 cursor 和鏈接
cursor.close()
conn.close()
except mdb.Error, e:
#若出現異常,列印信息
print "Error %d: %s" % (e.args[0],e.args[1])
sys.exit(1)

實例 8、從資料庫中把圖片讀出來

import MySQLdb as mdb
import sys

try:
#連接 mysql,獲取連接的對象
conn = mdb.connect('localhost', 'root', 'root', 'test');
cursor = conn.cursor()
#執行查詢該圖片欄位的 SQL
cursor.execute("SELECT Data FROM Images LIMIT 1")
#使用二進制寫文件的方法,打開一個圖片文件,若不存在則自動創建
fout = open('image.png','wb')
#直接將數據如文件
fout.write(cursor.fetchone()[0])
#關閉寫入的文件
fout.close()
#釋放查詢數據的資源
cursor.close()
conn.close()
except IOError, e:
#捕獲 IO 的異常 ,主要是文件寫入會發生錯誤
print "Error %d: %s" % (e.args[0],e.args[1])
sys.exit(1)

實例 9、使用 Transaction 即事務(手動提交,自動回滾)

import MySQLdb as mdb
import sys

try:
#連接 mysql,獲取連接的對象
conn = mdb.connect('localhost', 'root', 'root', 'test');
cursor = conn.cursor()
#如果某個資料庫支持事務,會自動開啟
#這里用的是 MYSQL,所以會自動開啟事務(若是 MYISM 引擎則不會)
cursor.execute("UPDATE Writers SET Name = %s WHERE Id = %s",
("Leo Tolstoy", "1"))
cursor.execute("UPDATE Writers SET Name = %s WHERE Id = %s",
("Boris Pasternak", "2"))
cursor.execute("UPDATE Writer SET Name = %s WHERE Id = %s",
("Leonid Leonov", "3"))
#事務的特性 1、原子性的手動提交
conn.commit()
cursor.close()
conn.close()
except mdb.Error, e:
#如果出現了錯誤,那麼可以回滾,就是上面的三條語句要麼執行,要麼都不執行
conn.rollback()
print "Error %d: %s" % (e.args[0],e.args[1])

結果:
1、因為不存在 writer 表( SQL 第三條語句),所以出現錯誤:Error 1146: Table 『test.writer' doesn't exist
2、出現錯誤,出發異常處理, 3 條語句的前兩條會自動變成了沒有執行,結果不變
3、如果本代碼放到一個 MyISAM 引擎表,前兩句會執行,第三句不會;如果是 INNDB 引擎,則都不會執行。

⑥ 如何用python創建資料庫

通過以下的內容你就可以輕松的運用Python資料庫連接池的相關步驟,希望下面的文章會對你有所收獲。 請求連接: 1. db=pool.connection()2. 你可以使用這些連接有如原始的DB-API 2一樣。而實際使用的是``SteadyDB``版本的強硬連接。請注意連接可以與其他線程共享,只要你設置 maxshared 參數為非零,並且DB-API 2模塊也允許。如果你想要使用專用連接則使用: 1. db=pool.connection(0)2. 如果你不再需要這個連接了,則可以返回給連接池使用 db.close()。你也可以使用相同的方法獲取另一個連接。警告:在一個多線程環境,不要使用下面的方法: 1. pool.connection().cursor().execute(...)2. 3. db=pool.connection()4. 5. cur=db.cursor()6. 7. cur.execute(...)8. 9. res=cur.fetchone()10. 11. cur.close() # or del cur12. 13. db.close() # or del db14. 示例 [方便你將來直接使用] 使用PersistentDB 模塊 1. import threading,time,datetime2. 3. import MySQLdb4. 5. import DBUtils.PersistentDB6. 7. persist=DBUtils.PersistentDB.PersistentDB(MySQLdb,100,host='localhost',user='root',passwd='321',db='test',charset='utf8')8. 9. conn=persist.connection()10. 11. cursor=conn.cursor()12. 13. cursor.execute("insert into me values(1,'22222')")14. 15. conn.commit()16. 17. conn.close()18. 通過以上的內容你就可以得到資料庫連接了! 作者:不詳 來源:網路

⑦ python 資料庫

表name
id en_name zh_name
1 aaa 第一
2 bbb 第二
... ... ...

SELECT en_name, zh_name FROM name WHWEW en_name='輸入' or zh_name='輸入'

將 en_name, zh_name 存入列表
如果和輸入相等就刪除
剩下的就是對應的

⑧ python常用到哪些庫

第一、NumPy

NumPy是NumericalPython的簡寫,是Python數值計算的基石。它提供多種數據結構、演算法以及大部分涉及Python數值計算所需的介面。NumPy還包括其他內容:

①快速、高效的多維數組對象ndarray

②基於元素的數組計算或數組間數學操作函數

③用於讀寫硬碟中基於數組的數據集的工具

④線性代數操作、傅里葉變換以及隨機數生成

除了NumPy賦予Python的快速數組處理能力之外,NumPy的另一個主要用途是在演算法和庫之間作為數據傳遞的數據容器。對於數值數據,NumPy數組能夠比Python內建數據結構更為高效地存儲和操作數據。

第二、pandas

pandas提供了高級數據結構和函數,這些數據結構和函數的設計使得利用結構化、表格化數據的工作快速、簡單、有表現力。它出現於2010年,幫助Python成為強大、高效的數據分析環境。常用的pandas對象是DataFrame,它是用於實現表格化、面向列、使用行列標簽的數據結構;以及Series,一種一維標簽數組對象。

pandas將表格和關系型資料庫的靈活數據操作能力與Numpy的高性能數組計算的理念相結合。它提供復雜的索引函數,使得數據的重組、切塊、切片、聚合、子集選擇更為簡單。由於數據操作、預處理、清洗在數據分析中是重要的技能,pandas將是重要主題。

第三、matplotlib

matplotlib是最流行的用於制圖及其他二維數據可視化的Python庫,它由John D.
Hunter創建,目前由一個大型開發者團隊維護。matplotlib被設計為適合出版的制圖工具。

對於Python編程者來說也有其他可視化庫,但matplotlib依然使用最為廣泛,並且與生態系統的其他庫良好整合。

第四、IPython

IPython項目開始於2001年,由FernandoPérez發起,旨在開發一個更具交互性的Python解釋器。在過去的16年中,它成為Python數據技術棧中最重要的工具之一。

盡管它本身並不提供任何計算或數據分析工具,它的設計側重於在交互計算和軟體開發兩方面將生產力最大化。它使用了一種執行-探索工作流來替代其他語言中典型的編輯-編譯-運行工作流。它還提供了針對操作系統命令行和文件系統的易用介面。由於數據分析編碼工作包含大量的探索、試驗、試錯和遍歷,IPython可以使你更快速地完成工作。

第五、SciPy

SciPy是科學計算領域針對不同標准問題域的包集合。以下是SciPy中包含的一些包:

①scipy.integrate數值積分常式和微分方程求解器

②scipy.linalg線性代數常式和基於numpy.linalg的矩陣分解

③scipy.optimize函數優化器和求根演算法

④scipy.signal信號處理工具

⑤scipy.sparse稀疏矩陣與稀疏線性系統求解器

SciPy與Numpy一起為很多傳統科學計算應用提供了一個合理、完整、成熟的計算基礎。

第六、scikit-learn

scikit-learn項目誕生於2010年,目前已成為Python編程者首選的機器學習工具包。僅僅七年,scikit-learn就擁有了全世界1500位代碼貢獻者。其中包含以下子模塊:

①分類:SVM、最近鄰、隨機森林、邏輯回歸等

②回歸:Lasso、嶺回歸等

③聚類:K-means、譜聚類等

④降維:PCA、特徵選擇、矩陣分解等

⑤模型選擇:網格搜索、交叉驗證、指標矩陣

⑥預處理:特徵提取、正態化

scikit-learn與pandas、statsmodels、IPython一起使Python成為高效的數據科學編程語言。

⑨ 如何用python操作資料庫表

# -*- coding:utf8 -*-
import MySQLdb
conn = MySQLdb.connect( #此處連接資料庫信息
host = '127.0.0.1',
port = 3306,
user = 'root',
passwd = 'root',
db = 'python',
charset = 'utf8'
)
key1 = raw_input()
value2 = raw_input()
cursor = conn.cursor()
try:
#cursor.execute('SELECT * from test') # 查詢資料庫內容
#print cursor.rowcount
#輸出改變行數
cursor.execute("insert into test ('key1') values (value2)") # 增加資料庫內容
#cursor.execute("update test set name = 'lisi' where name = 'zhangsan'") # 更新資料庫內容
#cursor.execute("delete from test where name = 'lisi'") #刪除資料庫內容
conn.commit()
except Exception as e:
# 執行出錯回滾數據
print e
conn.rollback()
cursor.close
conn.close

閱讀全文

與python資料庫100例相關的資料

熱點內容
游俠下載的游戲都需要解壓沒 瀏覽:81
初次認識控制命令完整版 瀏覽:255
雙屏程序員 瀏覽:799
怎麼把兩個文件夾放到一個文件夾裡面 瀏覽:545
命令與征服大神宮 瀏覽:207
php發送簡訊驗證碼 瀏覽:505
前端伺服器如何接收http請求 瀏覽:796
程序員資質查詢 瀏覽:357
程序員被別人開除怎麼辦 瀏覽:888
解壓視頻看一下 瀏覽:129
android仿知乎日報 瀏覽:335
為什麼前端比安卓手機需求大 瀏覽:855
命令行執行關機命令 瀏覽:52
在學校心情不好怎麼解壓 瀏覽:116
我的世界基岩版伺服器怎麼讀取 瀏覽:161
快件命令 瀏覽:853
阿里雲06折伺服器能用嗎 瀏覽:421
h5個人中心源碼 瀏覽:221
下三角矩陣的壓縮存儲 瀏覽:922
招人用什麼app好用 瀏覽:722