第一部分: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:
"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'