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

本文涉及的产品
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS PostgreSQL,集群系列 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
相关文章
|
18天前
|
NoSQL 关系型数据库 MySQL
微服务架构下的数据库选择:MySQL、PostgreSQL 还是 NoSQL?
在微服务架构中,数据库的选择至关重要。不同类型的数据库适用于不同的需求和场景。在本文章中,我们将深入探讨传统的关系型数据库(如 MySQL 和 PostgreSQL)与现代 NoSQL 数据库的优劣势,并分析在微服务架构下的最佳实践。
|
20天前
|
存储 SQL 关系型数据库
使用MySQL Workbench进行数据库备份
【9月更文挑战第13天】以下是使用MySQL Workbench进行数据库备份的步骤:启动软件后,通过“Database”菜单中的“管理连接”选项配置并选择要备份的数据库。随后,选择“数据导出”,确认导出的数据库及格式(推荐SQL格式),设置存储路径,点击“开始导出”。完成后,可在指定路径找到备份文件,建议定期备份并存储于安全位置。
160 11
|
15天前
|
存储 SQL 关系型数据库
MySQL的安装&数据库的简单操作
本文介绍了数据库的基本概念及MySQL的安装配置。首先解释了数据库、数据库管理系统和SQL的概念,接着详细描述了MySQL的安装步骤及其全局配置文件my.ini的调整方法。文章还介绍了如何启动MySQL服务,包括配置环境变量和使用命令行的方法。最后,详细说明了数据库的各种操作,如创建、选择和删除数据库的SQL语句,并提供了实际操作示例。
58 13
MySQL的安装&数据库的简单操作
|
21天前
|
存储 SQL 关系型数据库
一篇文章搞懂MySQL的分库分表,从拆分场景、目标评估、拆分方案、不停机迁移、一致性补偿等方面详细阐述MySQL数据库的分库分表方案
MySQL如何进行分库分表、数据迁移?从相关概念、使用场景、拆分方式、分表字段选择、数据一致性校验等角度阐述MySQL数据库的分库分表方案。
一篇文章搞懂MySQL的分库分表,从拆分场景、目标评估、拆分方案、不停机迁移、一致性补偿等方面详细阐述MySQL数据库的分库分表方案
|
3天前
|
关系型数据库 Unix MySQL
MySQL是一种关系型数据库管理系统
MySQL是一种关系型数据库管理系统
11 2
|
5天前
|
Oracle NoSQL 关系型数据库
主流数据库对比:MySQL、PostgreSQL、Oracle和Redis的优缺点分析
主流数据库对比:MySQL、PostgreSQL、Oracle和Redis的优缺点分析
17 2
|
11天前
|
SQL 关系型数据库 MySQL
创建包含MySQL和SQLServer数据库所有字段类型的表的方法
创建一个既包含MySQL又包含SQL Server所有字段类型的表是一个复杂的任务,需要仔细地比较和转换数据类型。通过上述方法,可以在两个数据库系统之间建立起相互兼容的数据结构,为数据迁移和同步提供便利。这一过程不仅要考虑数据类型的直接对应,还要注意特定数据类型在不同系统中的表现差异,确保数据的一致性和完整性。
22 4
|
20天前
|
SQL 监控 关系型数据库
MySQL数据库中如何检查一条SQL语句是否被回滚
检查MySQL中的SQL语句是否被回滚需要综合使用日志分析、事务状态监控和事务控制语句。理解和应用这些工具和命令,可以有效地管理和验证数据库事务的执行情况,确保数据的一致性和系统的稳定性。此外,熟悉事务的ACID属性和正确设置事务隔离级别对于预防数据问题和解决事务冲突同样重要。
30 2
下一篇
无影云桌面