内容简介:使用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
操作:
-
C
Create -
R
Read -
U
Update -
D
Delete
这就是数据库相关知识中 增``删``改``查
终端配置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数据库》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!
猜你喜欢:本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
Beginning XML with DOM and Ajax
Sas Jacobs / Apress / 2006-06-05 / USD 39.99
Don't waste time on 1,000-page tomes full of syntax; this book is all you need to get ahead in XML development. Renowned web developer Sas Jacobs presents an essential guide to XML. Beginning XML with......一起来看看 《Beginning XML with DOM and Ajax》 这本书的介绍吧!