import pymysql
import datetime
#安裝 pip install pymysql
"""
1、連接本地數據庫
2、建立游標
3、創建表
4、插入表數據、查詢表數據、更新表數據、刪除表數據
"""
#連接本地數據庫
db = pymysql.connect(
host = "localhost", #數據庫的主機地址
user = "root", #數據庫登錄的用戶名
passwd = "123456", #數據庫登錄的密碼
database = "test" #數據庫名字
)
#創建游標
cursor = db.cursor()
def create_table():
#如果存在student表,則刪除
cursor.execute("DROP TABLE IF EXISTS student")
#創建student表 --元組
sql = """
create table student(
id int not null,
name char(10),
age int,
address char(20),
create_time datetime)
"""
try:
# 執行SQL語句
cursor.execute(sql)
print("創建數據庫成功")
except Exception as e:
print("創建數據庫失敗:case%s"%e)
finally:
pass
#關閉游標連接
# cursor.close()
# 關閉數據庫連接
# db.close()
def insert_into():
#批量插入數據
sql = "INSERT INTO student VALUES(%s,%s,%s,%s,%s)"
params = [
(1,"小王",23,"深圳",datetime.datetime.now()),
(2,"小劉",24,"深圳",datetime.datetime.now()),
(3,"小宋",25,"深圳",datetime.datetime.now())
]
try:
# 執行SQL語句 批量插入用executemany
cursor.executemany(sql,params)
# 提交到數據庫執行
db.commit()
print("有",cursor.rowcount,"插入數據成功")
except Exception as e:
print("插入數據失敗:case%s"%e)
# 如果發生錯誤則回滾
db.rollback()
finally:
pass
# 關閉游標連接
# cursor.close()
# 關閉數據庫連接
# db.close()
def update_Set():
#SQL語句更新數據
sql = """UPDATE student SET address = '東莞' WHERE ID = %s"""%(2)
try:
# 執行SQL語句
cursor.execute(sql)
# 提交到數據庫執行
db.commit()
print("有",cursor.rowcount,"更新數據成功")
except Exception as e:
print("數據更新出錯:case%s"%e)
#發生錯誤是回滾
db.rollback()
finally:
pass
# 關閉游標連接
# cursor.close()
# 關閉數據庫連接
# db.close()
def select_form():
# SQL 查詢語句 --條件查詢
sql = "SELECT * FROM student WHERE ID = %s"%(2)
try:
# 執行SQL語句
cursor.execute(sql)
# 獲取所有記錄列表 fetchall
results = cursor.fetchall()
for row in results:
id = row[0]
name = row[1]
age = row[2]
address = row[3]
create_time = row[4]
print("id=%s,name=%s,age=%s,address=%s,create_time=%s"%\
(id,name,age,address,create_time))
except Exception as e:
print("查詢出錯:case%s"%e)
finally:
# 關閉游標連接
cursor.close()
# 關閉數據庫連接
db.close()
def exit():
"""退出系統"""
import sys
sys.exit()
print("退出系統")
def main():
while True:
choice = int(input("請選擇下面的數字:\n"
"1.創建表\n"
"2.插入數據\n"
"3.更新數據\n"
"4.查詢數據\n"
"5.退出系統\n"
))
if choice == 1:
create_table()
elif choice == 2:
insert_into()
elif choice == 3:
update_Set()
elif choice == 4:
select_form()
else:
exit()
if __name__ == "__main__":
main()