import pymysql conn = pymysql.connect( host="192.168.85.129", port=3306, user="root", password="123456", database="pymysql", charset="utf8" ) cursor = conn.cursor() # 默認游標類型為 Cursor類,即表現形式為元組 while True: name = input("請輸入插入記錄的用戶名>>>").strip() if name.upper() == "Q": break password = input("請輸入插入記錄的密碼>>>").strip() gender = input("請輸入插入記錄的性別>>>").strip() # 枚舉類型 male 和 female age = int(input("請輸入插入記錄的年齡>>>").strip()) sql = "insert into user (name,sex,age,password) values('%s','%s',%d,'%s')" % (name,gender,age,password) cursor.execute(sql) conn.commit() sql = "select * from user" ret = cursor.execute(sql) res = cursor.fetchall() # 獲得所有記錄 print(res) # ((1, 'chris', 'male', 28, '123456'), (2, 'jiayong', 'male', 18, '123'), (3, 'wuyi', 'female', 21, '123456'), (4, 'chendu', 'male', 23, '123')) cursor.scroll(0,mode="absolute") # 將光標以絕對方式,移動到絕對位置 0,即第一行記錄 res = cursor.fetchone() print(res) # (1, 'chris', 'male', 28, '123456') cursor.scroll(2,mode="relative") res = cursor.fetchone() # (4, 'chendu', 'male', 23, '123') # 可見光標的下標從0開始,當最后一條記錄獲取后,光標移動到記錄的結束。即結束也是一個光標位置 print(res) try: res = cursor.scroll(1,mode="relative") print(res) except IndexError as e: print(e) print("光標越界") cursor.scroll(-2,mode="relative") res = cursor.fetchone() print(res) cursor.scroll(0,mode="absolute") # 將游標移動到絕對位置 0,即,表的第一行記錄處,好像不能直接移動表尾 # cursor.executemany() # cursor.nextset() print(cursor.fetchone()) # cursor.scroll(12,mode="absolute") # print(cursor.fetchone()) # 通過一條查詢,插入多條數據 sql = "insert into user (name,password,sex,age) values(%s,%s,%s,%s)" # 自己拼接字符串,存在SQL注入問題,交給pymysql模塊 ret = cursor.executemany(sql,[('wangyuan','123456','male',38),('naxing','123','female',33)]) conn.commit() print(ret)
