MySQL数据库学习(小白一文掌握Mysql)

本文涉及的产品
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS MySQL,高可用系列 2核4GB
简介: MySQL数据库学习(小白一文掌握Mysql)

Python 是一种高级编程语言,它可以轻松地与各种数据库进行交互,其中包括 MySQL 数据库。MySQL 是一种开源的关系型数据库管理系统,被广泛应用于各种应用程序和网站的后端。在本文中,我将介绍如何使用 Python 操作 MySQL 数据库,并提供一些代码示例。


安装 MySQL Connector

在开始使用 Python 操作 MySQL 数据库之前,我们需要安装一个 Python MySQL Connector。有很多 Python MySQL Connector 可供选择,其中包括 MySQLdb、PyMySQL 和 mysql-connector-python。在本文中,我将使用 mysql-connector-python。你可以使用以下命令来安装 mysql-connector-python:

pip install mysql-connector-python


连接到 MySQL 数据库

在使用 Python 操作 MySQL 数据库之前,我们需要建立一个连接。在连接到 MySQL 数据库时,我们需要提供以下信息:


  • 主机名或 IP 地址
  • 用户名
  • 密码
  • 数据库名称


我们可以使用以下代码来连接到 MySQL 数据库:

import mysql.connector

mydb = mysql.connector.connect(
  host="localhost",
  user="yourusername",
  password="yourpassword",
  database="mydatabase"
)

print(mydb)


在上面的代码中,我们使用 mysql.connector 模块来连接到 MySQL 数据库。我们提供了主机名、用户名、密码和数据库名称作为参数。如果连接成功,将打印出连接对象的详细信息。


创建数据库和表

在连接到MySQL 数据库之后,我们可以通过 Python 来创建数据库和表。下面是一些常用的 SQL 命令:


  • 创建数据库:CREATE DATABASE databasename
  • 创建表:CREATE TABLE tablename (column1 datatype, column2 datatype, column3 datatype, ... )


我们可以使用以下代码来创建一个名为 customers 的表:

import mysql.connector

mydb = mysql.connector.connect(
  host="localhost",
  user="yourusername",
  password="yourpassword",
  database="mydatabase"
)

mycursor = mydb.cursor()

mycursor.execute("CREATE TABLE customers (name VARCHAR(255), address VARCHAR(255))")


在上面的代码中,我们首先连接到 MySQL 数据库,然后创建一个名为 customers 的表。这个表包含两个列:nameaddress,它们的数据类型分别为 VARCHAR(255)


插入数据

在创建表之后,我们可以使用 Python 向表中插入数据。下面是一些常用的 SQL 命令:


  • 插入数据:INSERT INTO tablename (column1, column2, column3, ...) VALUES (value1, value2, value3, ...)


我们可以使用以下代码向 customers 表中插入一条记录:

import mysql.connector

mydb = mysql.connector.connect(
  host="localhost",
  user="yourusername",
  password="yourpassword",
  database="mydatabase"
)

mycursor = mydb.cursor()

sql = "INSERT INTO customers (name, address) VALUES (%s, %s)"
val = ("John", "Highway 21")
mycursor.execute(sql, val)

mydb.commit()

print(mycursor.rowcount, "record inserted.")

在上面的代码中,我们首先连接到 MySQL 数据库,然后向 customers 表中插入一条记录。我们使用了占位符 %s 来代替实际的值,然后在执行 SQL 语句之前将值传递给 execute() 方法。


最后,我们调用 commit() 方法来保存更改,然后打印出插入的记录数。


查询数据

在插入数据之后,我们可以使用 Python 查询表中的数据。下面是一些常用的 SQL 命令:


  • 查询数据:SELECT column1, column2, column3, ... FROM tablename
  • 条件查询:SELECT column1, column2, column3, ... FROM tablename WHERE condition


我们可以使用以下代码查询 customers 表中的所有记录:


import mysql.connector

mydb = mysql.connector.connect(
  host="localhost",
  user="yourusername",
  password="yourpassword",
  database="mydatabase"
)

mycursor = mydb.cursor()

mycursor.execute("SELECT * FROM customers")

