您的位置:首页 > 编程语言 > Python开发

python3.6 与MYSQL的安装与连接

2017-04-07 15:38 363 查看
因为要做文本相似性对比,所以需要大量资料,也需要把这些资料进行存储,进行比对时可以直接提取文本的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);
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: