python3.6 与MYSQL的安装与连接
因为要做文本相似性对比,所以需要大量资料,也需要把这些资料进行存储,进行比对时可以直接提取文本的id
首先对MYSQL进行安装,我是从百度软件库中下载的MYSQL,
安装
然后进行安装,之前我从官网下载的,使用不了,可能是之前已经安装了一遍MYSQL,百度软件这个是安装时自带32/64位,你可以自己选择,
虽然名字是5.6.24,可是安装的MYSQL是5.7.17版的需要注意的是在安装之前你需要下载并安装一下Python4.3,因为安装的软件只有与python3.4的connector,所以需要实现安装一下,我的安装流程主要是看了一本叫《Python 3 基础教程》里面恰巧有这个安装步骤
安装需要注意:
1.在安装之前你需要下载并安装一下Python4.3,因为安装的软件只有与python3.4的connector
2.port :3306
3.MYSQL安装完成后,将安装目录下的bin文件夹添加到系统环境变量path中,这样输入mysql -u root -p,才会启动mysql
4.不需要对my-default.ini进行修改。
如何将python3.6与MYSQL进行连接?
1.PyMySQL 是在 Python3.x 版本中用于连接 MySQL 服务器的一个库,Python2中则使用mysqldb。所以需要pip install PyMySQL
2.进行数据库的连接,我们可以在CMD中启动mysql,或者打开
来启动,首先我们需要在mysql下新建一个database 如:mysql> create database mydb; 然后在mysql> use mydb; create table students(创建一个students表)
3.在python编译下,对创建的表进行插入,修改,删除等操作时需要启动mysql,而且还有mysql> use mydb; (就是表所在的数据库)
一下用一个实例进行说明:主要是参考了http://www.cnblogs.com/hank-chen/p/6624299.html,也对其里面的一些bug进行了更改。
- mysql> create database mydb;
刚开始测试这个例子时用创建了一个money的表,但是在python编译时出现
所以重新对其创建了一个save.money(主要要把之前的表给删了,不然会出现错误),我用了‘id',出现了语法错误,所以直接id就行,不要带引号。
- import pymysql
- # 连接数据库
- connect = pymysql.Connect(
- host='localhost',
- port=3306,
- user='root',
- passwd='1234',
- db='save',
- charset='utf8'
- )
- # 获取游标
- cursor = connect.cursor()
- # 插入数据
- sql = "INSERT INTO money (name, account, saving) VALUES ( '%s', '%s', %.2f )"
- data = ('雷军', '13512345678', 10000)
- cursor.execute(sql % data)
- connect.commit()
- print('成功插入', cursor.rowcount, '条数据')
- # 修改数据
- sql = "UPDATE money SET saving = %.2f WHERE account = '%s' "
- data = (8888, '13512345678')
- cursor.execute(sql % data)
- connect.commit()
- print('成功修改', cursor.rowcount, '条数据')
- # 查询数据
- sql = "SELECT name,saving FROM money WHERE account = '%s' "
- data = ('13512345678',)
- cursor.execute(sql % data)
- for row in cursor.fetchall():
- print("Name:%s\tSaving:%.2f" % row)
- print('共查找出', cursor.rowcount, '条数据')
- # 删除数据
- sql = "DELETE FROM money WHERE account = '%s' LIMIT %d"
- data = ('13512345678', 1)
- cursor.execute(sql % data)
- connect.commit()
- print('成功删除', cursor.rowcount, '条数据')
- # 事务处理
- sql_1 = "UPDATE money SET saving = saving + 1000 WHERE account = '18012345678' "
- sql_2 = "UPDATE money SET expend = expend + 1000 WHERE account = '18012345678' "
- sql_3 = "UPDATE money SET income = income + 2000 WHERE account = '18012345678' "
- try:
- cursor.execute(sql_1) # 储蓄增加1000
- cursor.execute(sql_2) # 支出增加1000
- cursor.execute(sql_3) # 收入增加2000
- except Exception as e:
- connect.rollback() # 事务回滚
- print('事务处理失败', e)
- else:
- connect.commit() # 事务提交
- print('事务处理成功', cursor.rowcount)
- # 关闭连接
- cursor.close()
- connect.close()
结果如下:
附加MySQL相关知识:
如何用MySQL建立数据库
启动mysql
查看现有数据库
mysql> show databases;
创建数据库(假如数据库名为 mydb)
mysql> create database mydb;
删除数据库(假如数据库名为 mydb)
mysql> drop database accounts;
使用数据库(假如使用数据库 mydb)
mysql> use mydb;
执行完使用数据库命令后,就可以对该数据库进行创建、修改、插入、删除表等操作,
mysql数据库怎么创建数据表并添加数据
使用 create table 语句可完成对表的创建, create table 的常见形式:
create table 表名称(列声明);
以创建 students 表为例, 表中将存放 学号(id)、姓名(name)、性别(sex)、年龄(age)、联系电话(tel) 这些内容:
create table students
(
id int unsigned not null auto_increment primary key,
name char(8) not null,
sex char(4) not null,
age tinyint unsigned not null,
tel char(13) null default "-"
);
向表中插入数据
insert 语句可以用来将一行或多行数据插到数据库表中, 使用的一般形式如下:
insert [into] 表名 [(列名1, 列名2, 列名3, ...)] values (值1, 值2, 值3, ...);
其中 [] 内的内容是可选的, 例如, 要给 samp_db 数据库中的 students 表插入一条记录, 执行语句:
insert into students values(NULL, "王刚", "男", 20, "13811371377");
按回车键确认后若提示 Query Ok, 1 row affected (0.05 sec) 表示数据插入成功。 若插入失败请检查是否已选择需要操作的数据库。
有时我们只需要插入部分数据, 或者不按照列的顺序进行插入, 可以使用这样的形式进行插入:
insert into students (name, sex, age) values("孙丽华", "女", 21);