目錄又是乙個可以幫助我們實現用**來運算元據庫的模組,安裝,匯入即可
然後匯入即可使用
# pymysql基本使用
import pymysql
conn = pymysql.connect(
user='root',
password='123',
host='127.0.0.1',
port=3306,
charset='utf8',
database='db3'
)cursor = conn.cursor(cursor=pymysql.cursors.dictcursor) # 產生乙個游標物件
# 括號中cursor=pymysql.cursors.dictcursor 是將查詢出來的結果製作成字典的形式返回
sql = "select * from user_info" # 在pycharm中,加不加分號無所謂,pymysql會自動給你加
res = cursor.execute(sql) # 執行sql語句
# print(res) # ---> 3 execute返回的時候當前sql所影響的行數
# ret = cursor.fetchone() # 只獲取查詢結果中的一條資料
# ret = cursor.fetchall() # 獲取查詢結果的所有資料
# ret = cursor.fetchmany(2) # 指定獲取幾條資料,如果數字超過了也不會報錯
# print(ret)
# print(cursor.fetchone())
# print(cursor.fetchone())
# 相對移動
cursor.scroll(2,'relative') # 基於指標所在位置,往後偏移
# 絕對移動
cursor.scroll(1, 'absolute') # 基於起始位置,往後偏移
解決方法
import pymysql
conn = pymysql.connect(
user='root',
passwd='123',
db='db3',
host='127.0.0.1',
port=3306,
charset='utf8'
)cursor = conn.cursor(cursor=pymysql.cursors.dictcursor)
# 獲取使用者輸入的使用者名稱和密碼,然後去資料庫中校驗
username = input('username>>>:').strip()
password = input('password>>>:').strip()
# sql = "select * from user_info where username='%s' and password='%s'" % (username,password) # 注意:不要自己拼接
sql = "select * from user_info where username=%s and password=%s"
print(sql)
cursor.execute(sql, (username, password))
res = cursor.fetchall()
if res:
print(res)
else:
print('username or password error')
先來個例子再說
import pymysql
conn = pymysql.connect(
user = 'root',
passwd = '123',
db = 'db3',
host = '127.0.0.1',
port = 3306,
charset = 'utf8'
)cursor = conn.cursor(cursor=pymysql.cursors.dictcursor)
# 增sql = "insert into user_info(username,password) values('jason_dsb',111)"
# 改# sql = "update user_info set username='jason_dsb' where id = 2"
# 刪除
# sql = "delete from user_info where id=1"
res = cursor.execute(sql)
print(res) # 結果---> 1
可以發現,每個語句執行結果都是1,證明語句的執行都影響了一條資料,但是發現,資料庫資料不變
why?
because:針對增 刪 改 操作,都是對資料庫的資料進行了實際操作,執行的重要程度較高,所以,必須要有一步確認操作(commit)
import pymysql
conn = pymysql.connect(
user = 'root',
passwd = '123',
db = 'db3',
host = '127.0.0.1',
port = 3306,
charset = 'utf8'
)cursor = conn.cursor(cursor=pymysql.cursors.dictcursor)
# 增sql = "insert into user_info(username,password) values('tank_dsb',111)"
# 改# sql = "update user_info set username='jason_dsb' where id = 2"
# 刪除
# sql = "delete from user_info where id=1"
res = cursor.execute(sql)
conn.commit() # 確認當前操作,真正同步到資料庫
print(res) # 結果---> 1
autocommit = true #自動提交確認
)cursor = conn.cursor(cursor=pymysql.cursors.dictcursor)
# 增# sql = "insert into user_info(username,password) values('tank_dsb',111)"
# 改# sql = "update user_info set username='jason_dsb' where id = 2"
# 刪除
sql = "delete from user_info where id=9"
res = cursor.execute(sql)
# conn.commit() # 確認當前操作,真正同步到資料庫
print(res) # 結果---> 1
SQ中的decimal 函式的使用以及個人理解
在網上搜了好幾個關於decimal 的部落格,不是特別理解,結合前人的部落格以及個人的理解,寫下這個部落格,便於自己記憶加深理解。decimal一般用於對精度要求高的,比如與金錢相關的,用整型和浮點型都不行了,才會用到decimal,或者用於sql查詢中也可以 decimal a,b a 指的是整數...
NSSortDescriptor使用以及陣列排序
nssortdescriptor 指定用於物件陣列排序的物件的屬性。物件可能是字典,這種情況就是對字典陣列排序 如果是employee物件需要按照name來排序,就生成下面的descriptor nssortdescriptor descriptor nssortdescriptor sortdes...
CString基本使用以及 和Char 之間的轉化
cstring 的簡單使用 1.cstring 物件的連線 cstring 物件的連線是通過該類的 成員操作符進行的。成員操作符也稱為連線操作符,可以把兩個字串連線起來,並返回乙個 cstring 的物件。但需要注意的是 兩個引數字串至少有乙個是 cstring 物件,另外乙個可以是字元或者字元指標...