pymysql

Mysql-Python的安装以及Mysql中的编码问题

ⅰ亾dé卋堺 提交于 2020-05-05 12:56:51
1. 安装一个 Mysql与 Python的连接驱动 安装一个 Mysql与 Python的连接驱动以及解决 Mysql中的编码问题,费了我大半天时间,故有必要在这里记录一下。 Python3.5版本以前都可以使用第三方库 MySQLdb,但是对于 3.5之后的版本就要用 pymysql这个第三方库。针对 Python解释器,安装 pymysql的方法在这篇博客中有详细记录: https://www.cnblogs.com/rusking/p/5090395.html 但是这篇博客也有几个问题没有说清,最新的压缩包版本是 PyMySQL-0.8.0.tar.gz(md5),可以下载安装这个版本。进入 PyMySql-0.6.7目录,这句话的意思是把解压缩后的文件放入原先 Python下的安装目录。 另外直接使用 Python交互器可以导入 pymysql,但是在 Pycharm下无论怎么更改设置 Python解释器都没有用,这个时候还必须进行一项设置。具体参照这篇博客: http://blog.csdn.net/just_so_so_fnc/article/details/72995731 Pip package其实是代替了前面的一步直接在 python解释器中安装数据库驱动。 Pycharm可以替你下载,也可以检测到你已安装的版本。设置好再导入就没有问题了。 2.

python爬取拉勾网职位数据

浪尽此生 提交于 2020-05-05 00:42:18
  今天写的这篇文章是关于python爬虫简单的一个使用,选取的爬取对象是著名的招聘网站——拉钩网,由于和大家的职业息息相关,所以爬取拉钩的数据进行分析,对于职业规划和求职时的信息提供有很大的帮助。    完成的效果   爬取数据只是第一步,怎样使用和分析数据也是一大重点,当然这不是本次博客的目的,由于本次只是一个上手的爬虫程序,所以我们的最终目的只是爬取到拉钩网的职位信息,然后保存到Mysql数据库中。最后中的效果示意图如下: 控制台输入 数据库显示    准备工作   首先需要安装python,这个网上已经有很多的教程了,这里就默认已经安装python,博主使用的是python3.6,然后安装了requests、pymysql(连接数据库使用)和Mysql数据库。    分析拉勾网   首先我们打开拉勾网,打开控制台,搜索java关键词搜索职位,选取北京地区,然后查看network一栏中的数据分析,查看第一个,是不是感觉它很像我们要拿到的请求地址,事实上不是的,这个打开之后是一个html,如果我们访问这个接口,拉钩会返回给我们一个结果,提示我们操作太频繁,也就是被拦截了。不过从这个页面可以看到,拉钩的网页用到了模板,这种加载数据的方式更加快速(大幅度提升),建议大家可以尝试使用一下(个人拙见)   不要气馁,我们接着往下找,可以看到一个“positionAjax”开头的请求

我终于学会了使用python操作postgresql

北城余情 提交于 2020-05-04 10:29:02
一 前言 这篇文章不仅适合pgsql,更适合mysql,思路都是一致的,如果读者学会使用psycopg2操作pgsql,那么使用PyMySQL 操作mysql也是很简单;本篇文章涵盖内容广泛,提供的操作选择性很多,比如多种数据插入操作,防止sql注入方式,异常处理,sql语句打印处理,显示行号等操作,一篇文章真的收益匪浅; 二 数据库连接 2.1 安装 psycopg2 # pip install psycopg2 2.2 连接数据库 每条完整的sql执行步骤如下,读者应谨记; 建立连接获得 connect 对象 获得游标对象,一个游标对象可以对数据库进行执行操作,非线程安全,多个应用会在同一个连接种创建多个光标; 书写sql语句 调用execute()方法执行sql 抓取数据(可选操作) 提交事物 关闭连接 # -*- coding: utf-8 -*- import psycopg2 # 获得连接 conn = psycopg2.connect(database="python", user="postgres", password="123456", host="127.0.0.1", port="5432") # 获得游标对象 cursor = conn.cursor() # sql语句 sql = "SELECT VERSION()" # 执行语句 cursor

