mysql网络数据库操作模块_mysql数据库操作

python操作数据库流程

下载mysql驱动模块(pymysql)

引入模块

建连接(建立和数据库连接)

执行sql语句

非查询:增加,删,修改

查询:select

处理结果

释放资源

关连接

关游标! 驱动介绍 python操作mysql驱动/第三方模块: MySQLdb PyMysql pymysql: 支持2.x 支持3.x mysqldb: 只支持3.x #安装模块 pip install pymysql

增删改

SQL python实现非查询

非查询:步骤一样的!

区别: sql语句不同, 参数个数不同! # 增加 insert into 表名(列1,列2,....) values(值1,值2,...) # 删除 delete from 表名 ; # 删除表中所有数据! delete from 表名 where 条件; # 修改 update 表名 set 列1=值1,列2=值2,....; #不加条件,修改所有列!~ update 表名 set 列1=值1,列2=值2,....where 条件; select * from students where sex ='男'; insert into students(name,sex,age,birthday,phone,addr) values('刘帅','女',20,now(),'17600950805','山西') ; update students set sex='男' where name ='刘帅' delete from students where name ='刘晒' def my_execute(sql,params): '''非查询通用功能! sql语句, 参数列表''' # 2.连接

conn = pymysql.connect(host='39.98.39.173',port=13306,user='root',passwd='root',db='1909C2',c harset='utf8') print(conn) # 3. 获取游标 cur = conn.cursor() # 4. 执行sql num = cur.execute(sql,params) #print(f'影响行数:{num}') conn.commit() # 必须手动提交到数据库! # 5. 释放资源 cur.close() conn.close() # 返回影响行数! return num if name == 'main': # 通用 sql ='insert into students(name,sex,age,birthday,phone,addr) values(%s,%s,%s,%s,%s,%s)' params=('王五','女',39,'2020-11-03','17600950805','山西') if my_execute(sql,params)>0: print('数据库操作成功!') else:print('数据库操作失败!')

参数如何传递

sql ='insert into students(name,sex,age,birthday,phone,addr) values(%s,%s,%s,%s,%s,%s)' # 格式:一行数据就是一个元组! params=('王五','女',39,'2020-11-03','17600950805','山西') num = cur.execute(sql,params)

批量执行非查询

sql ='insert into students(name,sex,age,birthday,phone,addr) values(%s,%s,%s,%s,%s,%s)' # 格式:一行数据就是一个元组! params=[('王五1','女',39,'2020-11-03','17600950805','山西'),('王五2','女',39,'2020-11- 03','17600950805','山西')] num = cur.executemany(sql,params) # 结果大于1的

核心对象

连接对象: conn= pymysql.connect(host='IP地址',port=13306,user='用户名',passwd='密 码',db='数据库名',charset='utf) conn.close() #关闭

cur= conn.cursor() 创建游标

游标 Cursor 操作数据库依靠游标!

num = cur.execute(sql,参数) 执行非查询,返回影响的行数! num=cur.executemangy(sql,[(),(),..]) 批量执行非查询,返回影响行数! cur.close() cur.fetchone() 抓取1条,,返回元组或None cur.fetchall() 抓取所有

cur.fetchmany(大小) 指定抓取大小

cur.next() 游标下移!

查询

任务

增加

删改

查所有

根据名字查

import pymysql def get_one(): # 1. 连接 conn = pymysql.connect(host='39.98.39.173', port=13306, user='root', passwd='root', db='1909C2', charset='utf8') # 2. 打开游标 cur = conn.cursor() # 3. 执行 sql ='select * from students where sex = %s' cur.execute(sql,('女')) #result = cur.fetchone() # 返回一个元组() 默认找第1个! result = cur.fetchall() # 返回多个元祖 ((),(),(),...) print(result)

for stu in result: print(f'id:{stu[0]},名字:{stu[1]}') # 4.关闭资源 cur.close() conn.close() if name == 'main': get_one()

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值