热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

如何使用mysql_nd:Python连接MySQL数据库的优雅指南

无论是进行机器学习、Web开发还是爬虫项目,数据库操作都是必不可少的一环。本文将详细介绍如何使用Python通过`mysql_nd`库与MySQL数据库进行高效连接和数据交互。内容涵盖以下几个方面:

不管是机器学习、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与数据库的基本数据交换原理。

097c903de22d8cfcfb4395ad29aefdc5.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'。

26268247dd4c1d9eba7d9d5c6cf7547d.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语句写入一组员工数据。写入之后数据库的屏幕截图显示如下:

4fcb8d5d177b6b4d0ca6e4a5fc0363ff.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”。下面给出的数据库截图显示更新结果。

815656807fe365ed191a1558ad2a9a15.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函数包,该包也十分简单且方便的与数据库进行交互,大家可以尝试一下。



推荐阅读
  • 如何在Django框架中实现对象关系映射(ORM)
    本文介绍了Django框架中对象关系映射(ORM)的实现方式,通过ORM,开发者可以通过定义模型类来间接操作数据库表,从而简化数据库操作流程,提高开发效率。 ... [详细]
  • Jupyter Notebook多语言环境搭建指南
    本文详细介绍了如何在Linux环境下为Jupyter Notebook配置Python、Python3、R及Go四种编程语言的环境,包括必要的软件安装和配置步骤。 ... [详细]
  • mysql数据库json类型数据,sql server json数据类型
    mysql数据库json类型数据,sql server json数据类型 ... [详细]
  • 深入解析Python进程间通信:Queue与Pipe的应用
    本文详细探讨了Python中进程间通信的两种常用方法——Queue和Pipe,并通过具体示例介绍了它们的基本概念、使用方法及注意事项。 ... [详细]
  • ABP框架是ASP.NET Boilerplate的简称,它不仅是一个开源且文档丰富的应用程序框架,还提供了一套基于领域驱动设计(DDD)的最佳实践架构模型。本文将详细介绍ABP框架的特点、项目结构及其在Web API优先架构中的应用。 ... [详细]
  • 对于初学者而言,搭建一个高效稳定的 Python 开发环境是入门的关键一步。本文将详细介绍如何利用 Anaconda 和 Jupyter Notebook 来构建一个既易于管理又功能强大的开发环境。 ... [详细]
  • MySQL InnoDB 存储引擎索引机制详解
    本文深入探讨了MySQL InnoDB存储引擎中的索引技术,包括索引的基本概念、数据结构与算法、B+树的特性及其在数据库中的应用,以及索引优化策略。 ... [详细]
  • 如何将955万数据表的17秒SQL查询优化至300毫秒
    本文详细介绍了通过优化SQL查询策略,成功将一张包含955万条记录的财务流水表的查询时间从17秒缩短至300毫秒的方法。文章不仅提供了具体的SQL优化技巧,还深入探讨了背后的数据库原理。 ... [详细]
  • CentOS下ProFTPD的安装与配置指南
    本文详细介绍在CentOS操作系统上安装和配置ProFTPD服务的方法,包括基本配置、安全设置及高级功能的启用。 ... [详细]
  • 深入体验Python的高级交互式Shell - IPython
    IPython 是一个增强型的 Python 交互式 Shell,提供了比标准 Python 控制台更为强大的功能,适用于开发和调试过程。它不仅支持直接执行 Linux 命令,还提供了丰富的特性来提高编程效率。 ... [详细]
  • spring(22)JdbcTemplate
    2019独角兽企业重金招聘Python工程师标准###1.导入jar包,必须jar包:c3p0、mysql-connector、beans、con ... [详细]
  • mysql 授权!!
    为什么80%的码农都做不了架构师?MySQL的权限系统围绕着两个概念:认证-确定用户是否允许连接数据库服务器授权-确定用户是否拥有足够的权限执 ... [详细]
  • 电商高并发解决方案详解
    本文以京东为例,详细探讨了电商中常见的高并发解决方案,包括多级缓存和Nginx限流技术,旨在帮助读者更好地理解和应用这些技术。 ... [详细]
  • Redis:缓存与内存数据库详解
    本文介绍了数据库的基本分类,重点探讨了关系型与非关系型数据库的区别,并详细解析了Redis作为非关系型数据库的特点、工作模式、优点及持久化机制。 ... [详细]
  • 本文介绍了 PHP 的基本概念、服务器与客户端的工作原理,以及 PHP 如何与数据库交互。同时,还涵盖了常见的数据库操作和安全性问题。 ... [详细]
author-avatar
mobiledu2502876223
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有