Python操作MySQL之SQLAlchemy

≯℡__Kan透↙ 提交于 2020-05-03 19:49:08
from: https://www.cnblogs.com/ccorz/p/5711955.html SQLAlchemy是Python编程语言下的一款ORM框架,该框架建立在数据库API之上,使用关系对象映射进行数据库操作,简言之便是:将对象转换成SQL,然后使用数据API执行SQL并获取执行结果。 SQLAlchemy本身无法操作数据库,其必须以来pymsql等第三方插件,Dialect用于和数据API进行交流,根据配置文件的不同调用不同的数据库API,从而实现对数据库的操作. MySQL-Python mysql+mysqldb://<user>:<password>@<host>[:<port>]/<dbname> pymysql mysql+pymysql://<username>:<password>@<host>/<dbname>[?<options>] MySQL-Connector mysql+mysqlconnector://<user>:<password>@<host>[:<port>]/<dbname> cx_Oracle oracle+cx_oracle://user: pass@host:port/dbname[?key=value&key=value...] 更多详见:http://docs.sqlalchemy.org/en/latest

为什么Python是数据科学领域最受欢迎的语言之一?

陌路散爱 提交于 2020-05-03 18:57:24
为什么大多数数据科学家都喜欢Python?这篇文章会让你了解到,Python有很多完善的工具包可以协助你完成重要的数据科学任务。 根据Indeed,Glassdoor和Dice等职场网站所提供的信息,与去年同期相比,随着各行各业 越来越依赖于数据进行决策 ,商业对数据科学家的需求也在继续扩大。 事实上,对于我们可以 从不同的学习路径进入到热门的职业中 ,如何选择一条合适的道路取决于你现在所处的职业阶段。除去数学和统计学的要求外,编程方面的专业技术同样是数据科学必须掌握的一项技能。 让我们深度了解一下在数据科学社区中最受欢迎的编程语言。 数据科学家使用最多的三种编程语言 Kaggle的一项调查结果显示,在数据科学家和机器学习爱好者的线上社区中,Python是使用率最高的编程语言,其次是SQL和R(请参看下图)。 参与这项调查的有近24000名从事数据相关职业的人员,其中3/4的调查对象建议那些立志成为数据科学家的人员以Python为学习旅程的起点。在这篇文章中,让我们来探索一下Python能够成为数据从业者中最受欢迎语言的原因,了解为什么做数据分析要选择Python。 为什么数据科学家们喜欢Python? 数据科学家们需要处理复杂的问题,一般问题的解决过程都包括四个主要的步骤: 数据收集和清洗、数据探索、数据建模和数据可视化。 Python可以在整个流程中提供必要有效的处理工具

python django mysql配置

