pymysql基礎

一,基本使用mysql

倒入模塊sql

import pymysql



conn=pymysql.connect(

host="數據庫地址,本機是localhost,別的機器是ip「,
user="用戶名,通常是root",
password="密碼",
database="數據庫名",
charset="utf8"




)

獲得一個光標對象數據庫

cursor=conn.cursor()

定義要執行的語句fetch

sql=「」spa

執行語句:code

cursor.execute(sql)對象

關閉blog

cursor。close()事務

conn.close()ip

若是想返回的是字典的形式的話

cursor = conn.cursor(cursor=pymysql.cursors.DictCursor)

二,增刪改查

1,增

cursor = conn.cursor()
sql = "INSERT INTO a1(name, age) VALUES (%s, %s);"
username = "二狗"
age = 18
# 執行SQL語句
cursor.execute(sql, [username, age])
# 提交事務
conn.commit()
cursor.close()
conn.close()

2,插入數據失敗回滾

# 獲得一個能夠執行SQL語句的光標對象
cursor = conn.cursor()
sql = "INSERT INTO a1(name, age) VALUES (%s, %s);"
username = "二狗"
age = 18
try:
    # 執行SQL語句
    cursor.execute(sql, [username, age])
    # 提交事務
    conn.commit()
except Exception as e:
    # 有異常,回滾事務
    conn.rollback()
cursor.close()
conn.close()

3,獲取插入數據的ID(關聯操做時會用到)

# 獲得一個能夠執行SQL語句的光標對象
cursor = conn.cursor()
sql = "INSERT INTO a1(name, age) VALUES (%s, %s);"
username = "二狗"
age = 18
try:
    # 執行SQL語句
    cursor.execute(sql, [username, age])
    # 提交事務
    conn.commit()
    # 提交以後,獲取剛插入的數據的ID
    last_id = cursor.lastrowid
except Exception as e:
    # 有異常,回滾事務
    conn.rollback()
cursor.close()
conn.close()

4批量執行

# 獲得一個能夠執行SQL語句的光標對象
cursor = conn.cursor()
sql = "INSERT INTO a1(name, age) VALUES (%s, %s);"
data = [("大狗", 18), ("二狗", 20), ("三狗", 21)]
try:
    # 批量執行多條插入SQL語句
    cursor.executemany(sql, data)
    # 提交事務
    conn.commit()
except Exception as e:
    # 有異常,回滾事務
    conn.rollback()
cursor.close()
conn.close()

5,刪

# 獲得一個能夠執行SQL語句的光標對象
cursor = conn.cursor()
sql = "DELETE FROM a1 WHERE id=%s;"
try:
    cursor.execute(sql, [4])
    # 提交事務
    conn.commit()
except Exception as e:
    # 有異常,回滾事務
    conn.rollback()
cursor.close()
conn.close()

6,改

# 獲得一個能夠執行SQL語句的光標對象
cursor = conn.cursor()
# 修改數據的SQL語句
sql = "UPDATE a1 SET age=%s WHERE name=%s;"
username = "二狗"
age = 80
try:
    # 執行SQL語句
    cursor.execute(sql, [age, username])
    # 提交事務
    conn.commit()
except Exception as e:
    # 有異常,回滾事務
    conn.rollback()
cursor.close()
conn.close()

7,查

單條數據


# 獲得一個能夠執行SQL語句的光標對象 cursor = conn.cursor() # 查詢數據的SQL語句 sql = "SELECT id,name,age from USER1 WHERE id=1;" # 執行SQL語句 cursor.execute(sql) # 獲取單條查詢數據 ret = cursor.fetchone() cursor.close() conn.close() # 打印下查詢結果 print(ret)

 

 

多條數據


# 獲得一個能夠執行SQL語句的光標對象 cursor = conn.cursor() # 查詢數據的SQL語句 sql = "SELECT id,name,age from USER1;" # 執行SQL語句 cursor.execute(sql) # 獲取多條查詢數據 ret = cursor.fetchall() cursor.close() conn.close() # 打印下查詢結果 print(ret)

 

三,控制光標

# 能夠獲取指定數量的數據
cursor.fetchmany(3)
# 光標按絕對位置移動1
cursor.scroll(1, mode="absolute")
# 光標按照相對位置(當前位置)移動1
cursor.scroll(1, mode="relative")
相關文章
相關標籤/搜索