python操作數據庫步驟以及操作過程中經常出現的異常


第一部分:dos窗口操作,創建相應數據庫、表 

1、進入mysql  :mysql -uroot -p

2、查看所有數據庫:show batabases;

3、創建數據庫:create batabase test;

4、選擇數據庫: use test;

5、創建user表: CREATE TABLE `user` (  `uid` INT PRIMARY KEY AUTO_INCREMENT,  `uname` VARCHAR(30) NOT    NULL,  `pwd` VARCHAR(30) NOT NULL);

6、查看user表:desc user;

7、添加user表參數[uname,pwd] : insert into user(uname,pwd)values('tom','123');

異常示例:

第二部分:編寫相應腳本

注意: pip install MySQLdb

import MySQLdb

db = MySQLdb.Connect('localhost', 'root', 'root', 'test', charset='utf8')
# 使用 cursor() 方法創建一個游標對象cur
cur = db.cursor() # 獲取游標
def select_sql(sql):

# 使用 execute() 方法執行 SQL 查詢
cur.execute(sql)
# 使用 fetchall() 方法獲取查詢結果
data = cur.fetchall()
print(data)
# 關閉數據庫連接
db.close()

def update_sql(sql):
try:
cur.execute(sql)
db.commit()
except Exception as e:
print('操作異常:%s'%str(e))
db.rollback()
db.close()
def select_sql2(sql):
try:
# 執行SQL語句
cur.execute(sql)
# 獲取所有記錄列表
results = cur.fetchall()
for row in results:
uid = row[0]
uname = row[1]
pwd = row[2]
# 打印結果
print (uid, uname,pwd)
except:
print
"Error: unable to fecth data"

# 關閉數據庫連接
db.close()
if __name__ == '__main__':
sql1 = "insert into user(uname,pwd) values('jk4','123')"
sql2 = "select * from user"
sql3 = "select uname,pwd from user where uid=1"
sql4 = "delete from user where uname='rows'"
sql5 = "update user set pwd='666' where uname='jk3'"
# update_sql(sql1)
# select_sql(sql2)
select_sql2(sql2)

異常:

TypeError: an integer is required (got type str) --- 添加charset='utf8'


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM