Python访问数据库步骤:
“”"
访问数据库步骤:
1.导入工具 pymysql
2.创建数据库连接 pymysql.connect()
3.创建游标对象 .cursor()
4.编写sql语句
5.执行sql语句
5.1如果是增删改查操作,执行cursor.execute(sql,(‘数据元组’,)),再提交commit()
5.2如果是读操作,执行cursor.execute(),之后使用fetchall()获取返回结果
6.关闭游标对象
7.关闭数据库连接
“”"
【本文所用工程文件已上传至项目文件,可免费下载查看。】
连接MySQL数据库
import pymysql
import datetime
db = pymysql.Connect(host='localhost', # 主机名
port=3306, # 端口名
user='root', # 数据库账户
password='123456', # 数据库密码
db='dbtest', # 执行数据库
charset='utf8') # 字符集
print("数据库连接成功!")
插入数据(参数化)
def insert_data(name,email,age):
try:
cur=db.cursor()
sql = 'insert into student(name,email,age) values (%s,%s,%s);'
print("SQL语句为:",sql) # 打印sql语句
cur.execute(sql,(name,email,age))
db.commit()
cur.close()
print("数据插入成功!")
except Exception as e:
print("操作失败,失败信息为:", e)
db.rollback() #回滚
finally:
db.close()
def main():
name=input("请输入name>>:")
email=input("请输入email>>:")
age=input("请输入age>>:")
insert_data(name,email,age)
if __name__ == '__main__':
main()
更改数据(参数化)
# 更改数据
def update_data(c_time,name):
try:
cur=db.cursor()
sql='update student set create_time=%s where name=%s;' # 更改时间
print("SQL语句为:",sql)
cur.execute(sql,(c_time,name))
db.commit()
cur.close()
print("更新数据成功!")
except Exception as e:
print("操作失败,失败信息为:" , e)
db.rollback()
finally:
db.close()
def main():
name=input("请输入name>>:")
update_data(datetime.datetime.today(),name) # 更改时间
if __name__ == '__main__':
main()
查询数据(参数化)
# 查询数据
def query_data(name):
try:
cur=db.cursor()
sql='select * from student where name=%s;'
print("SQL语句为:", sql)
cur.execute(sql,(name,))
result=cur.fetchall()
for row in result:
name = row[0]
email = row[1]
age = row[2]
create_time=row[3]
print('查询结果 Name: %s, Email:%s, Age: %s,create_time: %s' % (name, email, age,str(create_time)))
cur.close()
print("数据查询成功!")
except Exception as e:
print("操作失败,失败信息为:" , e)
finally:
db.close()
def main():
name=input("请输入name>>:")
query_data(name)
if __name__ == '__main__':
main()
删除数据(参数化)
# 删除数据
def delete_data(name):
try:
cur=db.cursor()
sql='delete from student where name=%s;' # 更改时间
print("SQL语句为:",sql)
cur.execute(sql,(name,))
db.commit()
cur.close()
print("数据删除成功!")
except Exception as e:
print("操作失败,失败信息为:" , e)
db.rollback()
finally:
db.close()
def main():
name=input("请输入name>>:")
delete_data(name)
if __name__ == '__main__':
main()