python搭配什么数据库_python 连接操作数据库(一)

一、下面我们所说的就是连接mysql的应用:

1、其实在python中连接操作mysql的模块有多个,在这里我只给大家演示pymysql这一个模块(其实我是感觉它比较好用而已):

pymysql是第三方的一个模块,需要我们自己安装,在这里顺便给大家普及一下安装第三方模块的知识;首先,如果我们在windows上安装的话,需要先安装python解释器,然后里面自带

了pip模块(我们安装第三方模块,都是需要这个命令去安装的),配置完环境变量之后我们就可以直接在cmd命令行中执行要安装的模块了,如下:

952575-20160728211909106-2043781849.png

我这里是已经安装过的,所以提示让我更新,在你安装过pymysql模块之后,就可以直接去调用了,下面我们来看一个小例子,根据这个小例子来进行说明:

1 importpymysql2

3 #链接数据库,并创建游标

4 conn = pymysql.connect(host='192.168.163.131',port=3306,user='mysql_test',passwd='123456',db='pymysql')5 cur =conn.cursor()6

7 #cur.execute('create table t1(id INT(10),name VARCHAR(20))ENGINE=InnoDB DEFAULT CHARSET=utf8')

8

9 #cur.execute('insert into t1(id,name) VALUES (1001,"madaqiang")')

10 count = cur.executemany('insert into t1(id,name ) VALUES (%s,%s)',[(1002,'eric'),(1003,'tom')])11

12 conn.commit()13

14 cur.close()15 conn.close()

解释说明:

首先使用pymysql的connect方法去连接数据库,里面的参数我相信大家都能看懂,那个cur是创建的一个游标(执行sql,都是使用这个游标去执行的);下面就开始执行sql语句

注释的那两行,分别是创建一个t1表,然后往里面插入一条数据,下面那个executemany是可以一次插入多条记录,每个记录是一个元祖,count是受影响的行数;最后你需要执行

commit()方法,不然,你做的这些都是白费的,然后把游标和连接都关闭。

简单的连接就是这样的简单。下面我们再来看看游标的问题,相信很多的人一开始的时候跟我一样,对这个游标理解不是那么准确,下面我们来两段代码,你就明白了:

1 conn = pymysql.connect(host='192.168.163.131',port=3306,user='mysql_test',passwd='123456',db='pymysql')2 cur =conn.cursor()3 cur.execute('select * from t1')4

5 #cur.scroll(1,mode='relative')

6

7 #取出第一条数据

8 line =cur.fetchone()9 print(line)10 #取出所有的数据

11 all_line =cur.fetchall()12 print(all_line)13 conn.commit()14

15 cur.close()16 conn.close()

首先我们先来看这段代码,其中新增的两条已经在代码中标注了,就是取出第一条数据和所有的数据,但是我们看下面的输出结果,你就会发现一些问题了:

1 (1001, 'madaqiang')2 ((1002, 'eric'), (1003, 'tom'))

在你输出第一条数据之后,游标就游到了第二条数据上,你再输出所有的数据,其实就是从第二行开始输出的;如果你不想输出1002这条记录,你可以在第九行的下面加一条这样的语句:

cur.scroll(1,mode='relative'),这样就不会输出了,如果你感觉输出的元祖,以后调用的话会比较麻烦,我们可以设置成输出格式为字典的格式,这样不管是看还是调用都比较方便了:

其实我们只需要在创建游标的下面加上cur = conn.cursor(cursor=pymysql.cursors.DictCursor),这样一行代码就OK了,还是输出一下结果吧,不然总感觉少点什么:

1 #链接数据库,并创建游标

2 conn = pymysql.connect(host='192.168.163.131',port=3306,user='mysql_test',passwd='123456',db='pymysql')3 cur =conn.cursor()4 #把输出的格式转换成

5 cur = conn.cursor(cursor=pymysql.cursors.DictCursor)6

7 cur.execute('select * from t1')8

9

10 #取出第一条数据

11 line =cur.fetchone()12 print(line)13

14 conn.commit()15

