数据库
首页 > 数据库> > python——连接数据库(MySQL)

python——连接数据库(MySQL)

作者:互联网

这儿是我觉得最有意思的地方,python是数据分析利器,而数据库是数据存储利器,加上数据库能够进行快速查找,配合起python真的是太爽了,自己做的项目里有个全国的气象站日值数据需要进行处理,用上了这两者,速度真的是蹭蹭的。

Let’s begin!
首先是MySql的一些使用细节,这儿我使用的MySq可视化软件是Navicat 12 for MySQL

连接数据库,并使用

#coding:utf8
#导入驱动
import mysql.connector as mysql

#打开数据库连接:地址、用户名、密码、指定数据库
cnx=mysql.connect(user='root',password='***********',host='localhost',database='students',port=3306)
#获得操作语句的游标
cursor=cnx.cursor()
#拼接数据库语句

插入操作

sqlstr="insert into student(id,stu_name,age,grade_id) values(7,'小花花',19,20)"
cursor.execute(sqlstr)   #运行完毕
#必须通过commit进行提交到数据库进行执行
cnx.commit()

更新操作

sqlstr="update student set age=35 where stu_name='小花花'"
cursor.execute(sqlstr)   #运行完毕
#必须通过commit进行提交到数据库进行执行
cnx.commit()

查询操作

sqlstr="select * from student"
cursor.execute(sqlstr)
#不再提交,查询内容
result=cursor.fetchall()
#可以遍历这个结果集
for row in result:
    print(row)
print(type(result))

删除操作

sqlstr="delete from student where stu_name='小明'"
cursor.execute(sqlstr)   #运行完毕
#必须通过commit进行提交到数据库进行执行
cnx.commit()

不重复插入

sqlstr="select * from student where stu_name='小花'"
cursor.execute(sqlstr)
result=cursor.fetchall()
#如果数据存在,则大于0
if len(result)>0:
    print("存在")
else:
    print("数据不存在")
    sqlstr="insert into student(id,stu_name,age,grade_id) values(10,'小花',23,43)"
    cursor.execute(sqlstr)
    cnx.commit()

标签:execute,python,数据库,cnx,cursor,MySQL,commit,sqlstr
来源: https://blog.csdn.net/Crazy1214/article/details/100007356