#建鏈接
#設遊標
#執行sql語句
import pymysql
ip ="1.1.1.1"
user = 'admin'
password="123456" #需是字符串
db='student'
port=3306
charset = 'utf8' #注意是utf8,而不是utf-8
conn = pymysql.connect(host=ip , port=port,
user=user, password=password,
db=db, charset=charset
) #創建鏈接,port能夠不寫,默認是3306
cur= conn.cursor(pymysql.cursors.DictCursor)#遊標
sql = 'select *from user limit 10;'
cur.execute(sql) #執行sql語句,不返回結果
#conn.commit() #提交;執行insert、update的時候要commit一下;若是不寫的話,conn中加一個參數autocommit=True,自動提交
one = cur.fetchone() #獲取一條數據,若執行fetchall後,其餘數據都取不到了,相似於文件指針
many = cur.fetchmany() #獲取多條數據,輸入幾就是取幾條
all = cur.fetchall() #獲取全部數據,數據量比較小的時候使用,數據量大的話 仍是fetchone
cur.close()#關遊標
conn.close()#關鏈接
print(one) #cur加上pymysql.cursors.DictCursor,這個取出來是一個字典
print(many) #cur加上pymysql.cursors.DictCursor,這個取出來是一個list,裏面值是字典
print(all) #cur加上pymysql.cursors.DictCursor,這個取出來是一個list,裏面值是字典
##封裝成函數
def op_mysql(sql): db_info = {'user': 'jxz', 'password': '123456', 'host': '1.1.1.1', 'db': 'stu', 'port': 3306, 'charset': 'utf8', 'autocommit': True} conn = pymysql.connect(**db_info) # 創建鏈接 cur = conn.cursor(pymysql.cursors.DictCursor) # 遊標 cur.execute(sql) # 執行sql語句,insert 、update 、delete result = cur.fetchall() cur.close() conn.close() return result