python操作MySQL數據庫,pymysql安裝與實例介紹

今天的內容是: python 操作MySQL

模塊安裝:

pip install pymysql

其次:MySQL 要能正常運行

說到數據庫,可能有些朋友沒有學過MySQL數據庫語句語法,不過沒關係,python中操作數據庫儲存數據,也就是創建一個表格,然後向表格中插入數據的過程,沒有多少內容的,數據庫表格最常用的知識點也就4點。

ps:文章來源於小編的頭條號:“python數據科學頻道”,想在手機端方便看文章的朋友可以去關注我的頭條號。

1、理論介紹

1.在python這裏操作MySQL數據庫有4個內容:

  • 添加(插入)內容

  • 刪除內容

  • 查詢內容

  • 修改(更新)內容

2.創建表格和插入數據進入表格的專有單詞大小寫都可以 例如:

  • cur.execute(‘create table person (id int not null auto_increment primary key, ame varchar (20), age int)’)
  1. 疑惑解答:
  • 表格已經創建,如果還想要在這個已經創建的表格中插入數據, 就將創建表格的代碼註釋掉。

2、實戰例子:

這裏涵蓋了python操作MySQL數據庫的比較常用的知識點,掌握的話,對這一塊數據儲存就沒什麼大問題了。

# -------------------------------------------------------------
# 1.導入模塊
import pymysql

# -------------------------------------------------------------
# 2、連接 MySQL 數據庫、創建遊標和創建一個表格
# 連接數據庫,即連接到數據庫(前面4個必寫且順序不能變)
# db 是數據庫名稱,端口port='', 字符類型charset='utf-8'
conn = pymysql.connect(host='localhost', user='root', passwd='root', db='lxz')
cur = conn.cursor()  # 創建遊標
# cur.execute('create table person (id int not null auto_increment primary key, \
#             name varchar (20), age int)')  # 建立一個名字爲person的表格

# --------------------------------------------------------------
# 3、向表格中插入數據
# execute()執行MySQL語句,executemany()執行多條MySQL語句
# 第一種:單獨數據插入
# 如果指定 id 的行號,則在指定的行號開始插入數據(注意插入的行必須是空的,否則報錯)
cur.execute("insert into person (id, name,age) values(1,'小白',21)")  # 直接賦值
# cur.executemany('insert into person (name,age) values (%s,%s)',\
# [('qqaa', 21), ('bbb', 19), ('ccc', 16), ('ddd', 28), ('eee', 37)])  # 通過佔位符賦值


# 第二種:批量數據插入,通過佔位符纔可以
# 第一個:對cur.execute()而言,批量插入式通過循環實現的
name1, age1 = ['aaa','bbb','ccc','ddd','eee'], [21,19,16,28,37]
for i in range(len(name1)):
    kk = (str(name1[i]),age1[i])
    cur.execute("insert into person (name,age) values (%s,%s)",kk)

# 第二個:對於cur.executemany()而言,將所有數據循環添加至一個列表中,
# 然後將列表名插進來就可以了
kkk = []
for i in range(len(name1)):
    item = (name1[i],age1[i])
    # print(item)
    kkk.append(item)
    # print(kkk1)
cur.executemany('insert into person (name,age) values (%s,%s)',kkk)

# ---------------------------------------------------------------
# 4、查詢數據
'''
遊標提供了fetchall()方法獲取所有數據,返回一個二維元組;
而 fetchone() 方法獲取其中的一個結果,返回一個元組
'''
# 第一種:使用fetchall()方法輸出所有數據
cur.execute('select * from person')
res = cur.fetchall(); print(res)
for item in res:
    # 輸出數據庫表格中的所有數據
    print('id='+str(item[0]) + '\tname='+str(item[1]) + '\tage='+str(item[2]))

# 第二種:使用fetchone()方法輸出一行數據
cur.execute('select * from person')
res = cur.fetchone()
print('fetchone()方法:\n', res)

# ---------------------------------------------------------------
# 5、修改(更新)數據
# 第一種:單個修改
# 修改id等於1的名字'lxz'爲另外一個名字'梁曉智',person是表格的名稱
cur.execute('update person set name = %s where id = %s', ('大佬', 1))

# 第二種:批量修改(更新)
name1 = ['@ab', '@bbb', '@ccc', '@ddd', '@eee']
id = [3, 4, 5, 16, 18]
for i in range(len(name1)):
    kk = (str(name1[i]), id[i])
    cur.execute('update person set name = %s where id = %s', kk)

# --------------------------------------------------------
# 6、刪除數據
# 第一種:刪除一行內容
# 刪除id等於2這一行的內容
cur.execute('delete from person where id = %s', (3,))

# 第二種:批量刪除內容
id = []
# 通過循環批量生成id號,批量刪除id號所對應行的內容
for i in range(1, 10):
    id = (i,)
    cur.execute('delete from person where id = %s', id)

# ---------------------------------------------------------
# 7、有始有終,提交、關閉文件
# 如果出現錯誤,可以使用回滾操作conn.rollback()
conn.commit()  # 對數據庫對象conn進行提交操作
cur.close()  # 關閉遊標
conn.close()  # 關閉數據庫的連接

3、程序運行結果截圖:

在這裏插入圖片描述

以上就是python操作MySQL數據庫的所有常見的內容了,希望對讀者朋友有幫助

------------------------------------------------- 文章到此結束 ------------------------------------------

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