6月23
1.請簡述安裝pymysql的流程:
①可以在pycharm頁面選擇setting進行下載安裝;
②可以在終端用命令進行安裝:pip install pymysql
2.請簡述事務的四個特性
原子性、一致性、隔離性、持久性
3.請用pymysql完成以下需求:
①插入一本書烂翰,名字為‘python從入門到放棄’,閱讀量為50,評論零為0车荔,發(fā)布日期是2020-01-01;
②測試工程是發(fā)現(xiàn)評論數不對戚扳,要求修改為250忧便;
③老板覺得名字不吉利,要求下架帽借;
④刪除后確定是否刪除珠增;
import pymysql
class DBUtil():
conn = None
cursor = None
@classmethod
def get_conn(self):
if self.conn is None:
self.conn = pymysql.connect(host=’192.168.0.171’,
port=3306,
user=’root’,
password=’root’,
datebase=’root’)
return self.conn
@classmethod
def get_cursor(self):
if self.cursor is None:
self.cursor = self.get_conn().cursor()
return self.cursor
@classmethod
def exe_sql(self,sql):
try:
cursor = self.get_cursor()
cursor.execute(sql)
if sql.split()[0].lower() = “select”:
return cursor.fetchall()
else:
self.conn.commit()
return cursor.fetchall()
except Exception as e:
self.conn.rollback()
print(e)
finally:
self.cursor_close()
self.conn_close()
@classmethod
def cursor_close(self):
if self.cursor:
self.cursor.close()
self.cursor = None
@classmethod(self):
if self.conn:
self.conn.close()
Self.conn = None
①import DBUtil
sql = “insert into t_book(title, read
, comment
, pub_date
) values(python從入門到放棄
, 50, 0, 2020-01-01
);”
result = DBUtil.exx_sql(sql)
print(result)
②sql = “update t_book set commet
= 250
where title
= python從入門到放棄
; ”
result = DBUtil.exe_sql(sql)
print(result)
③sql = “delete from t_book where title
= python從入門到放棄
; ”
④result = DBUtil.exe_sql(sql)
print(result)
4.小明正在練習pymysql,他寫入了插入數據庫的代碼砍艾,在代碼中能查到蒂教,但是查詢數據庫時,卻查不到他插入的數據辐董,請幫他找一找原因悴品,并寫出改正代碼。
import pymysql
# 建立連接
conn = pymysql.connect("localhost",'root','root','books')
# 獲取游標
cursor = conn.cursor()
sql_insert = "insert into t_book(title,`read`,`comment`,pub_date) values('小明的
哥哥叫大明',50,0,'2020-01-01');"
cursor.execute(sql_insert)
cursor.execute("select * from t_book where title='小明的哥哥叫大明';")
print("小明插入的書:", cursor.fetchall())
# 關閉游標
cursor.close()
# 關閉連接
conn.close()
# 輸出
小明插入的書: ((8, '小明的哥哥叫大明', datetime.date(2020, 1, 1), 50, 0, 0),)
# 通過數據庫連接查詢結果:
1 射雕英雄傳 1980-05-01 12 34 0
2 天龍八部 1986-07-24 36 40 0
3 笑傲江湖 1995-12-24 20 80 0
答:因為沒有提交事務简烘。