pymysql的使用超详细

文章介绍了如何安装pymysql库,并详细阐述了使用pymysql连接MySQL数据库的步骤,包括导入库、连接数据库、创建游标、执行SQL操作(增删改查)以及关闭连接。同时,文章还列举了常见的问题,如忘记IP地址、用户名、密码等,并给出了相应的解决办法。
摘要由CSDN通过智能技术生成

一、安装pymysql

在控制台输入如下代码安装pymysql

pip install pymysql

二、使用步骤

(1)导包

当然需要导包啦,输入如下代码开始导包

import pymysql

(2)连接数据库

pymyql使用的是connect来连接数据库,我们常用的参数及介绍如下

类型参数名数据类型说明(数据库)一般默认值
必要hoststr数据库域名或IP地址127.0.0.1/localhost
必要portint端口号3306
必要userstr用户名root
必要passwd/passwordstr密码
必要database(db)str需要连接的数据库名(你的数据库名字叫什么就是什么)db1
非必要charsetstr编码类型utf8

一般代码形式如下:

可按需求修改,有问题可看结尾的常见问题

db=pymysql.connect(
    #本机使用localhost,服务器使用ip地址
    host='localhost',
    #用户名,如变动请按变动后修改
    user='root',
    #密码,如变动请按变动后修改
    password='123456',
    #数据库名,如变动请按变动后修改
    database='db1')

(3)创建游标

游标可以想象成数据库中的指针,对表的操作可以让它一行一行的向下运动,让数据不断向下填充,创建游标的代码如下:

注:db为连接数据库对象

cursor = db.cursor()

(4)操作数据库

通用操作数据库语句,可执行增,删,改,查等数据库操作

cursor为游标对象

cursor.execute('sql语句')

下面介绍具体使用方法

①添加数据【增】

添加数据库有两种操作语句

  1. execute():它为一条一条记录的添加,当面对较大数据量的时候速度很慢

    cursor.execute('sql语句')
    
  2. executemany():批量添加多条记录

    cursor.executemany('sql',要插入的数据[列表])
    

添加数据时我们需使用提交语句提交给数据库:

注:db为连接数据库对象

db.commit()

为了处理异常我们对其添加异常处理方法,有错误使用下列语句,对事务进行回滚:

db.rollback()

execute()具体代码如下,可直接使用

sql='sql语句【添加】'
try:
   # 执行sql语句
   cursor.execute(sql)
   # 提交执行
   db.commit()
except:
   # 有错误则回滚
   db.rollback()

executemany()具体代码如下,可直接使用

sql='...前面省略后面为values(%s,%s,%s,%s)'
try:
    cursor.executemany(sql,data)
    # 提交事务
    db.commit()
except:
    # 发生错误回滚
    db.rollback()

db.close()

②删除/修改数据【删/改】

添加数据时我们需使用提交语句提交给数据库:

注:db为连接数据库对象

db.commit()

为了处理异常我们对其添加异常处理方法,有错误使用下列语句,对事务进行回滚:

db.rollback()

具体代码如下,可直接使用

sql='sql语句【添加】'
try:
   # 执行sql语句
   cursor.execute(sql)
   # 提交执行
   db.commit()
except:
   # 有错误则回滚
   db.rollback()

③查询数据

因为查询数据需要返回值,所以我们单拿出来讲

查询数据时我们需使用获取返回值语句得到返回值,返回值语句有三种:

  • fetchone():该方法获取下一个查询结果,结果为一个对象

    cursor.fetchone()
    
  • fetchall():接收全部的返回结果

    cursor.fetchall()
    
  • rowcount:只读,返回结果为执行sql语句影响的行数

    cursor.rowcount
    

为了处理异常我们对其添加异常处理方法,有错误使用下列语句,对事务进行回滚:

db.rollback()

具体代码如下,可直接使用

sql='sql语句【查询语句】'
try:
   # 执行sql语句
   cursor.execute(sql)
   #接收返回值可按需求使用fetchone()\fetchall()\rowcount语句接收
	results = cursor.fetchall()
    #输出结果
    print(results)
except:
   # 没有结果输出
   print('没有结果')

(5)关闭连接

关闭连接记住一句话,创建了几个对象,关闭几个对象,先创建的后关闭,后创建的先关闭

关闭连接语句为:

对象.close()

如上,我首先创建了连接对象db,然后创建了游标对象cursor,我们需要先关闭游标对象,再关闭连接对象

# 关闭游标对象
cursor.close()
# 关闭数据库连接
db.close()

pymysql总结

到这里我们的pymysql就已经讲完了,总结一下。我们连接数据库需要如下几个步骤,缺一不可。

  1. 导包
  2. 创建数据库连接对象
  3. 创建游标对象
  4. 操作数据库
  5. 关闭连接

三、常见问题

1)不知道ip地址

(1)window

①win+r打开控制台

②在控制台中输入如下命令,然后回车,查看Ipv4地址即可

ipconfig

(2)Linux

①登录root用户

②打开控制台

③在控制台输入如下命令,并找到inet可查看ip地址

ifconfig -a

(3)max

①进入系统偏好设置

②进入网络

③进入以太网可查看ip地址

2)忘记用户名

①打开mysql的控制台,如果已经配置环境变量的可以直接使用cmd控制台输入如下命令然后回车进入mysql

mysql -u root -p

②在mysql中输入如下命令可查看用户名

select user,host from mysql.user;

3)忘记密码了怎么办

①在cmd控制台输入如下命令关闭mysql服务

net stop mysql

②使用如下命令启动mysql服务(服务器会不加载权限判断,任何用户都能访问数据库)注:命令运行之后,用户无法再输入指令

mysqld --skip-grant-tables

③打开新的命令行窗口,输入不加密码的登录命令

mysql -u root

④登录成功后可以使用update语句修改密码

⑤修改完成后使用flush privileges语句刷新权限表

⑥输入如下命令的命令行窗口关闭

mysqld --skip-grant-tables

4)不知道/忘记数据库名

①打开mysql的控制台,如果已经配置环境变量的可以直接使用cmd控制台输入如下命令然后回车进入mysql,并输入密码进入mysql服务器

mysql -u root -p

②输入下列指令查询所有数据库

show databases;

5)数据库一般操作

  • 查看数据库中的表:

    use 数据库名;
    show tables;
    
  • 查看表结构:

    describe 表名;
    
  • 建立表:

    use 库名; 
    create table 表名 (字段设定列表);
    
  • 建立数据库:

    create database 库名;
    
  • 删除数据库与表:

    drop database 库名; 
    drop table 表名;
    
  • 清空表中记录:

    delete from 表名;
    
  • 显示表中的记录:

    select * from 表名
    
  • 7
    点赞
  • 81
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值