1. 程式人生 > >python(mysql操作)

python(mysql操作)

user表結構

#coding = utf-8

'''
    如果mysql模組匯入不進去,請執行以下命令
    python -m pip install mysql-connector
'''

import mysql.connector
#建立連線
mydb = mysql.connector.connect(
  host="localhost",           # 資料庫主機地址
  user="root",                # 資料庫使用者名稱
  passwd="mysql",              # 資料庫密碼
  database="queue"            # 資料庫源名稱
)

mycursor = mydb.cursor()

def findAll():
    print("檢視所有資料")
    #執行SQL 不帶引數的查詢語句
    mycursor.execute("select * from user")

    #獲取所有記錄
    myresult = mycursor.fetchall()

    for oneData in myresult:
        print(oneData)
    print("")
def inputAA():
    input("任意鍵繼續")
    
    
print("************不帶引數的查詢語句*********************")
#執行SQL 不帶引數的查詢語句
mycursor.execute("select * from user")

#獲取所有記錄
myresult = mycursor.fetchall()

for oneData in myresult:
    print(oneData)

inputAA()
print("\n************帶引數的查詢語句*********************")
#執行SQL 不帶引數的查詢語句

selectSql = "select * from user where account= %s"
#元組只有一個元素的時候,要加個,來標明其是元組而不是運算子
params1 = ("aaaa3333",)
mycursor.execute(selectSql, params1)

#獲取所有記錄
myresult = mycursor.fetchall()

for oneData in myresult:
    print(oneData)
    
inputAA()
print("\n************帶引數的插入語句**********************")
insertSql = "insert into user(account,name) values(%s, %s)"
params2 = ("111222", "小王子")

mycursor.execute(insertSql, params2)

#涉及到修改,插入,刪除的時候需要commit一下
mydb.commit()  

#獲取操作成功的資料數量
print(mycursor.rowcount, "記錄插入成功。")

findAll()

inputAA()
print("\n************帶引數的更新語句**********************")
updateSql = "update user set name=%s where account=%s"
params3 = ("小王子1111","111222")
mycursor.execute(updateSql, params3)

#涉及到修改,插入,刪除的時候需要commit一下
mydb.commit()  

#獲取操作成功的資料數量
print(mycursor.rowcount, "記錄更新成功。")
findAll()

inputAA()

print("\n************帶引數的刪除語句**********************")
deleteSql = "delete from user where account = %s"
params4 = ("111222",)

mycursor.execute(deleteSql, params4)

#涉及到修改,插入,刪除的時候需要commit一下
mydb.commit()  

#獲取操作成功的資料數量
print(mycursor.rowcount, "記錄刪除成功。")
findAll()

inputAA()

print("\n************帶引數的批量插入語句**********************")
insertBatchSql = "insert into user(account,name) values(%s, %s)"
params5 = [("111111", "小王子"),("222222", "小王子"),("333333", "小王子")]

mycursor.executemany(insertBatchSql, params5)

#涉及到修改,插入,刪除的時候需要commit一下
mydb.commit()  

#獲取操作成功的資料數量
print(mycursor.rowcount, "記錄新增成功。")
findAll()

inputAA()


print("\n************帶引數的批量刪除語句**********************")
deleteBatchSql = "delete from user where account = %s"
params6 = [("111111",),("222222",),("333333",)]

mycursor.executemany(deleteBatchSql, params6)

#涉及到修改,插入,刪除的時候需要commit一下
mydb.commit()  

#獲取操作成功的資料數量
print(mycursor.rowcount, "記錄刪除成功。")
findAll()

inputAA()