windows搭建python开发环境并操作MySQL

最近需要使用MySQL来存储数据,由于应用场景比较简单, 如果专门用C++或Java来开发难免麻烦, 这里使用python来操作MySQL,简单快捷。

首先搭建python开发环境, 这个很简单, 只需要到python官网 https://www.python.org/ 下载 Python 2.7.14版本, 下载后文件名是python-2.7.14.msi ,双击安装,安装过程中一直下一步即可, 注意勾选添加到环境变量的选项即可, 这里就不再多说。

那么接下来就是搭建MySQL了, 也是到MySQL官网 https://dev.mysql.com/downloads/mysql/5.6.html 下载 MySQL 5.7版本, 下载后文件名为 mysql-installer-community-5.7.19.0.msi, 双击安装, 这里注意一个地方 ,就是设置root的密码, 可以设置成123456, 这个密码一定要记住!! 

然后需要安装python支持的MySQL驱动, 到 https://pypi.python.org/pypi/MySQL-python/1.2.5 下载,下载后文件名为 MySQL-python-1.2.5.win32-py2.7.exe, 双击安装即可。这样, 开发环境算是配好了, 接下来来看看如何通过python来操作MySQL。 

打开windows的cmd命令窗口, 分别执行以下动作:

# 使用root用户打开mysql程序, 登录密码是123456
mysql -hlocalhost -uroot -p123456

# 显示当前存在的数据库
show databases;

# 创建一个数据库, 名为  test
create database test;

# 使用数据库 test 来操作
use test;

# 在数据库test 中创建一个表 mytable,  有六个元素, 分别是 Date, Num1 - Num5 。 float(m, n) 表示总共有m位, 小数点有n位!!
create table mytable(Date VARCHAR(20), Num1 float(10,2),Num2 float(10,2),Num3 float(10,2),Num4 float(10,2),Num5 float(10,4));

# 显示数据库test的所有表项
show tables;

# 描述当前表项, 可以看到指定表项的列和元素类型
describe mytable;

# 查看当前表项所有的数据内容
select * from mytable;

可以看到,利用MySQL创建了一个数据库test, 并创建了一个表mytable, 当前表中无数据。

在桌面上创建一个csv文件,命名为test123.csv, 添加一行数据:

20170918084900000,19475.88,19530.08,19475.2,19486.88,1.5358

创建一个test..py文件,添加如下内容:

import MySQLdb
import csv

try:
    # 打开csv文件, 如果不存在, 则在当前目录下创建一个
    csvFile = open('test123.csv','r')
    reader = csv.reader(csvFile)  # 返回的是迭代类型

    # 打开数据库连接, 123456 是密码,  test是数据库的名称
    db = MySQLdb.connect("localhost","root","123456","test" )

    # 使用cursor()方法获取操作游标 
    cursor = db.cursor()

    for item in reader:
         # SQL 插入语句
        sql = 'insert into mytable values ("%s", "%s", "%s", "%s", "%s", "%s")' % (item[0], item[1], item[2], item[3], item[4], item[5])

        try:
           # 执行sql语句
           cursor.execute(sql)
           # 提交到数据库执行
           db.commit()
        except:
           # Rollback in case there is any error
           db.rollback()

    # 关闭数据库连接
    db.close()

except Exception as e:
    print('Error:', e)

finally:
    if csvFile:
        csvFile.close()

运行test.py文件后, 再次通过命令行查询, 会发现多了一行数据,如下图:

关于MySQL的操作, 还可以做很多其他的操作,包括删除数据,删除表格等:

# 删除当前表项所有的数据内容
delete from mytable;

# 删除指定的表项
drop table mytable;


猜你喜欢

转载自blog.csdn.net/ballack_linux/article/details/78178620
今日推荐