基於pymysql的資料庫程式設計

2021-10-02 04:11:01 字數 3497 閱讀 4209

pymysql是在python3.x版本中用於連線mysql伺服器的乙個庫,python2中則使用mysqldb。

建立連線connection–建立游標cursor–編寫sql語句,執行sql語句–關閉游標–關閉連線

#建立資料庫連線,autocommit為true表示自動提交,這樣使每次修改自動提交

conn=pymysql.connect(host=

'localhost'

,user=

'root'

,password=

'redhat'

,database=

'blog'

,port=

3306

,autocommit=

true

,charset=

'utf8'

)#建立游標

cur=conn.cursor(

)#編寫sql語句,執行sql語句

insert_sql=

'insert into user(username) values('user6');'

cur.execute(insert_sql)

print

('ok'

)#關閉游標

cur.close(

)#關閉連線

conn.close(

)

#使用with語句自動關閉pymysql.connect是上下文管理器,因此可以使用with語句

"""connect的部分原始碼為:

context manager that returns a cursor(返回乙個游標的上下文管理器)

def __enter__(self):

warnings.warn(

"context manager api of connection object is deprecated; use conn.begin()",

deprecationwarning)

return self.cursor()

on successful exit, commit(提交). on exception, rollback(回滾到一開始的操作)

def __exit__(self, exc, value, traceback):

if exc:

self.rollback()

else:

self.commit()

"""#資料庫插入修改操作

import pymysql

users=

['westos'

+str

(i)for i in

range

(100)]

with pymysql.connect(host=

'localhost'

,user=

'root'

,password=

'redhat'

,database=

'blog'

,port=

3306

,autocommit=

true

,charset=

'utf8'

)as cur:

#返回乙個游標存為cur

insert_sql=

'insert into users(username) values("user9");'

cur.execute(insert_sql)

insert_sql=

'insert into users(username) values ("%s");'

cur.executemany(insert_sql,users)

#執行多條sql語句,values("%s")%users[0]逐漸遞增

print

('ok'

)

#資料庫查詢與獲取操作

import pymysql

with pymysql.connect(host=

'localhost'

,user=

'root'

,password=

'anning'

,database=

'blog'

,port=

3306

,autocommit=

true

,charset=

'utf8'

)as cur:

query_sql=

'select * from users where username like "user%";'

#查詢users中以user開頭的內容

result=cur.execute(query_sql)

print

('符合條件數為:',result)

#檢視符合條件的內容

print

(cur.fetchone())

#檢視/獲取一條

print

(cur.fetchmany(2)

)#檢視/獲取2條,指標自動移動到第一條獲取後緊跟的第二條資料

print

(cur.fetchall())

#獲取/檢視所有

#美觀檢視內容

from prettytable import prettytble

pt=prettytable(filed_name=

['編號'

,'使用者'

,'密碼'])

for i in cur.fetchall():

pt.add_row(i)

print

(pt)

#執行結果:

符合條件數為: 5+-

----

-+--

----

-+--

----

--+| 編號 | 使用者 | 密碼 |+-

----

-+--

----

-+--

----

--+|

2| user2 |

235||3

| user3 |

000000||

4| user7 |

000000||

5| user8 |

000000||

6| user9 |

000000|+

----

--+-

----

--+-

----

---7

Python資料庫程式設計pymysql

ython資料庫程式設計pymysql 一 資料庫程式設計介紹 資料庫程式設計就是針對資料庫的操作,通過編寫程式的方式,讓程式做為資料庫的客戶端進行資料庫操作。對於mysql的操作我們可以通過sql語句,但是有很多情況下我們需要寫入mysql的資料非常多,並且是在其他平台獲取資料的同時寫入mysql...

pymysql鏈結mysql資料庫 程式設計例項

pymysql鏈結mysql資料庫 程式設計例項 usr bin python coding utf 8 import pymysql host 132.78.21.14 port 20 user user test passwd pass test db dbname charset utf8 開...

pymysql 資料庫操作

參考文件 import pymysql dbparams conn pymysql.connect dbparams cursor conn.cursor sql select sname,sclass from student try cursor.execute sql 獲取查詢結果 data ...