16 cur.close()17 conn.close(

=====================输出结果=======================

{'name': 'madaqiang', 'id': 1001}

2、下面我们再来看看一个ORM框架(SQLAlchemy),

SQLAlchemy是Python世界中最广泛使用的ORM工具之一,它采用了类似与Java里Hibernate的数据映射模型,而不是其他ORM框架采用的Active Record模型,SQLAlchemy分为两部分,一个是常用的ORM对象映射,另一个是核心的SQL expression。第一个很好理解,纯粹的ORM,后面这个不是ORM,而是DBAPI的封装,通过一些sql表达式来避免了直接写sql语句。简单的概括一下就是:将对象转换成SQL,然后使用数据API执行SQL并获取执行结果。

下面来一下看一下SQLAlchemy的ORM的实现机制,内部封装了些什么:

952575-20160729162107794-962466402.png

上图中的Dialect用于和数据API进行交流,根据配置文件的不同调用不同的数据库API,从而实现对数据库的操作,如:

mysql+pymysql://:@/[?]

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/489920.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【用word快速输入公式】希腊字母名称和大小写

用word按住alt和加号,先输入\ 然后后面跟代码,输完以后用空格转换。 输入大写就首字母大写,小写就首字母小写。代码基本就是发音。 大写小写发音AαAlphaBβBetaΓγGammaΔδDeltaΕεEpsilonΖζZetaΝνNuΞξXiOοOmicronΠπPiPρRhoΣ…

xadsafe做暗刷_深蓝维护通道有暗刷? - 综合技术讨论大区 - 死性不改BBS - 网维行业自由、中立的技术与信息交流平台 - Powered by Discuz!...

本帖最后由 小米 于 2018-4-27 04:52 编辑今天发现的&#xff0c;只要一打开QQ&#xff0c;C盘根目录生成NTDETECT.HTA文件&#xff0c;内容是>tpircs/<esolc.wodniw)Li(nuR.llehS005 peels.tpircsw2,Li eliFoTevaS.teGa)ydoBesnopser.tsoP(etirW.teGa)(nepO.teGa1epyT.t…

GE数字化重塑的启示:调整阵型,再战工业互联网!

来源&#xff1a;中国华能&#xff08;部分内容参考《财经》杂志韩舒淋“从GE数字化业务大调整看工业互联网未来”&#xff09;打响“工业互联网”第一枪的GE&#xff08;美国通用电气&#xff09;&#xff0c;曾是全球市值最高的工业巨头&#xff0c;如今市值却缩水至巅峰时期…

python简单图画程序_用Python的Turtple画图形

不知道各位是否还记得在小学或者初中的时候&#xff0c;我们接触过一种语言叫做logo语言&#xff0c;这个语言可以画正方形&#xff0c;画三角形&#xff0c;画圆。而用Python画图形也有点类似logo语言的意思。 在画图之前&#xff0c;我们需要启动一个模块&#xff0c;turtple…

Matlab自带的Bessel函数及如何扩展其应用

第一类虚宗量Bessel函数I_v: help besseli第二类虚宗量Bessel函数K_v: help besselk第一类Bessel函数J_v help besselj第二类Bessel函数 Y_v(诺伊曼函数N_v) help bessely汉克尔函数H_v help besselh以上函数的问题是输出结果都是实数。如果想算复数域&#xff0c;以上函数…

freeRTOS实时操作系统学习笔记

温馨提示&#xff1a;点击图片查看大图更清晰 —————————————————————————————↑↑↑上方资源下载后可获取xmind原文件。 1、freeRTOS移植和配置脑图 2、内核源码学习

mysql删除记录后id不连续_Mysql数据库中使用DELETE语句时,一般删除一条记录后ID会不连续,才能让序号继续按顺序排列?...

{"moduleinfo":{"card_count":[{"count_phone":1,"count":1}],"search_count":[{"count_phone":7,"count":7}]},"card":[{"des":"提供基于开源Elasticsearch及商业版X-Pack插…

通用AI——未来真正强健的人工智能?

来源&#xff1a;王宏琳科学网博客一本新书纽约大学马库斯&#xff08;Gary Marcus&#xff09;教授和戴维斯&#xff08;Ernest Davis&#xff09;教授2019年新书&#xff08;参考资料[1]&#xff09;的书名&#xff0c;颇吸引眼球&#xff1a;《Rebooting AI : 构建我们可以信…

signed 与 unsigned 有符号和无符号数

unsigned int a 0; unsigned int b -1; // b 为 0xffffffff unsigned int c a - 1; // c 为 0xffffffff 转载于:https://www.cnblogs.com/mtcnn/p/9423663.html

使用matlab播放特定频率的声音

A2;%振幅 f_0397%声音频率 fs10000; %采样频率 N3000; % 信号样点数&#xff0c;播放时长 yA*sin(2*pi*f_0*(0:N-1)/fs); %单频信号 sound(y,fs); %通过声卡放音 另外matlab还自带好多声音&#xff0c;需要的时候搜一搜就好了。

python开发工具管理系统_Python开发桌面软件文档及网址管理工具,强迫症的福音...

原标题&#xff1a;Python开发桌面软件文档及网址管理工具&#xff0c;强迫症的福音写在前面 这两天用python鼓捣开发了一个软件&#xff0c;分享给同事&#xff0c;觉得很实用&#xff0c;可以大大提高工作效率&#xff0c;想通过平台分享出来给大家 希望给爱好python的童鞋做…

halcon 将数据保存到excel_pandas筛选、合并、批量保存excel数据

人生苦短&#xff0c;我学python&#xff01;python是目前最流行的编程语言&#xff0c;功能十分强大&#xff0c;在爬虫、数据分析、人工智能方面均得以广泛应用。本专辑主要分享两个数据分析库numpy和pandas在数据分析方面的基础知识和各种技能&#xff0c;pandas的快、准、简…

边缘计算参考架构3.0

来源&#xff1a;萤火虫智能家居沙龙全球已经掀起行业数字化转型的浪潮&#xff0c;数字化是基 础&#xff0c;网络化是支撑&#xff0c;智能化是目标。通过对人、物、环境、过程等对象&#xff0c;进行数字化而产生数据&#xff0c;通过网络化实 现数据的价值流动&#xff0c;…

以二维振动为例展示使用matlab画圆形三维图的偷懒方法

画图主要是用极坐标&#xff0c;我们使用画复数的函数来画。 clc;%清空上次的 %draw_Bessel%画这个东西 a4;%圆形半径% %定义角向和径向的步长和范围 fai[-4:0.1:4]; r[0:0.02:a];%将fai和r组合起来并生成复平面 [R,T] meshgrid(fai,r); Z R.*exp(1i*T);%和画具体图有关的 m…

tensorflow 转张量类型为float_5个简单的步骤掌握Tensorflow的Tensor

在这篇文章中&#xff0c;我们将深入研究Tensorflow Tensor的细节。我们将在以下五个简单步骤中介绍与Tensorflow的Tensor中相关的所有主题&#xff1a;第一步&#xff1a;张量的定义→什么是张量&#xff1f;第二步&#xff1a;创建张量→创建张量对象的函数第三步&#xff1a…

指针和字符串

指针和字符串 [前言] 我们所写的应用程序都需要从网络获取数据&#xff0c;或者从网络下载数据&#xff0c;这些操作都需要和网络另一端的服务器进行数据传输&#xff0c;这些数据都是通过文件进行传输的&#xff0c;文件中就是字符串&#xff0c;我们程序员需要保证正确解析从…

华为手机怎么使用读卡器_华为手机使用小窍门

华为手机电池耐用&#xff0c;信号好&#xff0c;系统流畅&#xff0c;外观也一改以往的呆板现在追求时尚&#xff0c;所以深得国人的喜爱&#xff0c;也因为美国的打压激起了国人的爱国意识&#xff0c;华为在国内手机销量高居第一&#xff0c;使用的人很多。现在国产最好的手…

报告 | 数字孪生城市研究报告(2019年)

来源 &#xff1a;数据观数字孪生技术应用最早起源于工业领域&#xff0c;尤其飞机、火车发动机等高端制造领域&#xff0c;对产品、生产线和工艺等进行数字仿真、实时跟踪&#xff0c;研发周期大幅缩减&#xff0c;生产成本大幅降低&#xff0c;形成多设备互联、协同和优化的建…

立方体引起的引力异常计算&画图

地球重力学需要我们计算立方体引起的重力异常&#xff0c;公式见《重力学与固体潮》。 这个程序取的z方向是竖直向下的&#xff0c;也就是说地面向下为正&#xff0c;地面向上为负 %定义一个立方体函数% function [gravity]draw_square(a,b,c,x0,y0,H,ph,z) %长方体模型参数说…

win10开始不显示python_win10从零安装配置pytorch全过程图文详解

1.安装anaconda &#xff08;anaconda内置python在内的许多package&#xff0c;所以不用另外下载python&#xff09; 可以点击下面的清华开源软件镜像站&#xff0c;在官网下载anaconda不如在这下的快 https://mirrors.tuna.tsinghua.edu.cn/anaconda/archive/ 镜像站 我下载的…