无论做 Python 爬虫、数据分析、web 后端还是运维,数据库都是必须要掌握的内容
那么今天我们就来熟悉一下 Python 与 Mysql 的交互—— PyMySQL
命令窗测试
首先安装好Mysql客户端和PyMySQL模块(教程很多,不赘述)
如果安装好但是出现这种情况,就要添加一下环境变量
打开你安装的 mysql 的目录 我的是这样的
C:Program FilesMySQLMySQL Server 8.0bin
添加到环境变量里
再次尝试进入环境
如果出现【mysql>】证明已经进入 mysql 环境了,当然这样密码太过明目张胆,会出现警告
先退出,然后换这种方式,就不会有警告了
进行一下基本操作,记得命令后面要加分号(除了 use world 选择数据库不用),不然会认为你命令没有输完
正确输出结果后就开始进入正题了
PyMySQL
语法还是比较简单的,我们就过一遍建数据库,建表,增删改查
新建数据库
import pymysql
#无指定数据库
con = pymysql.connect(host='localhost',user='root',passwd='root',port=3306)
#指定数据库
#con =pymysql.connect(host='localhost',user='root',passwd='root',port=3306,db='business')
cursor = con.cursor()
cursor.execute('create database if not exists business default charset utf8')
con.commit()
execute 里面直接写 SQL 语法就行了,不会的可以上菜鸟教程学
端口是数字格式,utf8 那里不能写成 utf-8
新建表
cursor.execute('use business')
cursor.execute('''CREATE table if not exists boss(id int auto_increment primary key,
name varchar(20) not null,
salary int not null)''')
MYSQL 大小写不敏感,不过在 sublime 里面第一个单词大写颜色会好看些
增
sql = """INSERT into boss(name,salary)
values ('Jack',91),
('Harden',1300),
('Pony',200)"""
cursor.execute(sql)
con.commit()
SQL 语句如果太长了的话,可以写成一个多行字符串的形式
删
cursor.execute('delete from boss where salary < 100')
con.commit()
一定要 commit,提交了语句才生效
改
cursor.execute("UPDATE boss set salary = 2000 where name = 'Pony'")
con.commit()
关闭数据库
con.close()