寵の児 提交于 2020-05-03 16:07:18
1 django默认支持sqlite,mysql, oracle,postgresql数据库。 <1> sqlite django默认使用sqlite的数据库,默认自带sqlite的数据库驱动 , 引擎名称:django.db.backends.sqlite3 <2> mysql 引擎名称:django.db.backends.mysql 2 mysql驱动程序 MySQLdb(mysql python) mysqlclient MySQL PyMySQL(纯python的mysql驱动程序) 3 在django的项目中会默认使用sqlite数据库,在settings里有如下设置: 如果我们想要更改数据库,需要修改如下: DATABASES = { ' default ' : { ' ENGINE ' : ' django.db.backends.mysql ' , ' NAME ' : ' books ' , # 你的数据库名称 ' USER ' : ' root ' , # 你的数据库用户名 ' PASSWORD ' : '' , # 你的数据库密码 ' HOST ' : '' , # 你的数据库主机,留空默认为localhost ' PORT ' : ' 3306 ' , # 你的数据库端口 } } NAME即数据库的名字,在mysql连接前该数据库必须已经创建

EncodeError: 'latin-1' codec can't encode characters in position 69-70: ordinal not i...

会有一股神秘感。 提交于 2020-05-02 07:27:22
UnicodeEncodeError: 'latin-1' codec can't encode characters in position 69-70: ordinal not in range(256)解决办法 使用python3.X向数据库插入中文数据的时候,提示: 大概步骤是: anjuke_area = (513, '平阴', 'http://jinan.anjuke.com', '2017-03-29 13:17:03') print('开始链接数据库') conn = pymysql.connect( host='XX.XX.XX.XX', port=3306, user='root', passwd='root123', db='数据库名称') print('链接数据库成功') cur = conn.cursor() cur.execute("INSERT INTO anjuke_area(id, name, link, time) VALUES (%s,%s,%s,%s)",anjuke_area) 然后提示: UnicodeEncodeError: 'latin-1' codec can't encode characters in position 69-70: ordinal not in range(256) 实际解决问题的办法是。。。。。: conn

django中ORM介绍和字段参数

依然范特西╮ 提交于 2020-05-02 06:08:19
参考博客文章:https://www.cnblogs.com/liwenzhou/p/8688919.html Django中ORM介绍和字段及字段参数 Object Relational Mapping(ORM) ORM介绍 ORM概念 对象关系映射(Object Relational Mapping,简称ORM)模式是一种为了解决面向对象与关系数据库存在的互不匹配的现象的技术。 简单的说,ORM是通过使用描述对象和数据库之间映射的元数据,将程序中的对象自动持久化到关系数据库中。 ORM在业务逻辑层和数据库层之间充当了桥梁的作用。 ORM由来 让我们从O/R开始。字母O起源于"对象"(Object),而R则来自于"关系"(Relational)。 几乎所有的软件开发过程中都会涉及到对象和关系数据库。在用户层面和业务逻辑层面,我们是面向对象的。当对象的信息发生变化的时候,我们就需要把对象的信息保存在关系数据库中。 按照之前的方式来进行开发就会出现程序员会在自己的业务逻辑代码中夹杂很多SQL语句用来增加、读取、修改、删除相关数据,而这些代码通常都是重复的。 ORM的优势 ORM解决的主要问题是对象和关系的映射。它通常把一个类和一个表一一对应,类的每个实例对应表中的一条记录,类的每个属性对应表中的每个字段。 ORM提供了对数据库的映射,不用直接编写SQL代码

Django中ORM介绍和字段

萝らか妹 提交于 2020-05-02 05:58:41
ORM介绍 ORM概念 对象关系映射(Object Relational Mapping,简称ORM)模式是一种为了解决面向对象与关系数据库存在的互不匹配的现象的技术。 简单的说,ORM是通过使用描述对象和数据库之间映射的元数据,将程序中的对象自动持久化到关系数据库中。 ORM在业务逻辑层和数据库层之间充当了桥梁的作用。 ORM由来 让我们从O/R开始。字母O起源于"对象"(Object),而R则来自于"关系"(Relational)。 几乎所有的软件开发过程中都会涉及到对象和关系数据库。在用户层面和业务逻辑层面,我们是面向对象的。当对象的信息发生变化的时候,我们就需要把对象的信息保存在关系数据库中。 按照之前的方式来进行开发就会出现程序员会在自己的业务逻辑代码中夹杂很多SQL语句用来增加、读取、修改、删除相关数据,而这些代码通常都是重复的。 ORM的优势 ORM解决的主要问题是对象和关系的映射。它通常把一个类和一个表一一对应,类的每个实例对应表中的一条记录,类的每个属性对应表中的每个字段。 ORM提供了对数据库的映射,不用直接编写SQL代码,只需像操作对象一样从数据库操作数据。 让软件开发人员专注于业务逻辑的处理,提高了开发效率。 ORM的劣势 ORM的缺点是会在一定程度上牺牲程序的执行效率。 ORM用多了SQL语句就不会写了,关系数据库相关技能退化... ORM总结