pymsql学习笔记
生活随笔
收集整理的這篇文章主要介紹了
pymsql学习笔记
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
pymsql學習筆記
1. 執行SQL
#!/usr/bin/env python
# -*- coding:utf-8 -*-
import pymysql# 創建連接
conn = pymysql.connect(host='127.0.0.1', port=3306, user='root', passwd='123', db='t1')
# 創建游標
cursor = conn.cursor()# 執行update,并返回收影響行數, print(effect_row)返回受影響的行數
effect_row = cursor.execute("update hosts set host = '1.1.1.2'")# 執行update,后面括號內容就是插入變量,%s,%d使用方式一樣
#effect_row = cursor.execute("update hosts set host = '1.1.1.2' where nid > %s", (1,))# 執行SQL,并返回受影響行數
#effect_row = cursor.executemany("insert into hosts(host,color_id)values(%s,%s)", [("1.1.1.11",1),("1.1.1.11",2)])# 提交,不然無法保存新建或者修改的數據
conn.commit()# 關閉游標
cursor.close()
# 關閉連接
conn.close()
2、獲取新創建數據自增ID
#!/usr/bin/env python
# -*- coding:utf-8 -*-
import pymysqlconn = pymysql.connect(host='127.0.0.1', port=3306, user='root', passwd='123', db='t1')
cursor = conn.cursor()
cursor.executemany("insert into hosts(host,color_id)values(%s,%s)", [("1.1.1.11",1),("1.1.1.11",2)])
conn.commit()
cursor.close()
conn.close()# 獲取最新自增ID
new_id = cursor.lastrowid
3、獲取查詢數據,使用fetch來獲取查詢的結果
#!/usr/bin/env python
# -*- coding:utf-8 -*-
import pymysqlconn = pymysql.connect(host='127.0.0.1', port=3306, user='root', passwd='123', db='t1')
cursor = conn.cursor()
cursor.execute("select * from hosts")# 獲取第一行數據
row_1 = cursor.fetchone()# 獲取前n行數據
# row_2 = cursor.fetchmany(3)
# 獲取所有數據
# row_3 = cursor.fetchall()conn.commit()
cursor.close()
conn.close() 注:在fetch數據時按照順序進行,可以使用cursor.scroll(num,mode)來移動游標位置,如:
- cursor.scroll(1,mode='relative') ?# 相對當前位置移動
- cursor.scroll(2,mode='absolute') # 相對絕對位置移動
4、fetch數據類型
關于默認獲取的數據是元祖類型,如果想要或者字典類型的數據,即:
#!/usr/bin/env python
# -*- coding:utf-8 -*-
import pymysqlconn = pymysql.connect(host='127.0.0.1', port=3306, user='root', passwd='123', db='t1')# 游標設置為字典類型
cursor = conn.cursor(cursor=pymysql.cursors.DictCursor)
r = cursor.execute("call p1()")result = cursor.fetchone()conn.commit()
cursor.close()
conn.close() fetchone只選擇一個執行,如果執行兩次fetchone會獲取下一個結果,好像迭代器一樣
fetchmany選擇多個執行,fechmany(3)一次拿三次
fetchall選擇全部執行
cursor.scroll(-1, mode='relative') # 相對的位置向上移動游標
cursor.scroll(2, mode='absolute') # 絕對的位置向下移動游標
?
?
MySQL 其他注意事項:
1. syntax = NULL 這是錯誤的寫法,正確應該為 IS NULL,作為判斷
2. inter join vs outer join
?
posted on 2017-10-17 05:36 ecwork 閱讀(...) 評論(...) 編輯 收藏轉載于:https://www.cnblogs.com/ecwork/p/7679753.html
總結
以上是生活随笔為你收集整理的pymsql学习笔记的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 双色球二拖十多少钱一注
- 下一篇: 玻尿酸去法令纹的价格是多少