PyMySQL基本操做

什麼是PyMySQL?

PyMySQL 是在 Python3.x 中鏈接MySQL服務器的一個庫(純Python實現),Python2 中使用 MySQLdbpython

PyMySQL安裝

pip install pymysql

PyMySQL操做

執行DQL語句

# coding=utf-8
import pymysql

conn = pymysql.connect(
    host='192.168.30.161',          # 要鏈接數據庫的IP或主機名
    port=3306,                      # 端口,默認3306
    user='root',                    # 用戶名
    password='000000',              # 密碼
    database='test',                # 數據庫,以後能夠更改
    charset='utf8'                  # 字符集
)

# 建立一個遊標
cursor = conn.cursor()
# 以字典的方式返回數據
# cursor = conn.cursor(cursor=pymysql.cursors.DictCursor)

# 執行DQL語句
cursor.execute('select * from student')

print(cursor.fetchone())            # 從管道中取一條數據

cursor.scroll(-1)                   # 將遊標從當前位置向後移動一位(相對位置),即開頭位置

print(cursor.fetchall())            # 取全部數據

cursor.scroll(0, mode='absolute')   # 將遊標移動到開頭(絕對位置)

print(cursor.fetchmany(1000))       # 指定獲取數量,超出查詢結果的最大條數,則返回最大條數

# 關閉遊標
cursor.close()
#關閉數據庫
conn.close()

執行DML語句

  • 在PyMySQL中執行QML語句時要commit提交才能真正寫入到數據庫,默認支持事務
# coding=utf-8
import pymysql

conn = pymysql.connect(
    host='192.168.30.161',  # 要鏈接數據庫的IP或主機名
    port=3306,  # 端口,默認3306
    user='root',  # 用戶名
    password='000000',  # 密碼
    database='test',  # 數據庫,以後能夠更改
    charset='utf8'  # 字符集
)

# 建立一個遊標
cursor = conn.cursor()
try:
    # 開啓事務
    conn.begin()
    
    sql= 'insert into student(sname,age,gender,addr,telnum) value("張三",20,1,"北京市","123456")'
    # 返回值是做用的行數
    rest = cursor.execute(sql)
    # 向數據庫提交
    conn.commit()
    print(rest)

    sql = 'update student set telnum="10086" where telnum="123456"'
    cursor.execute(sql)
    # 手動拋出異常
    raise ValueError()
    conn.commit()

except:
    # 回滾
    conn.rollback()
# 關閉遊標
cursor.close()
# 關閉數據庫
conn.close()
相關文章
相關標籤/搜索