数据库(八.python连接MySQL)

MySQL对数据库和表的基本操作说的差不多了,现在用python来操作MySQL.

python连接MySQL

1.导入模块

import pymysql
没有这个包的话先用 pip安装一下
pip install pymysql

在这里插入图片描述

2.建立连接对象

conn = pymysql.connect(host="localhost", port=3306, user="root", password="123456", database="mydb")
参数:
host 主机,本机就写localhost就行
user 用户名
password 密码
database 指定数据库
port 端口号默认是3306,可以不写

3.创建游标对象

cur = conn.cursor()

4.使用游标对象执行SQL语句

result = cur.execute("select * from goods") 也可以把SQL语句赋给一个变量,把变量作为参数.
result 返回值 :
1)增删改,返回影响的行数
2)查询,返回总记录数

5.获取执行结果

result_one = cur.fetchone() 从查询结果中拿一条数据,是一个元组
result_list = cur.fetchall() 把查询结果的数据全部拿到,是一个元组包含着每一条结果

6.打印输出获取的内容

print(result_one)

for line in result_list:
     print(line)

7.关闭游标对象

cur.close() 用完之后要关闭

8.关闭连接对象

conn.close() 用完之后要关闭

# 1
import pymysql
# 2
conn = pymysql.connect(host='localhost', port=3306, user='root', password='123456', database='mydb')
# 3
cur = conn.cursor()
# 4
# cur.execute(sql语句),返回值是影响的行数,如果是查询语句,此处返回值总记录数
result = cur.execute("select * from goods")
print(result)
# 5
# cur.fetchone() 拿一条数据
# result_one = cur.fetchone()
result_list = cur.fetchall()
# 6
# print(result_one)
for line in result_list:
    print(line)
# 7
cur.close()
# 8
conn.close()

增删改

增删改只是SQL语句的变化

sql = "insert into 表名 values()"
sql = "update 表名 set 修改值 条件"
sql = "delete from 表名 条件"

  1. 增删改需要把SQL传给execute()执行之后要commit()一下才能修改到物理表,就是提交事务.查询不用.
  2. 要想在执行时传参给SQL,自己处理拼接SQL语句即可.

执行SQL的永远是数据库管理系统,通过python建立的连接只是python和数据库沟通的一个桥梁,我们只用拼好SQL并传给数据库执行再拿到结果就行了.(单纯拼接SQL可能会引发SQL注入问题)

关于SQL注入问题,下章再说.

如有错误还望指出

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值