PYMYSQL
import pymysql
client = pymysql.connect(
ip='127.0.0.1', # IP
port=3306, # 端口
user='root', # 賬號
password='', # 密碼
database='t1', # 庫
charset='utf8' # 字符編碼
)
cursor = client.cursor(pymysql.cursors.DictCursor) # 拿到遊標,將拿到的信息轉換成字典
user_info = [
(3, "alex"),
(4, "lxx"),
(5, "yxx")
]
# for user in user_info:
# sql = 'insert into t1 values(%s,"%s");' % (user[0], user[1])
# res = cursor.execute(sql) # 拼接sql語句
還有一種簡單的操作可以取代上面的for 循環
增加一條數據到數據庫
sql = 'insert into t1 values(%s,"%s")'
cursor.executemany(sql, user_info)
刪除一條信息
cursor.execute('delete from t1 where id=3;')
更改信息
cursor.execute('update t1 set password="12345" where name ="lxx";')
查詢語句
user_name = input('請輸入賬號名:').strip()
user_password = input('請輸入密碼:').strip()
sql = 'select id from user where name=%s and pwd=%s;'
rows = cursor.execute(sql, (user_name, user_password))
if rows:
print('登陸成功')
else:
print('賬號或者密碼錯誤')
查詢語句把結果拿到
sql = 'select id from user where id>3;'
rows = cursor.execute(sql)
print(cursor.fetchall()) # 全部拿到,拿過一次第二次拿就沒有
print(cursor.fetchone()) # 拿一條信息
print(cursor.fetchmany(2)) # 拿2條信息
控制指針,有2種方式(這樣就可以實現重複讀取信息)
cursor.scroll(0, mode='absolute') # 絕對位置移動(從行首開始)
cursor.scroll(3, mode='relative') # 相對當前位置移動(相對當前的位置往後移動3條信息)
try:
cursor.execute(sql)
cursor.execute(sql)
cursor.execute(sql)
client.commit()
except Exception as e:
client.rollback() # 回溯, 如果上面的sql語句出現了錯誤那麼就會回溯到沒有插入數據的時候
client.commit() # 要想成功執行SQL語句,必須調用commit插入到數據庫
cursor.close() # 關閉MYSQL客戶端
client.close() # 關閉連接