上一篇文章已经讲解了如何连接liunx中的mysql数据库,如果没有连接好数据库的话,可以看这一篇文章
增删改查
这是我接下来需要进行增删改查操作的数据表
Mysql中查询操作
python中操作mysql数据库主要就是通过连接池将游标传递出去
1.创建游标
curs = db.cursor()
2.定义一个sql的查询语句
sql =‘select * from abs_incoming;’
3.调用游标内的sql语句执行操作
curs.execute(sql1)
4.打印出查询结果
由于单独打印游标无法获取到数据,所以需要用fetchall进行获取
fetchall获取整条数据时使用,查询单条数据使用fetchone()会好些
print(curs.fetchall())
5.完整代码
import pymysql
db = pymysql.connect(host='192.168.52.129',#数据库的ip地址
user='root',#连接名
passwd='',#你的密码
database='abs',#数据库名称
port=3306)#端口号
curs = db.cursor()
sql1 ='select * from abs_incoming;'
curs.execute(sql1)
print(curs.fetchall())
6.指定查询
我想查询数据表中年龄为20的姓名和收入情况
sql1='select * from abs_incoming where age=20;'
curs.execute(sql1)
print(curs.fetchall())
Mysql中新增操作
1.单条数据插入
执行sql的插入语句
sql=‘insert into abs_incoming(name,age,incoming)values(“zhangsan”,20,8000);’
通过调用游标方法执行sql语句
curs.execute(sql)
执行脚本
db.commit()
释放资源
db.close()
插入成功后,数据表中多出一条数据
完整代码
import pymysql
db = pymysql.connect(host='192.168.52.129',#数据库的ip地址
user='root',#连接名
passwd='',#你的密码
database='abs',#数据库名称
port=3306)#端口号
curs = db.cursor()
sql='insert into abs_incoming(name,age,incoming)values("zhangsan",20,8000);'
curs.execute(sql)
db.commit()
db.close()
2.多条数据插入
执行sql语句
sql3 = ‘insert into abs_incoming(name,age,incoming)values(%s,%s,%s);’
要插入的多条数据
data=[(‘zhangersan’,‘18’,‘4200’),(‘leishen’,‘20’,‘3600’),(‘zhangwu’,‘22’,‘5400’)]
调用游标这里有两个一个是sql语句,另一个就是你要插入的参数
curs.executemany(sql3,data)
执行脚本
db.commit()
释放脚本
db.close()
完整代码
import pymysql
db = pymysql.connect(host='192.168.52.129',#数据库的ip地址
user='root',#连接名
passwd='',#你的密码
database='abs',#数据库名称
port=3306)#端口号
curs = db.cursor()
sql3 = 'insert into abs_incoming(name,age,incoming)values(%s,%s,%s);'
data=[('zhangersan','18','4200'),('leishen','20','3600'),('zhangwu','22','5400')]
curs.executemany(sql3,data)
db.commit()
db.close()
Mysql中删除操作
第一种方法直接定义
执行sql中删除语句
sql4 = ‘delete from abs_incoming where name=“leishen”;’
游标调用方法
curs.execute(sql4)
执行脚本
db.commit()
释放脚本
db.close()
第二种方法传递参数
sql4 = 'delete from abs_incoming where name=%s;'
s_name = "zhangersan"
curs.execute(sql4,[s_name])
db.commit()
db.close()
Mysql中修改操作
第一种方法直接定义
sql ='update abs_incoming set age = 30 where name="leishen";'
curs.execute(sql)
db.commit()
db.close()
第二种方法传递参数
sql = 'update abs_incoming set age =40 where name =%s'
na = "leishen"
curs.execute(sql,[na])
db.commit()
db.close()
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/134080.html