日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > 数据库 >内容正文

数据库

centos写mysql光标移到上一行_python操作mysql——使用pymysql库

發布時間:2023/12/10 数据库 31 豆豆
生活随笔 收集整理的這篇文章主要介紹了 centos写mysql光标移到上一行_python操作mysql——使用pymysql库 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

pymysql是python3連接mysql操作的庫,在python2中使用的是mysqldb

1.基礎操作

創建連接

import pymysqldb_conn = pymysql.connect(host="你的數據庫地址",user="用戶名",port=3306,password="密碼",database="數據庫名",charset="utf8")# 得到一個可以執行SQL語句的光標對象 cursor = conn.cursor() # 執行完畢返回的結果集默認以元組顯示 # 得到一個可以執行SQL語句并且將結果作為字典返回的游標 # cursor = conn.cursor(cursor=pymysql.cursors.DictCursor)# 定義要執行的sql語句 sql = """ CREATE TABLE USER1 ( id INT auto_increment PRIMARY KEY , name CHAR(10) NOT NULL UNIQUE, age TINYINT NOT NULL )ENGINE=innodb DEFAULT CHARSET=utf8; #注意:charset='utf8' 不能寫成utf-8 """# 執行 res=cursor.execute(sql) sql = 'select * from user1 where name = %s and age=%d' name = "zhangchen" age = 28 # execute函數可以加格式化字符參數 res = cursor.execute(sql, [name, age]) print(res)# 執行結束后要關閉光標和連接 cursor.close() db_conn.close()

2.增刪改查

插入多條數據

import pymysqlconn = pymysql.connect(host='192.168.0.103',port=3306,user='root',password='123',database='xing',charset='utf8' ) # 獲取一個光標 cursor = conn.cursor()# 定義要執行的sql語句 sql = 'insert into userinfo(name,age) values(%s,%d);' data = [('july', 14),('june', 25),('marin', 36) ] # 拼接并執行sql語句 cursor.executemany(sql, data)# 涉及寫操作要注意提交 conn.commit()# 關閉連接 cursor.close() conn.close()

插入單條數據

sql ='insert into userinfo (user,pwd) values (%s,%d);'name = 'zhangchen' pwd = 28 cursor.execute(sql, [name, pwd]) conn.commit() cursor.close() conn.close()

獲取最后一行的數據(可以理解為最新插入的數據)

# 定義將要執行的SQL語句 sql = "insert into user1 (name, age) values (%s, %d);" name = "zhangchen" pwd = 28 # 并執行SQL語句 cursor.execute(sql, [name, age]) # 涉及寫操作注意要提交 conn.commit()# 獲取最新的那一條數據的ID last_id = cursor.lastrowid print("最后一條數據的ID是:", last_id)# 關閉連接 cursor.close() conn.close()

刪除操作

# 定義將要執行的SQL語句 sql = "delete from user1 where name=%s;" name = "june" # 拼接并執行SQL語句 cursor.execute(sql, [name]) # 涉及寫操作注意要提交 conn.commit() # 關閉連接cursor.close() conn.close()

更改數據

sql = "update user1 set age=%d where name=%s;" # 拼接并執行SQL語句 cursor.execute(sql, [18, "zhangchen"])# 涉及寫操作注意要提交 conn.commit()# 關閉連接 cursor.close () conn.close ()

查詢數據

# 獲取一個光標 cursor = conn.cursor(cursor=pymysql.cursors.DictCursor) # 返回字典數據類型# 定義將要執行的sql語句 sql = 'select name,age from user1;' # 執行sql語句 cursor.execute(sql)# 取到查詢結果 ret1 = cursor.fetchone() # 取一條 ret2 = cursor.fetchmany(3) # 取三條 ret3 = cursor.fetchone() # 取一條# 光標按絕對位置移動1 cursor.scroll(1, mode="absolute") # 光標按照相對位置(當前位置)移動1 cursor.scroll(1, mode="relative")

數據回滾

try:# 拼接并執行SQL語句cursor.execute(sql1, [name, age])print(sql1)cursor.execute(sql2, [id, hobby]) # 報錯的SQL語句# 涉及寫操作注意要提交conn.commit() except Exception as e:print(str(e))# 有異常就回滾conn.rollback()# 關閉連接 cursor.close() conn.close()

總結

以上是生活随笔為你收集整理的centos写mysql光标移到上一行_python操作mysql——使用pymysql库的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。