安装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()