溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

MySQL數(shù)據(jù)庫(kù)的操作案例

發(fā)布時(shí)間:2020-10-24 14:02:16 來(lái)源:億速云 閱讀:181 作者:小新 欄目:編程語(yǔ)言

小編給大家分享一下MySQL數(shù)據(jù)庫(kù)的操作案例,希望大家閱讀完這篇文章后大所收獲,下面讓我們一起去探討吧!

一、鏈接數(shù)據(jù)庫(kù)

conn = pymysql.connect(host='127.0.0.1', port=3306, user='school_spt', passwd='123456', db='school_info')   #返回個(gè)鏈接對(duì)象

二、創(chuàng)建游標(biāo)

cursor = conn.cursor()

三、sql拼接命令

1.字符串拼接(不推薦使用該方式,容易被sql注入)

user='root'
pwd='123456'
sql='select * from userinfo where password=%s and username=%s'%(pwd,user)

2.pymysql命令自帶拼接

executsql命令, args)    #args可以是列表,元組或者字典
 
列表:
 
user='root'
pwd='123456'
sql='select * from userinfo where password=%s and username=%s'
cursor.execute(sql,[pwd,user])
元組
user='root'
pwd='123456'
sql='select * from userinfo where password=%s and username=%s'
cursor.execute(sql,(pwd,user))
 
字典
sql='select * from userinfo where password=%(password)s and username=%(username)s'
cursor.execute(sql,({'password':pwd,'username':user}))

四、查

sql='select * from userinfo'
res=cursor.execute(sql)   #返回受影響的行數(shù)
#獲取返回的數(shù)據(jù)
cursor.fetchone()      #獲取返回的第一行內(nèi)容
cursor.fetchmany(n)    #獲取返回的前n行內(nèi)容
cursor.fetchall()          #獲取返回的全部?jī)?nèi)容
 
#返回的數(shù)據(jù)默認(rèn)是元組形式,如果要以字典形式顯示
cursor = conn.cursor(cursor=pymysql.cursors.DictCursor)

五、改(改,刪,增)

1.增

 sql=‘insert into userinfo(username,password) values(%s,%s)’
    cursor.execute(sql,('root','123'));   #單條插入
    也可以使用批量插入數(shù)據(jù)
    cursor.executemany(sql,[('root','123'),('root1','1234'),('root2','123')]);

2.改,刪沒(méi)有批量執(zhí)行命令,批量一般都使用單條執(zhí)行

3.增,刪,改操作后,都需要使用 conn.commit()來(lái)確認(rèn)提交數(shù)據(jù)

六、execute會(huì)返回受影響的行數(shù)。一般不適用

七、scroll 在fetch數(shù)據(jù)時(shí)按照順序進(jìn)行(類似生成器),可以使用cursor.scroll(num,mode)來(lái)移動(dòng)游標(biāo)位置,如:

cursor.scroll(1,mode='relative')  # 相對(duì)當(dāng)前位置移動(dòng)
cursor.scroll(2,mode='absolute') # 相對(duì)絕對(duì)位置移動(dòng)

八、獲取最后的自增id值(lastrowid)

id=cursor.lastrowid

九、關(guān)閉游標(biāo)和鏈接

cursor.close()  #先關(guān)閉游標(biāo)
conn.close()    #再關(guān)閉連接

看完了這篇文章,相信你對(duì)MySQL數(shù)據(jù)庫(kù)的操作案例有了一定的了解,想了解更多相關(guān)知識(shí),歡迎關(guān)注億速云行業(yè)資訊頻道,感謝各位的閱讀!

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI