deepin中mysql数据库的连接_教你如何典雅的用Python连接MySQL数据库

简介:作者 | Python语音识别不管是机器学习、web开发或者爬虫,数据库都是绕不过去的。那么今天我们就来介绍Python如何Mysql数据库进行连接以及数据的交换。主要分为以下几个方面:什么是数据库?什么是MySQLdb?Python如 ...

49cc767a7463cb39cd7e026689a88536.png

书页库概念

作者 | Python语音识别


不管是机器学习、web开发或者爬虫,数据库都是绕不过去的。那么今天我们就来介绍Python如何Mysql数据库进行连接以及数据的交换。主要分为以下几个方面:
什么是数据库?
什么是MySQLdb?
Python如何连接数据库?
创建数据库数据库操作-CRUD
数据库基本上是结构化数据的集合,通过数据库可以用各种方式轻松地检索,管理和访问数据。最简单的数据库形式之一是文本数据库。目前关系数据库是最流行的数据库系统,目前主流的关系数据库主要由以下几个:
MySQL
Oracle Database
SQL server
Sybase
Informix
IBM db2
NO SQL
其中MySQL是最容易使用的数据库,也是我们这次所要介绍的。什么是MySQLdb
MySQLdb是一个开源免费的关系数据库管理系统,它使用结构化查询语言。SQL(结构化查询语言)是关系数据库的标准语言,允许用户对数据进行各种操作,如操作,创建,删除等。简而言之,SQL允许您对数据执行任何操作。Python如何连接数据库
Python连接数据库的方法非常简单,下图表示Python与数据库的基本数据交换原理。

1b06b1dba260508b240e7a17a51e2ee7.png


在连接MySQL数据库之前,请确保在计算机上安装了MySQL应用程序。也可使用远程数据库,MySQL应用程序提供了一下数据工具:MySQL服务器、所有可用连接器、MySQL Workbench、MySQL通知程序、用于Excel和Microsoft Visual Studio的工具、MySQL示例数据库、MySQL文档。
安装好应用程序之后,我们还需要安装python中的Mysql函数库mysql.connector,这个可以直接使用pip进行安装。连接数据库需要的基本参数是:
用户名 -它只是您为MySQL服务器工作的用户名,默认用户名为root。
密码 -密码由用户在安装MySQL数据库时提供。我在这里给密码'password123'
主机名 -这基本上是运行MySQL的服务器名称或IP地址,如果它是'localhost',那么你的IP地址是127.0.0.0
以下是Python连接数据库的程序
import mysql.connectormydb=mysql.connector.connect(host="localhost",user="root",passwd="password123")print(mydb)
运行程序输出为:
C:UsersHarshit_KantPycharmProjectstest1venvScriptspython.exe C:/Users/Harshit_Kant/PycharmProjects/test1/venv/python-db-conn.py


这里'mydb'只是一个示例。从输出中可以清楚地看到Python已连接到数据库。创建数据库
经过上面一步,我们已经成功建立数据库连接,现在您就可以创建自己的数据库,它将充当python和MySQL服务器之间数据交流的桥梁。建立数据库代码如下:
import mysql.connectormydb=mysql.connector.connect(host="localhost",user="root",passwd="password123")mycursor=mydb.cursor()mycursor.execute("create database harshdb")
程序说明:
在上面的程序中使用了游标,它基本上是一个用于与整个MySQL服务器通信的对象,通过它我可以创建自己的数据库。
您可以从输出中看到创建了名为“harshdb”的数据库,该数据库是自定义的,因为您可以为数据库指定任何名称。
同时,如果你想要查看服务器中已经建立的数据库,可以使用以下代码:
import mysql.connectormydb=mysql.connector.connect(host="localhost",user="root",passwd="password123")mycursor=mydb.cursor()mycursor.execute("show databases")for db in mycursor:print(db)
输出示例为:
('harshdb')('information_schema')('mysql')('performance_schema')('sakila')('sys')('world')数据库操作
数据库的基本操作包括:创建、读取、更新和删除,下面我通过示例程序来为大家演示基本使用方法。
创建操作:用于在表中创建记录的SQL语句,或者可以说它用于创建表。代码如下:
import mysql.connectormydb=mysql.connector.connect(host="localhost",user="root",passwd="password123",database=harshdb)mycursor=mydb.cursor()mycursor.execute("create table employee(name varchar(250),sal int(20))")
程序说明:
在上面给出的程序中,我创建了一个表'employee'。
表员工有两个字段'name'和'sal'。
这里,User id是“root”,Password是“password123”,用于访问harshdb。
下面给出的屏幕截图显示了表'employee'并返回字段'name'和'sal'。

b60c353de5873bb493e04c981dc6f3f8.png


读取写入:用于从数据库中获取有用信息。代码示例如下:
import mysql.connectormydb=mysql.connector.connect(host="localhost",user="root",passwd="password123",database="harshdb")mycursor=mydb.cursor()sqlformula = "Insert into employee(name,sal) values(%s,%s)"//'values has placeholdersemployees = [("harshit",200000),("rahul", 30000),("avinash", 40000),("amit", 50000),]//Created an array of emplpoyeesmycursor.executemany(sqlformula, employees)//Passing the datamydb.commit()//SQL statement used for saving the changes
在上面的代码中,我通过在Python中编写SQL语句写入一组员工数据。写入之后数据库的屏幕截图显示如下:

ca00531b1d958804bcebdddce43d6f09.png


更新 :用于更新表中的记录或更新表。代码如下:
import mysql.connectormydb=mysql.connector.connect(host="localhost",user="root",passwd="password123",database="harshdb")mycursor=mydb.cursor()sql = "Update employee SET sal = 70000 WHERE name = 'harshit'"mycursor.execute(sql)mydb.commit()
程序说明:我们在上面给出的代码中更新了harshit的行“sal”。下面给出的数据库截图显示更新结果。

c078c232a85f594b3f635bd4c4d6dbf3.png


删除 :用于删除表格。代码示例如下:
import mysql.connectormydb = mysql.connector.connect(host =“localhost”,user =“root”,passwd =“password123”,database =“harshdb”)mycursor = mydb.cursor()sql =“DELETE FROM employee WHERE name ='harshit'“mycursor.execute(sql)mydb.commit()
程序说明:在上面的代码中,我删除了一条'harshit'的重复记录。
Python连接数据库还有一个pymysql函数包,该包也十分简单且方便的与数据库进行交互,大家可以尝试一下。

需要观看python java web 资料的:

老规矩:转发+关注,私信小编“资料”免费分享资料给你!

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

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

相关文章

听障学生计算机课本,面向听障学生程序设计的计算机教学辅助系统

摘要:在目前的残疾人高等教育中,针对听障学生开展的计算机编程语言的教学存在许多难点.由于施教学生的特殊性——听力障碍所造成的沟通困难,常规的教学方式在听障学生教学中无法使用,严重制约了听障学生教学.因此,本文研究一种符合听障学生生理特征的教学辅助软件来…

AliOS Things KV组件的写平衡特性

摘要: KV组件的写平衡(磨损平衡)特性就是通过异地更新、垃圾回收等策略来平衡flash介质各个存储区块的磨损程度,以避免某些“特定”存储区块因过度使用而形成坏区,从而延长flash的使用寿命。 前言 KV组件是AliOS Thing…

解决win10系统下,git Bash闪退的问题

问题描述 在git官网下载了软件,安装之后,git Bash出现闪退现象,同时在当前文件夹下面会生成一个mintty.exe.stackdump的文件。 git GUI同样打不开,同时会报出错误,具体情况如下图: 点击百度云链接,下载一个…

AliOS Things网络适配框架 - SAL

摘要: 很多物联网应用场景中,都需要使用主控MCU外接连接芯片(如WiFi、NB-IoT)的解决方案。为方便这类场景的开发,AliOS Things提供了Socket Adapter Layer(SAL)框架和组件方案 AliOS Things中提…

文末送书啦!| Device Mapper,那些你不知道的Docker核心技术

戳蓝字“CSDN云计算”关注我们哦!接触Docker 比较早的同学应该知道,Docker 在最开始只能在Ubuntu和Debian等少数的Linux 发行版上运行,并且在这些发行版上默认使用的存储驱动为AUFS。由于Linux 并未将AUFS的支持纳入自己的内核主线(据说是因为…

铃木uy125最高时速_五菱宏光mini EV月销三万辆,铃木是否后悔退出中国?

国内新能源汽车市场一直是“兵家必争之地”,大到传统汽车厂商,小到造车新势力,都希望能在新能源汽车市场分一杯羹。但长久以来,大多数汽车厂商都只注意到了一部分中国消费者对于“大”的需求,忽视了微型车市场&#xf…

服务器读取账号密码,WIN服务器得明文密码神器 mimikatz、WCE

一、mimikatz(自己亲试,可以在win7 x64下使用)昨天有朋友发了个法国佬写的神器叫mimikatz 让我们看下还有一篇用这个神器直接从 lsass.exe 里获取windows处于active状态账号明文密码的文章http://pentestmonkey.net/blog/mimikatz-tool-to-recover-cleartext-passwo…

AliOS Things v1.1.2新特性

摘要: AliOS Things v1.1.2概述 时隔两周,AliOS Things新版本v1.1.2发布。这里和大家分享一下v1.1.2的一些新特性: 硬件支持方面,AliOS Things v1.1.2引入了更多了的芯片平台,包括STM32的l0/l4系列,C Sky C…

使用Spring Boot打造文件文档在线预览平台

https://gitee.com/kekingcn/file-online-preview

100%移植阿里云移动测试技术,竟仅需1周?!——移动测试专有云(3)——内容详解...

摘要: Android兼容性测试旨在帮助解决Android应用在不同真机机型上的各类兼容性问题,包括 Crash/ANR分析、6项性能分析、UI检测、3个版本的覆盖安装检测等。Android兼容性测试使用非常简单,客户只需要提交被检测的APK文件(如需登录…

投篮机投篮有技巧吗_「技巧干货」高手练习投篮的几个技巧,让投篮变得更实用...

会打篮球的都知道,篮球主要的是用更高于对手的得分来取得胜利;然而,让很多的球友烦恼的是,投篮时因为不够稳定,而导致每一场的发挥都不一样,全靠运气投球;这可是球场上的一大禁忌,人…

天龙八部服务器都需要那种系统,天龙八部排行榜系统怎么看 排行榜系统分类介绍...

天龙八部排行榜系统怎么看?有这么一群人,不但战力高,等级高,在其他玩家眼中,他们就是膜拜的大神,他们便是游戏中排行榜上的大神玩家。排行榜分类等级:排行榜打开后的第一个排名就是玩家角色的等级排名&…

SDN精华问答 | 了解SDN架构

SDN火热了好一阵子,无论运营商、政府企业、投资机构,一段时间,不知道SDN、不能甩几个SDN相关的名词术语,似乎都落后于时代了。今天,就来看看关于SDN的精华问答吧。1Q:SDN的本质属性? A&#xff…

100%移植阿里云移动测试技术,竟仅需1周?! ——移动测试专有云(1)

摘要: MQC专有云解决方案是MQC测试体系的完全移植版,目标是帮助客户短期内在搭建一套专业的、系统的自动化测试平台,实现测试服务、测试数据的完全本地化、私有化。无论是因为移动App是企业内部应用无法外部使用,还是要求测试数据…

SpringBoot2整合Activiti6工作流框架

文章目录下载实战操作:创建用户3 创建app4 选择我们的指定的流程图下载 wget https://github.com/Activiti/Activiti/releases/download/activiti-6.0.0/activiti-6.0.0.zip浏览器 http://localhost:8080/activiti-app/#实战操作: 创建用户 2.创建流程…

让数据库变快的10个建议

摘要: 大多数网站的内容都存在数据库里,用户通过请求来访问内容。数据库非常的快,有许多技巧能让你优化数据库的速度,使你不浪费服务器的资源。在这篇文章中,我收录了十个优化数据库速度的技巧。    大多数网站的内容…

如何转obj_Java 开发中如何正确的踩坑,看完这个你可以避免50%的错误

为什么说一个好的员工能顶 100 个普通员工我们的做法是,要用最好的人。我一直都认为研发本身是很有创造性的,如果人不放松,或不够聪明,都很难做得好。你要找到最好的人,一个好的工程师不是顶10个,是顶100个…

ajax 在新选卡打开,开始使用 AJAX 控制工具包 (VB) | Microsoft Docs

AJAX 控件工具包入门 (VB)05/12/2009本文内容了解开始使用 AJAX 控制工具包所需的所有知识。AJAX 控制工具包包含 30 多个免费控件,可用于ASP.NET应用程序中。 在本教程中,您将了解如何下载 AJAX 控件工具包,并将工具包控件添加到可视化工作室…

IBM斥资340亿美元完成收购红帽;亚马逊云计算Q2营收数据新鲜出炉;甲骨文推出Oracle专用自治数据库云……...

关注并标星星CSDN云计算极客头条:速递、最新、绝对有料。这里有企业新动、这里有业界要闻,打起十二分精神,紧跟fashion你可以的!每周三次,打卡即read更快、更全了解泛云圈精彩newsgo go go Waymo应用(图片来…

org.activiti.engine.ActivitiException: src-resolve: Cannot resolve the name 'extension' to a(n) 'ele

问题描述 无法将名称 ‘extension’ 解析为 ‘element declaration’ 组件 解决办法: 项目工作区有中文路径。