学习是一个逐步发现自己无知的过程!

pymysql模块用法

很多Python第三方模块都可以操作数据库,个人比较常用的pymysql、由于不是内置模块需要提前安装后即可使用。

正常情况下如下命令就可以安装成功

pip3 install pymysql

创建数据库

import pymysql

user = 'root'
pwd = 'Abc@123'

# 这里没有指定要连接的数据库
connects = pymysql.connect(host='10.211.55.12',
                           port=3306,
                           user=user,
                           password=pwd,
                           charset='utf8mb4'
                           )

# 创建一个游标
cur = connects.cursor()
# sql语句、这里创建了一个名字为student的数据库
sql = "create database student;"
res = cur.execute(sql)
  • 游标:游标是一段私有的SQL工作区,也就是一段内存区域,用于暂时存放受SQL语句影响到的数据。通俗理解就是将受影响的数据暂时放到了一个内存区域的虚表中,而这个虚表就是游标、可以简单的理解为暂存区

创建数据表

import pymysql

user = 'root'
pwd = 'Abc@123'

# 不选择数据库、忽略
connects = pymysql.connect(host='10.211.55.12',
                           port=3306,
                           user=user,
                           password=pwd,
                           database='student',
                           charset='utf8'
                           )
# 创建一个游标
cur = connects.cursor()
# sql语句
sql = '''
create table user_info(
    id int not null auto_increment,
    user varchar(30) not null ,
    pwd varchar(30) not null ,
    primary key(id)
    )
'''
res = cur.execute(sql)

cur.close()
connects.close()

插入数据

import pymysql

user = 'root'
pwd = 'Abc@123'

# 不选择数据库、忽略
connects = pymysql.connect(host='10.211.55.12',
                           port=3306,
                           user=user,
                           password=pwd,
                           database='student',
                           charset='utf8'
                           )
# 创建一个游标
cur = connects.cursor()

data = [
    ('liudashuai', 'lds123'),
    ('zhangdashuai', 'zds123'),
    ('chendashuai', 'cds123')
]
# sql语句
sql = 'insert into user_info (user, pwd) values (%s, %s);'

# 插入单条数据
res = cur.execute(sql, ['administrator', 'cg123'])

# 插入多条数据
res = cur.executemany(sql, data)

# 提交事务
connects.commit()

cur.close()
connects.close()

查看数据

import pymysql

user = 'root'
pwd = 'Abc@123'

# 不选择数据库、忽略
connects = pymysql.connect(host='10.211.55.12',
                           port=3306,
                           user=user,
                           password=pwd,
                           database='student',
                           charset='utf8'
                           )
# 创建一个游标
cur = connects.cursor()

# sql语句
sql = 'select * from user_info where id<5;'
res = cur.execute(sql)

# 每一条数据记录的是元组,返回回来也是元组
datas = cur.fetchall()
print(datas)

cur.close()
connects.close()

fetchone() 获取下一行数据,第一次为首行;
fetchall() 获取所有行数据源
fetchmany(4) 获取下4行数据

删除数据

import pymysql

user = 'root'
pwd = 'Abc@123'

# 不选择数据库、忽略
connects = pymysql.connect(host='10.211.55.12',
                           port=3306,
                           user=user,
                           password=pwd,
                           database='student',
                           charset='utf8'
                           )
# 创建一个游标
cur = connects.cursor()

# sql语句
name = 'zhangdashuai'
sql = 'delete from user_info where user=%s;'
res = cur.execute(sql, name)

# 创建、修改、删除数据,都需要提交事务
connects.commit()

cur.close()
connects.close()

修改数据

import pymysql

user = 'root'
pwd = 'Abc@123'

# 不选择数据库、忽略
connects = pymysql.connect(host='10.211.55.12',
                           port=3306,
                           user=user,
                           password=pwd,
                           database='student',
                           charset='utf8'
                           )
# 创建一个游标
cur = connects.cursor()

# sql语句
user_name = 'administrator'
user_pwd = 'abc@123'
sql = 'update user_info set pwd=%s where user=%s;'
res = cur.execute(sql, [user_pwd, user_name])
connects.commit()

cur.close()
connects.close()
赞(0)
未经允许不得转载:劉大帥 » pymysql模块用法

你的评论可能会一针见血! 抢沙发

登录

找回密码

注册