内容简介:使用Python操作MySQLs数据库
为了实现 不斷學習 與時俱進 周末把大部分时间放在了学习 Python 上.
在最近的学习中有一些有价值的部分都摘录整理出来放到博客上,以免后续用到的时候忘记时回来翻翻博客.
我是在 study.163.com 的这个 《全栈数据工程师养成攻略》 课程中学习的,推荐大家学习一下.
本篇主要内容
主要分为三个大部分
- 搭建
Web环境 - 数据库 MySQL 的使用方法
- 使用Python操作MySQL
搭建 Web 环境
- Web环境: Apache、Nginx…
- Web服务启动中相关配置.
Web环境: Apache、Nginx…
两个平台的相关的下载
MAMP : Mac, Apache, MySQL, PHP
Mac, Apache, MySQL, PHP 缩写 MAMP
WAMP : Windows, Apache, MySQL, PHP
Windows, Apache, MySQL, PHP 缩写 WAMP
当然还有 linux 版本这里就不做多介绍了
总之需要安装这个软件进行环境配置的搭建.
我这里用 MAMP 举例说明一下
打开之后
Web服务启动中相关配置
开启 Apatch Server 和 MySQL Server 服务(右上角).
然后点击 Perferences ,进行本地端口配置.
这里有两种默认配置(红色框选部分)
如果把服务开启的话那么打开浏览器输入: localhost:8888 就可以看到相关的效果
localhost == 127.0.0.1
8888 是服务的端口
下面这张图可以选择文件根目录
什么意思呢?
就是你把网页的相关文件放到 这个文件夹的话
就会在浏览器上直接浏览.
这张图中间的 Open Start Page .
进入到数据库配置相关
配置数据库名称
输入表名
配置数据库表
配置完右侧完成
数据库MySQL的使用方法
- 基本概念
- 终端配置Python MySQL
- Navicat 数据的导出导入
- 个人的习惯搞法
基本概念
CURD 操作:
-
CCreate -
RRead -
UUpdate -
DDelete
这就是数据库相关知识中 增``删``改``查
终端配置Python MySQL
在终端中使用如下指令安装MySQL环境
pip install MySQL-python
我安装的时候出错了
最后执行
brew install mysql-python
然后再去执行 pip install MySQL-python
如何测试是否成功
在 shell 中输入 python
执行
import MySQLdb
如果没有错误就是OK的.
Navicat 数据的导出导入
这个数据库可视化操作软件大家自行下载吧
打开之后点击左上角点击新建connect 选择MySQL
接着配置数据库的信息
这里的名称就是 数据库名称
host 地方本地,如果是远程的话,填写
ip 或者
url
port 前面我们设置了
8889
账号和密码输入 root (前面图里面已经看到了账号密码都是一样的)
下面就是连接数据库
下面这张图就是
数据库导出和导入,当然也可以导出导入数据表.
个人的习惯搞法
- 使用
phpmyadmin新建数据库和数据表 - 使用
python插入、读取、更新、修改数据 - 使用
Navicat导出数据库 - 使用
phpmyadmin导入数据库
最后deloy(部署)到线上,这样就可以避免各种错误操作数据库的问题
使用Python操作MySQL
这个没啥就是coding部分,使用之前把点击 这里下载 这个文本文件
我们用 sublime text 新建一个 text.py 文件
#!/usr/bin/env python
# coding:utf8
import sys
reload(sys)
sys.setdefaultencoding("utf8")
import MySQLdb
import MySQLdb.cursors
注意:_test.py最好和douban_movie clean.txt保持在同一个目录这样就不用写路径了
接着创建数据库连接
db = MySQLdb.connect(host='127.0.0.1', user='root', passwd='root', db='douban', port=8889, charset='utf8', cursorclass=MySQLdb.cursors.DictCursor) //1
db.autocommit(True) //2
cursor = db.cursor() //3
fr = open('douban_movie_clean.txt','r') //4
fr.close() //4
cursor.close() //3
db.close() //1
注意 db 记得用完关闭, cursor 也要记得关闭, fr 是文件的读写 和数据库没啥关系也需要记得用完关闭
下面解释一下什么意思
-
db创建输入库实例,输入参数host(这里用的是127.0.0.1也可以换成localhost)、passwd、db、port、charset、cursorclass. - 自动改完提交完成更新数据库
- 通过
db实例拿到一个连接cursor每次都通过cursor.execute()执行增删改查操作 sql 语句 - 读取本地的文本文件
大概就是这个意思
读取数据
# Create
# 读取数据
fr = open('douban_movie_clean.txt', 'r')
count = 0
for line in fr:
count += 1
# count表示当前处理到第几行了
print count
# 跳过表头
if count == 1:
continue
# strip()函数可以去掉字符串两端的空白符
# split()函数按照给定的分割符将字符串分割为列表
line = line.strip().split('^')
# 插入数据,注意对齐字段
# execute()函数第一个参数为要执行的SQL命令
# 这里用字符串格式化的方法生成一个模板
# %s表示一个占位符
# 第二个参数为需要格式化的参数,传入到模板中
cursor.execute("insert into movie(title, url, rate, length, description) values(%s, %s, %s, %s, %s)", [line[1], line[2], line[4], line[-3], line[-1]])
# 关闭读文件
fr.close()
通过我们拿到的 cursor 连接实例来执行 cursor.execute() 函数进行 sql 的插入操作.
来看下结果
更新数据
更新数据 比如我想把id=1的记录更新一下 title 字段和 length 长度
# Update
cursor.execute("update movie set title=%s, length=%s where id=1", ['孙亚洲', 999])
读取数据
# Read
cursor.execute("select title, length from movie where id=1")
movies = cursor.fetchone()
删除数据
# Delete
cursor.execute("delete from movie where id=%s",[2])
下面看下完成的代码
#!/usr/bin/env python
# coding:utf8
import sys
reload(sys)
sys.setdefaultencoding("utf8")
import MySQLdb
import MySQLdb.cursors
db = MySQLdb.connect(host='127.0.0.1', user='root', passwd='root', db='douban', port=8889, charset='utf8', cursorclass=MySQLdb.cursors.DictCursor)
db.autocommit(True)
cursor = db.cursor()
fr = open('douban_movie_clean.txt','r')
# Create
count = 0
for line in fr:
count += 1
print count
if count == 1:
continue
line = line.strip().split('^')
cursor.execute("insert into movie(title, url, rate, length, description) values(%s, %s, %s, %s, %s)", [line[1], line[2], line[4], line[-3], line[-1]])
fr.close()
# Update
cursor.execute("update movie set title=%s, length=%s where id=1", ['孙亚洲', 999])
# Read
cursor.execute("select title, length from movie where id=1")
movies = cursor.fetchone()
print len(movies)
# print movies[0]
# Delete
cursor.execute("delete from movie where id=%s",[2])
cursor.close()
db.close()
总结
通过学习 python 操作数据库很有收获,想起了大学李月辉老师教我怎么用 java 连接数据库.
在工作中我们可能会遇到一大堆数据如何插入到数据等问题,通过学习了本章内容可以很容易的处理批量数据.
关于更多的SQL语句
参考 SQL 教程
全文完
以上所述就是小编给大家介绍的《使用Python操作MySQLs数据库》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!
猜你喜欢:本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
Head First EJB(中文版)
KathySierra,Ber / 中国电力出版社 / 2006-9 / 79.00元
有些人只是想通过认证来取悦挑剔的老板,但相信你不是这种人。确实,你也想通过Su n认证业务组件开发人员(SCBCD)考试,但不仅如此,你还需要真正把EJB用到实处。你要构建应用,要对付最后期限,如果通过考试之后第二天早上就把你学过的EJB知识忘得一干二净,你肯定会受不了。 我们会看着你稳稳当当地通过考试,而且会帮你在实际中使用EJB。你会深入地了解EJB体系结构、会话、实体和消息驱动......一起来看看 《Head First EJB(中文版)》 这本书的介绍吧!