MySQL 插入数据时生成 UUID

在数据库操作中,唯一性是一个非常重要的属性。UUID(Universally Unique Identifier,通用唯一识别码)是一种广泛使用的唯一性标识符。本文将介绍如何在 MySQL 中插入数据时生成 UUID,并展示相应的代码示例。

为什么使用 UUID

UUID 是一种 128 位的数字,可以保证在分布式系统中的全局唯一性。相比于自增主键,UUID 避免了数据库表之间的依赖关系,提高了系统的可扩展性。

MySQL 生成 UUID

MySQL 5.7 及以上版本支持 UUID() 函数,可以直接生成 UUID。以下是使用 UUID() 函数生成 UUID 的示例:

INSERT INTO your_table (id, data) VALUES (UUID(), 'your_data');
  • 1.

代码示例

假设我们有一个名为 users 的表,包含 idname 两个字段。以下是使用 Python 和 MySQL Connector 进行数据插入的示例:

import mysql.connector
import uuid

# 连接数据库
conn = mysql.connector.connect(
    host="localhost",
    user="your_username",
    password="your_password",
    database="your_database"
)
cursor = conn.cursor()

# 插入数据
user_id = str(uuid.uuid4())
insert_query = "INSERT INTO users (id, name) VALUES (%s, %s)"
cursor.execute(insert_query, (user_id, "John Doe"))

# 提交事务
conn.commit()

# 关闭连接
cursor.close()
conn.close()
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.
  • 12.
  • 13.
  • 14.
  • 15.
  • 16.
  • 17.
  • 18.
  • 19.
  • 20.
  • 21.
  • 22.
  • 23.

关系图

以下是 users 表的 ER 图:

USER int id PK UUID string name

流程图

以下是插入数据的流程图:

开始 连接数据库 生成 UUID 构建 SQL 语句 执行 SQL 语句 提交事务 关闭连接 结束

结语

通过本文的介绍,我们了解到了在 MySQL 中生成 UUID 的方法以及如何结合 Python 进行数据插入。UUID 作为一种全局唯一的标识符,可以提高系统的可扩展性和可维护性。希望本文对您有所帮助。