myresult = mycursor.fetchall()

for x in myresult:
  print(x)

在上面的代码中,我们首先连接到 MySQL 数据库,然后执行 SELECT * FROM customers 命令查询 customers 表中的所有记录。我们使用 fetchall() 方法获取所有查询结果,然后使用循环打印出每条记录。


更新数据

在查询数据之后,我们可以使用 Python 更新表中的数据。下面是一些常用的 SQL 命令:

  • 更新数据:UPDATE tablename SET column1 = value1, column2 = value2, ... WHERE condition


我们可以使用以下代码将 address 列的值从 Highway 21 更新为 Park Lane

import mysql.connector

mydb = mysql.connector.connect(
  host="localhost",
  user="yourusername",
  password="yourpassword",
  database="mydatabase"
)

mycursor = mydb.cursor()

sql = "UPDATE customers SET address = %s WHERE address = %s"
val = ("Park Lane 38", "Highway 21")
mycursor.execute(sql, val)

mydb.commit()

print(mycursor.rowcount, "record(s) affected")


在上面的代码中,我们首先连接到 MySQL 数据库,然后使用 UPDATE 命令将 address 列的值从 Highway 21 更新为 Park Lane 38。我们使用占位符 %s 来代替实际的值,然后在执行 SQL 语句之前将值传递给 execute() 方法。


最后,我们调用 commit() 方法来保存更改,然后打印出受影响的记录数。


删除数据

在更新数据之后,我们可以使用 Python 删除表中的数据。下面是一些常用的 SQL 命令:


  • 删除数据:DELETE FROM tablename WHERE condition


我们可以使用以下代码删除 address 列的值为 Park Lane 38 的记录:

import mysql.connector

mydb = mysql.connector.connect(
  host="localhost",
  user="yourusername",
  password="yourpassword",
  database="mydatabase"
)

mycursor = mydb.cursor()

sql = "DELETE FROM customers WHERE address = %s"
adr = ("Park Lane 38", )
mycursor.execute(sql, adr)

mydb.commit()

print(mycursor.rowcount, "record(s) deleted")


在上面的代码中,我们首先连接到 MySQL 数据库,然后使用 DELETE FROM 命令删除 address 列的值为 Park Lane 38 的记录。我们使用占位符 %s 来代替实际的值,然后在执行 SQL 语句之前将值传递给 execute() 方法。


最后,我们调用 commit() 方法来保存更改,然后打印出删除的记录数。


完整示例

下面是一个完整的 Python 示例,展示了如何连接到 MySQL 数据库、创建表、插入数据、查询数据、更新数据和删除数据:

import mysql.connector

mydb = mysql.connector.connect(
  host="localhost",
  user="yourusername",
  password="yourpassword",
  database="mydatabase"
)

mycursor = mydb.cursor()

# 创建表
mycursor.execute("CREATE TABLE customers (name VARCHAR(255), address VARCHAR(255))")

# 插入数据
sql = "INSERT INTO customers (name, address) VALUES (%s, %s)"
val = ("John", "Highway 21")
mycursor.execute(sql, val)

mydb.commit()

print(mycursor.rowcount, "record inserted.")

# 查询数据
mycursor.execute("SELECT * FROM customers")

myresult = mycursor.fetchall()

for x in myresult:
  print(x)

# 更新数据
sql = "UPDATE customers SET address = %s WHERE address = %s"
val = ("Park Lane 38", "Highway 21")
mycursor.execute(sql, val)

mydb.commit()

print(mycursor.rowcount, "record(s) affected")

# 删除数据
sql = "DELETE FROM customers WHERE address = %s"
adr = ("Park Lane 38", )
mycursor.execute(sql, adr)

mydb.commit()

print(mycursor.rowcount, "record(s) deleted")


在上面的代码中,我们首先连接到 MySQL 数据库,然后创建一个名为 customers 的表。接下来,我们向 customers 表中插入一条记录,并使用 SELECT 命令查询所有记录。然后,我们使用 UPDATE 命令将 address 列的值从 Highway 21 更新为 Park Lane 38,并使用 DELETE 命令删除 address 列的值为 Park Lane 38 的记录。最后,我们调用 commit() 方法来保存更改,并打印出插入、更新和删除的记录数。


