pymysql(一)檢索、增加、更新、刪除數據

利用python調用pymysql來對數據庫進行操作。


首先在cmd中查看我們將要操作的數據表infor:


查看infor表列的定義:


現在使用pymysql對mysql進行操作。

(一)  SELECT 檢索數據

代碼如下:

import pymysql
 
'''
pymysql使用指南
host = '127.0.0.1'
回送地址,指本地機
port = 3306
MySQL的默認端口
user
用戶名
passwd
密碼
db
數據庫
charset
字符類型
'''
 
my_con = pymysql.connect(host ='127.0.0.1',
                        port = 3306,
                        user = 'root',
                        passwd = '12345678',
                        db = 'my_firstsql',
                        charset = 'utf8'
                        )
my_cousor = my_con.cursor()
#獲取數據庫遊標對象
sql_select = 'SELECT * FROM infor;'
#用一個變量接收mysql語句
my_cousor.execute(sql_select)
#執行
my_cousor.rowcount
#返回被execute影響的數據的行數,注:execute不是方法.
get_row = my_cousor.fetchone()
#取結果集下一行
print(get_row)
get_row = my_cousor.fetchmany(3)
#取結果集下三行
print(get_row)
get_row = my_cousor.fetchall()
#取結果集剩下所有行
print(get_row)
 
 
my_cousor.close()
#關閉遊標
my_con.close()
#關閉連接

結果如下:

(1, 'Tom', 18, '[email protected]')

((2, 'Ada', 19, '[email protected]'), (3,'Peter', 20, '[email protected]'), (4, 'Green', 29, '[email protected]'))

((5, 'Douglas', 32, '[email protected]'),(6, 'White', 16, '[email protected]'))

 

(一)  使用INSERT、DELETE、UPDATE進行增刪改

代碼如下:

import pymysql

my_con = pymysql.connect(host = '127.0.0.1',
                        port = 3306,
                        user = 'root',
                        passwd = '12345678',
                        db = 'my_firstsql',
                        charset = 'utf8'
                        )

my_cousor = my_con.cursor()
#獲取數據庫遊標對象

sql_insert = 'INSERT INTO INFOR(id, user_name, age, mail) VALUES (NULL, "DOGE", 26, "[email protected]")'
sql_update = 'UPDATE infor SET mail = "playstation.com" WHERE user_name = "Peter"'
sql_delete = 'DELETE FROM infor WHERE age > 28'
#將mysql的增刪改語句存在變量中

my_cousor.execute(sql_insert)
#執行增
print(my_cousor.rowcount)

my_cousor.execute(sql_update)
#執行改
print(my_cousor.rowcount)

my_cousor.execute(sql_delete)
#執行刪
print(my_cousor.rowcount)

my_con.commit()
#提交事務
#如果沒有my_con.commit()語句,則事務無法提交
#則此時查看數據庫中的數據表,發現infor沒有發生改變

my_cousor.close()
#關閉遊標
my_con.close()
#關閉連接

結果如下:

 

1

1

2

再查看數據庫中的infor數據表:



我們發現Peter郵箱被更改,age大於28歲的用戶記錄被刪除,最後一行多了一條在python中錄入的新記錄(由於infor表之前被更改過多次,所以新增記錄的id不是7,而是16)




發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章