Python-MySQL
一、安装PyMySQL
1、首先环境是centos7,如果你上面安装了数据库,请先卸载掉设备上原有的默认数据库,我们需要的是互联网源,如果没有请下载163或阿里源
2、yum -y install wget 下载wget工具
3、wget -i -c http://dev.mysql.com/get/mysql57-community-release-el7-10.noarch.rpm
4、yum -y install mysql57-community-release-el7-10.noarch.rpm
5、yum -y install mysql-community-server
6、启动mysql服务:
systemctl start mysqld.service
7、查看启动状态:如果出现running则证明启动成功
systemctl status mysqld.service
8、查看初始化密码:过滤出来的就是初始密码
cat /var/log/mysqld.log | grep “password”
9、登录mysql
mysql -uroot -pxxxxx
10、需要先修改密码,否则不能进行操作
ALTER USER ‘root’@‘localhost’ IDENTIFIED BY ‘Root@123’;
这里如果出现ERROR 1819 (HY000): Your password does not satisfy the current policy requirements
需要注意你设置的密码需要符合密码原则,如果想要查询 SHOW VARIABLES LIKE ‘validate_password%’;
MEDIUM,所以刚开始设置的密码必须符合长度,且必须含有数字,小写或大写字母,特殊字符。
有时候,只是为了自己测试,不想密码设置得那么复杂,譬如说,我只想设置root的密码为123456。
必须修改两个全局参数:
首先,修改validate_password_policy参数的值
set global validate_password_policy=LOW;关闭密码原则
当前密码长度为 8 ,如果不介意的话就不用修改了,按照通用的来讲,设置为 6 位的密码,设置 validate_password_length 的全局参数为 6 即可,
输入设值语句 “ set global validate_password_length=6; ” 进行设值
11、想要通过WinDows远程登录需要授权
grant all privileges on . to root@’%’ identified by ‘Root@123’;
12、刷新权限
flush privileges;
exit
13、最后安装PyMySQL:
$ pip3 install PyMySQL
二、测试python是否能连接到数据库
1、首先在命令行输入ipython,如果没有python3也可以
2、ipython
In [1]: import pymysql
#批量导入mysql模板
In [2]: db = pymysql.connect(“localhost”,“root”,“Root@123”,“test”)
#打开数据库连接,注意这里依次是"地址",“用户”,“密码”,“库名”
#这个test库需要自己创建的
In [3]: cursor = db.cursor()
#使用cursor()方法创建一个游标对象cursor,用户存放sql语句
In [4]: cursor.execute(“SELECT VERSION()”)
#使用execute()方法执行sql查询
Out[4]: 1
In [5]: data = cursor.fetchone()
#使用fetchone()方法获取单条数据
In [6]: print(data)
(‘5.7.32’,)
#如果出现版本号则证明连接成功
In [7]: db.close()
#关闭连接
三、创建表
接下来都是通过脚本实现,这里面使用的都是最简单的表,你可以设置一些主键约束或者不为空、默认值都可以
import pymysql
#打开数据库连接
db = pymysql.connect("localhost","root","Root@123","test")
#使用cursor()方法 创建一个游标对象
cursor = db.cursor()
#使用execute()方法执行SQL语句
cursor.execute("DROP TABLE IF EXISTS emp")
#如果这个表存在就删除
sql