Python:pymysql应用

安装python包

  • python相关的软件包数量庞大,python标准包没有包括全部可用的包
  • python官方支持的软件包站点:https://pypi.org/
  • 安装python包可以使用pip。yum用于安装rpm包,pip用于安装python包
  • pip可以在线安装装软件包,也可以安装本地包
  • 在线安装时,默认将会到pypi官方站点安装,速度慢。
  • 配置使用国内镜像站点安装python包
[root@localhost nsd2020]# mkdir ~/.pip
[root@localhost nsd2020]# vim ~/.pip/pip.conf
[global]
index-url = http://mirrors.aliyun.com/pypi/simple/
[install]
trusted-host=mirrors.aliyun.com

# 在线安装wget / pymysql
[root@localhost nsd2020]# pip3 install wget
[root@localhost nsd2020]# pip3 install pymysql
  • 本地安装python包。需事先在http://pypi.org上下载
# 本地安装pymysql
[root@localhost software]# tar xf zzg_pypkgs.tar.gz 
[root@localhost software]# cd zzg_pypkgs/
[root@localhost zzg_pypkgs]# pip3 install pymysql_pkgs/* pymysql_pkgs/*.tar.gz
  • 查看安装的额外的包
[root@localhost ~]# pip3 freeze
asn1crypto==0.24.0
cffi==1.11.5
cryptography==2.4.2
idna==2.7
pycparser==2.19
PyMySQL==0.9.2
six==1.11.0
wget==3.2	

pymysql应用

  • 安装mariadb-server或mysql-server
[root@localhost ~]# yum install -y mariadb-server
[root@localhost ~]# systemctl start mariadb
[root@localhost ~]# systemctl enable mariadb
[root@localhost ~]# mysqladmin password tedu.cn
[root@localhost ~]# mysql -uroot -ptedu.cn
MariaDB [(none)]> CREATE DATABASE nsd2005 DEFAULT CHARSET utf8mb4;
  • 操作
# py_mysql.py
import pymysql

# 创建到数据库的连接
conn = pymysql.connect(
    host='localhost',
    user='root',
    password='密码',
    db='database',
    charset='utf8mb4',
)

# 创建游标。游标像文件对象一样,通过文件对象对文件读写;通过游标对数据库进行增删改查
cursor = conn.cursor()

# 编写sql语句
create_dep = """CREATE TABLE departments(
id INT, dep_name VARCHAR (20),
PRIMARY KEY(id)
)"""

# 执行sql语句
cursor.execute(create_dep)
# 确认
conn.commit()
# 关闭
cursor.close()
conn.close()

# pymysql_crud.py
# create / retrieve / update / delete
import pymysql

# 创建到数据库的连接
conn = pymysql.connect(
    host='localhost',
    user='root',
    password='密码',
    db='database',
    charset='utf8mb4',
)

# 创建游标。游标像文件对象一样,通过文件对象对文件读写;通过游标对数据库进行增删改查
cursor = conn.cursor()

############################################
# 编写sql语句
# insert1 = "INSERT INTO departments VALUES(%s, %s)"

# 插入一行数据
# cursor.execute(insert1, (1, '人事部'))
# 插入多行数据
# cursor.executemany(insert1, [(2, '运维部'), (3, '开发部'), (4, '测试部'), (5, '财务部')])
############################################
# 查询
# select1 = "SELECT id, dep_name FROM departments"
# cursor.execute(select1)
# result1 = cursor.fetchone()  # 取出一行数据
# result2 = cursor.fetchmany(2)  # 继续取出2行数据
# result3 = cursor.fetchall()  # 继续取出剩余全部数据
# print(result1)
# print('*' * 30)
# print(result2)
# print('*' * 30)
# print(result3)
############################################
# 修改
# update1 = 'UPDATE departments SET dep_name=%s WHERE dep_name=%s'
# cursor.execute(update1, ('人力资源部', '人事部'))
# select2 = 'SELECT id, dep_name FROM departments WHERE dep_name=%s'
# cursor.execute(select2, ('人力资源部',))
# print(cursor.fetchall())
############################################
# 删除
delete1 = 'DELETE FROM departments WHERE id=%s'
cursor.execute(delete1, (5,))
############################################
# 确认
conn.commit()
# 关闭
cursor.close()
conn.close()

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值