内容简介:使用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数据库》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!
猜你喜欢:本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
人类思维如何与互联网共同进化
[美] 约翰·布罗克曼 / 付晓光 / 浙江人民出版社 / 2017-3 / 79.90元
➢人类是否因互联网的诞生进入了公平竞争的场域? “黑天鹅事件”频频发生,我们的预测能力是否正在退化? 智人的第四阶段有哪些特征? 全球脑会使人类成为“超级英雄”吗? 虚拟现实技术会不会灭绝人类的真实体验? 还有更多不可预知答案的问题,你将在本书中找到属于自己的答案! ➢ 我们的心智正和互联网发生着永无止境的共振,人类思维会因此产生怎样的进化效应?本书编者约翰•布......一起来看看 《人类思维如何与互联网共同进化》 这本书的介绍吧!