python连接mysql

python 连接mysql数据库

…衆ロ難τιáo~ 提交于 2019-11-29 15:05:08
连接数据库需要先pip install PyMySQL import pymysql import re def spotSql(dbhost,dbport,dbuser,dbpasswd,dbdatabase,dbsql): # 打开数据库连接 db = pymysql.connect(host=dbhost, port=dbport, user=dbuser, passwd=dbpasswd, database=dbdatabase) # 使用cursor()方法获取操作游标 cur = db.cursor() # 使用execute方法执行SQL语句 cur.execute(dbsql) # 使用 fetchone() 方法获取一条数据 data = cur.fetchall() # 关闭数据库连接 db.close() return data if __name__ == '__main__': db_host = 'localhost' db_port = 'port' db_user = 'test' db_passwd = '123456' db_database = 'msgemail' mysqltest = "select * from table" response = spotSql(db_host, db_port, db_user, db_passwd,

Django基础篇

旧时模样 提交于 2019-11-29 14:13:35
djanjo简介 Python的WEB框架有Django、Tornado、Flask 等多种,Django相较与其他WEB框架其优势为:大而全,框架本身集成了ORM、模型绑定、模板引擎、缓存、Session等诸多功能。Django是一个开放源代码的Web应用框架,由Python写成。采用了MVC的框架模式,即模型M,视图V和控制器C。 层次 职责 模型(Model),即数据存取层 处理与数据相关的所有事务: 如何存取、如何验证有效性、包含哪些行为以及数据之间的关系等。 视图(View),即表现层 处理与表现相关的决定: 如何在页面或其他类型文档中进行显示。 模型与模板的桥梁。 模板(Template),即业务逻辑层 存取模型及调取恰当模板的相关逻辑。 Django流程介绍 著名的MVC模式:所谓MVC就是把web应用分为模型(M),控制器(C),视图(V)三层;他们之间以一种插件似的,松耦合的方式连接在一起。 Django的MTV模式本质上与MVC模式没有什么差别,也是各组件之间为了保持松耦合关系,只是定义上有些许不同,Django的MTV分别代表: Model(模型):负责业务对象与数据库的对象(ORM) Template(模版):负责如何把页面展示给用户 View(视图):负责业务逻辑,并在适当的时候调用Model和Template Django URL 路由系统 1

Python3数据存储之MySQL存储

痞子三分冷 提交于 2019-11-29 13:42:21
本文引用 https://www.jianshu.com/p/479431256bca 通常我们在运行 Python 爬虫脚本时经常需要将爬取到的数据信息保存到本地做持久化存储,常见的存储方式有直接保存到文本文件和存储到数据库这两种。比如说我们写个爬虫脚本去爬取猫眼电影上的前100部影片的信息,我们可以将爬取到的信息保存为 csv 文件,这种文件可以直接通过 excel 软件打开查看,还可以将爬取的信息格式化成 json 格式数据直接保存到 TXT 文本文件中,这样爬取的数据就轻松实现了本地持久化存储的目的。今天我们来聊聊 python3 是如何利用 MySQL 数据库来存储爬取到的数据的。 MySQL 是一种关系型数据库,同样属关系型数据库的还有 SQLite 、 Oracle 、 SQL Server 、 DB2 等。(后期我们会讲另一种非关系型数据的存储,如 MongoDB )至于为何选择 python3 而不是 python2 来讲,是因为 Python2 实在是太 TMD 难用了,同时在 Python 2 中,连接 MySQ L的库大多是使用 MySQLdb ,但是此库的官方并不支持 Python 3 ,所以这里推荐使用的库是 PyMySQL 。好了,废话就不多啰嗦了,开始正文! 1. 安装MySQL数据库 首先请移玉步至 https://dev.mysql.com

python之路_mysql数据操作2

故事扮演 提交于 2019-11-29 09:09:08
一、多表连接查询   按照如下命令创建department,employee两个表格: #创建表 create table department( id int, name varchar(20) ); create table employee( id int primary key auto_increment, name varchar(20), sex enum('male','female') not null default 'male', age int, dep_id int ); #插入数据 insert into department values (200,'技术'), (201,'人力资源'), (202,'销售'), (203,'运营'); insert into employee(name,sex,age,dep_id) values ('egon','male',18,200), ('alex','female',48,201), ('wupeiqi','male',38,201), ('yuanhao','female',28,202), ('liwenzhou','male',18,200), ('jingliyang','female',18,204) ; #重点:外链接语法 SELECT 字段列表 FROM 表1 INNER|LEFT

sqlalchemy连接池错误:MySQL server has gone away

╄→гoц情女王★ 提交于 2019-11-29 08:21:38
由于是初创公司,追求快速开发,后台选用python,采用Tornado+SQLAlchemy,数据库是mysql。python之前没接触过,都是现学的,前一周差不多都在边看边学边写的状态,好在python还是特别简单,有其他语言基础很容易上手,只是经常会犯排版对齐、行末忘记“:”的错误。 项目还没上线,只可能写代码的两人去访问数据库,而且频度很低,居然发生了2次数据库连接错误。经过日志分析,都是SQLAlchemy连接池的配置问题。 错误1: TimeoutError: QueuePool limit of size 5 overflow 10 reached, connection timed out, timeout 30 错误2: [ERROR] (OperationalError) (2006, 'MySQL server has gone away') 对于错误1,首先确认数据库的最大连接数是足够的,至少比log里达到的10个连接不应该出错。 mysql> show variables like 'max_connections'; +-----------------+-------+ | Variable_name | Value | +-----------------+-------+ | max_connections | 100 | +------------

MySQL之pymysql