这就是使用 Python 操作 MySQL 数据库的基本方法。使用 Python 和 MySQL,你可以轻松地创建、操作和管理数据库。

相关实践学习
如何在云端创建MySQL数据库
开始实验后,系统会自动创建一台自建MySQL的 源数据库 ECS 实例和一台 目标数据库 RDS。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助     相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
相关文章
|
16天前
|
弹性计算 关系型数据库 数据库
手把手带你从自建 MySQL 迁移到云数据库,一步就能脱胎换骨
阿里云瑶池数据库来开课啦!自建数据库迁移至云数据库 RDS原来只要一步操作就能搞定!点击阅读原文完成实验就可获得一本日历哦~
|
6天前
|
SQL 关系型数据库 MySQL
学习MySQL操作的有效方法
学习MySQL操作的有效方法
19 3
|
6天前
|
SQL 关系型数据库 MySQL
如何学习 MySQL?
如何学习 MySQL?
18 3
|
11天前
|
前端开发 C# 设计模式
“深度剖析WPF开发中的设计模式应用:以MVVM为核心,手把手教你重构代码结构,实现软件工程的最佳实践与高效协作”
【8月更文挑战第31天】设计模式是在软件工程中解决常见问题的成熟方案。在WPF开发中,合理应用如MVC、MVVM及工厂模式等能显著提升代码质量和可维护性。本文通过具体案例,详细解析了这些模式的实际应用,特别是MVVM模式如何通过分离UI逻辑与业务逻辑,实现视图与模型的松耦合,从而优化代码结构并提高开发效率。通过示例代码展示了从模型定义、视图模型管理到视图展示的全过程,帮助读者更好地理解并应用这些模式。
27 0
|
11天前
|
SQL 数据采集 关系型数据库
|
11天前
|
数据库 关系型数据库 MySQL
惊!Hibernate与MySQL的绝密优化技巧大揭秘,让你的数据库飞起来!
【8月更文挑战第31天】在企业应用开发中,结合使用持久层框架Hibernate与数据库管理系统MySQL可显著提升数据库交互效率。本文探讨了多项优化策略,包括配置二级缓存、采用单向关联减少JOIN操作、优化HQL查询语句以及合理使用MySQL索引。通过具体示例,文章详细讲解了如何实施这些优化措施,以期为企业应用提供更高效稳定的数据支持。
21 0
|
11天前
|
SQL 关系型数据库 MySQL
SQL Server、MySQL、PostgreSQL:主流数据库SQL语法异同比较——深入探讨数据类型、分页查询、表创建与数据插入、函数和索引等关键语法差异,为跨数据库开发提供实用指导
【8月更文挑战第31天】SQL Server、MySQL和PostgreSQL是当今最流行的关系型数据库管理系统,均使用SQL作为查询语言,但在语法和功能实现上存在差异。本文将比较它们在数据类型、分页查询、创建和插入数据以及函数和索引等方面的异同,帮助开发者更好地理解和使用这些数据库。尽管它们共用SQL语言,但每个系统都有独特的语法规则,了解这些差异有助于提升开发效率和项目成功率。
70 0
|
SQL Java 数据库连接
MySQL---数据库从入门走向大神系列(十五)-Apache的DBUtils框架使用
MySQL---数据库从入门走向大神系列(十五)-Apache的DBUtils框架使用
171 0
MySQL---数据库从入门走向大神系列(十五)-Apache的DBUtils框架使用
|
SQL 关系型数据库 MySQL
MySQL---数据库从入门走向大神系列(六)-事务处理与事务隔离(锁机制)
MySQL---数据库从入门走向大神系列(六)-事务处理与事务隔离(锁机制)
126 0
MySQL---数据库从入门走向大神系列(六)-事务处理与事务隔离(锁机制)
|
存储 SQL 关系型数据库
MySQL---数据库从入门走向大神系列(五)-存储过程
MySQL---数据库从入门走向大神系列(五)-存储过程
132 0
MySQL---数据库从入门走向大神系列(五)-存储过程

热门文章

最新文章