python3 使用資料庫(SQL命令大小寫一樣)

2021-09-03 01:42:22 字數 1800 閱讀 8759

import pymysql//需要pip3 install pymsql

連線資料庫,返回連線到的資料庫db,和游標cursor

cursor,db=connect_db()

def connect_db():

db=pymysql.connect(host='127.0.0.1',

#遠端ip位址host='x.x.x.x',傳到雲端時修改為host='127.0.0.1'

port=3306, #資料庫的埠號

user='name', #資料庫使用者名稱

passwd='pwd', #資料庫使用者密碼

db='bd', #資料庫名

)cursor=db.cursor(cursor=pymysql.cursors.dictcursor)

##預設,通過游標獲取的返回值是元組(4),只能看到每行資料,不知道每一列代表什麼,使用該方式來返回字典,每一行的資料都會生成乙個字典

return cursor,db

在資料庫裡建立乙個表,有兩個欄位name,age

cursor.execute("drop table if exists biao")#如果資料庫中已經有該名的表,刪除它

sql="""create table biao(name char(20),

age int(20)

)"""

cursor.execute(sql)

db.commit()

在表中插入新字段

sql="alter table biao add (weight int(20))"

cursor.execute(sql)

db.commit()

在表中插入資料

sql="insert into biao (name, age) values('ming', 13)"

cursor.execute(sql)

db.commit()

查詢單個內容:查詢news表中id=4的title的值

sql='select title from news where id=4'#獲取表中id=4的title列

cursor.execute(sql)

result=cursor.fetchone()#獲得下乙個查詢結果

查詢很多內容:查詢new表中所有id的值

sql='select title from news'#獲取表中title列

cursor.execute(sql)

result=cursor.fetchall()#接收全部的返回結果行

for re in result:

***

更新資料:更新news表中所有的title值

for id in rang(1, 5, 1):#1開始,5之前結束,一次跳一步,為:1,2,3,4

sql="update news set title='%s' where id=%d"%(string, id)

try:

cursor.execute(sql)

db.commit()

print("{}"寫入成功).format(id)#({} {}).format(x,x)如同%

except:

#發生錯誤時回滾

db.rollback()

結束時

db.close()#關閉資料庫連線

python3 使用連線mysql 資料庫

pymysql 是在 python3.x 版本中用於連線 mysql 伺服器的乙個庫,python2中則使用mysqldb。pymysql 遵循 python 資料庫 api v2.0 規範,幷包含了 pure python mysql 客戶端庫。pip3 install pymysql匯入pymy...

使用python3操作mysql資料庫

因為使用的python3.6,所以需要載入pymysql庫,需要注意的是,python2和python3載入的庫是不一樣的。pymysql.connect host,port,user,passwd,db,charset 如 host localhost port 3306,user root pa...

python3 操作MySQL資料庫

pip3 install pymysql usr bin python3 import pymysql 在進行資料的修改更新和刪除時,需要進行commit 資料的獲取 cursor.fetchone self cursor.fetchall self cursor.fetchmany self,si...