python——连接数据库(MySQL)
作者:互联网
这儿是我觉得最有意思的地方,python是数据分析利器,而数据库是数据存储利器,加上数据库能够进行快速查找,配合起python真的是太爽了,自己做的项目里有个全国的气象站日值数据需要进行处理,用上了这两者,速度真的是蹭蹭的。
Let’s begin!
首先是MySql的一些使用细节,这儿我使用的MySq可视化软件是Navicat 12 for MySQL
- show DATABASES 查看所有数据库
- CREATE DATABASE students 创建数据库
- use students:切换数据库
- show TABLEs:查看当前数据库下的所有表
- 编辑数据库,utf8 utf8_general_ci ,设置中文字符(从一开始就要设置好)
- 添加了数据之后,需要进行刷新提交
连接数据库,并使用
#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