纵然是瞬间 提交于 2019-11-29 08:17:42
MySQL之pymysql pymysql的安装 pip install PyMySQL 连接数据库 import pymysql db = pymysql.connect("数据库ip","用户","密码","数据库" ) # 打开数据库连接 cursor.execute("SELECT VERSION()") # 使用 execute() 方法执行 SQL 查询 data = cursor.fetchone() # 使用 fetchone() 方法获取单条数据 print ("Database version : %s " % data) db.close() # 关闭数据库连接 创建表操作 import pymysql # 打开数据库连接 db = pymysql.connect("localhost","testuser","test123","TESTDB" ) # 使用 cursor() 方法创建一个游标对象 cursor cursor = db.cursor() # 使用 execute() 方法执行 SQL,如果表存在则删除 cursor.execute("DROP TABLE IF EXISTS EMPLOYEE") # 使用预处理语句创建表 sql = """CREATE TABLE EMPLOYEE ( FIRST_NAME CHAR(20) NOT NULL

Python3 操作Mysql数据库

你。 提交于 2019-11-29 07:56:31
Pymysql介绍 PyMySQL 是在 Python3.x 版本中用于连接 MySQL 服务器的一个库,而Python2中则使用mysqldb。 PyMySQL 遵循 Python 数据库 API v2.0 规范,并包含了 pure-Python MySQL 客户端库。 通用步骤: 1.引入模块 2.获取与数据库的连接 3.执行SQL语句和存储过程 4.关闭数据库连接 PyMySQL 安装 1.打开cmd命令 cd C:\Users\Administrator\AppData\Local\Programs\Python\Python37\Scripts #切换目录 pip install pymysql 数据库连接 import pymysql #模块导入 #打开数据库连接 db = pymysql.connect( host='数据库ip', user='用户名, passwd='密码', db='数据库名', port=3306, charset='utf8' ) #使用 cursor() 方法创建一个游标对象 cursor cursor = db.cursor() #使用 execute() 方法执行 SQL 查询 cursor.execute("SELECT VERSION()") #使用 fetchone() 方法获取单条数据. data = cursor

linux下安装mysql的三种方法:rpm包安装、yum安装、源码包安装

做~自己de王妃 提交于 2019-11-29 07:12:39
1 安装MySQL数据库服务器 安装方法一: //查询系统自带的数据库 rpm -qa | grep -i mysql //卸载查询到的所有mysql rpm -e --nodeps mysql-libs-5.1.71-1.el6.x86_64 rpm -e --nodeps mysql-devel-5.1.71-1.el6.x86_64 rpm -e --nodeps mysql-5.1.71-1.el6.x86_64 在可以联网的计算机上下载所有的安装包: yumdownloader mysql mysql-5.1.73-3.el6_5.x86_64.rpm mysql-devel-5.1.73-3.el6_5.x86_64.rpm mysql-libs-5.1.73-3.el6_5.x86_64.rpm mysql-server-5.1.73-3.el6_5.x86_64.rpm perl-DBD-MySQL-4.013-3.el6.x86_64.rpm 进入rpm安装包所在文件夹,执行命令安装所有rpm包 rpm -ivh *.rpm 安装方法二: yum -y install mysql-server Mysql配置: //设置开机启动 chkconfig mysqld on //启动Mysql service mysqld start //初始没有密码直接使用用户名登陆

第一章 PHP mySQL

余生颓废 提交于 2019-11-29 05:01:41
一,服务器环境搭建 1-1.Apache服务器。(端口号定义,http协议,开启和关闭) 服务器: 我们在浏览器浏览网页的时候,在地址栏中都会产生一个url。通过这个url,浏览器从互联网中找到一个网页并下载到当前浏览器中显示。那么这个网页从何而来呢? 从web服务器来。一个网站完成开发后,我们需要把网站上传到一个web服务器中,web服务器会产生一个url地址,用户通过这个地址,在浏览器的地址栏中输入这个url,就可以在互联网上访问这个网站了。 web服务器是什么呢?web服务器实际上就是一台互联网联通的计算机,计算机上保存了许多文档或者网站,可供联网的客户端访问。 目前最主流的三个Web服务器是Apache、 Nginx 、IIS Apache、 Nginx 、IIS :这三个指的是服务器运行环境。 1-2.webserver原理。 客户端浏览器向服务器发送一个http请求,请求通过应用层http携带请求的条件(数据),经过TCP与服务器的三次握手,确认连接成功后,向服务器发送数据包,服务器接收到数据所并通过解析处理后,向客户端返回数据包,客户端接收解析并将结果显示在页面。 1-3.集成环境安装。 这里使用wampserver集成环境 1-4.php运行环境介绍。 Apache是世界使用排名第一的Web服务器软件。它可以运行在几乎所有广泛使用的计算机平台上

python连接mysql服务端

孤街浪徒 提交于 2019-11-29 04:42:49
python连接mysql的客户端 import pymysql # 导入模块 conn = pymysql.connect( host='127.0.0.1', # 主机模块 port=3306, # 端口号 user='root',# 用户名 password='123', # 密码 database='db', # 需要连接的库 charset='utf8' # 指定编码utf8 ) cursor = conn.cursor() # 获取游标 # cursor = conn.cursor(pymysql.cursors.DictCursor) # 获取的查询结果更加规范化 便于分辨 sql = "select * from dep;" ret = cursor.execute(sql) # ret 受影响的行数 # res = cursor.executemany(sql,[(a,b),(a1,b1),(a2,b2)]) # 插入多行数据时 print(cursor.fetchall()) # 取出所有的 print(cursor.fetchmany(3))# 取出多条 print(cursor.fetchone()) # 取出单条 cursor.scroll(3,'absolute') # 绝对移动,按照数据最开始位置往下移动3条 cursor.scroll(1,