创建第一个数据库与表:MySQL / PostgreSQL 对照练习

用一组最小 SQL 在 MySQL 和 PostgreSQL 中创建数据库、表并插入查询数据,建立最早期的操作手感。

#type / howto #status / growing #tech / dev / backend #resource / mysql #resource / postgresql

[!info] related notes

创建第一个数据库与表:MySQL / PostgreSQL 对照练习

目标

在 MySQL 和 PostgreSQL 中各自完成一次最小闭环:

  • 创建数据库
  • 创建表
  • 插入数据
  • 查询数据

前置条件

  • 已准备好本地数据库实例
  • 已能进入 MySQL / PostgreSQL 命令行

步骤

MySQL

CREATE DATABASE tf_playground;
USE tf_playground;

CREATE TABLE users (
  id BIGINT PRIMARY KEY AUTO_INCREMENT,
  name VARCHAR(100) NOT NULL,
  email VARCHAR(255) NOT NULL UNIQUE
);

INSERT INTO users (name, email)
VALUES ('Alice', 'alice@example.com');

SELECT id, name, email
FROM users;

PostgreSQL

CREATE DATABASE tf_playground;

连接到新数据库后:

CREATE TABLE users (
  id BIGINT GENERATED ALWAYS AS IDENTITY PRIMARY KEY,
  name VARCHAR(100) NOT NULL,
  email VARCHAR(255) NOT NULL UNIQUE
);

INSERT INTO users (name, email)
VALUES ('Alice', 'alice@example.com');

SELECT id, name, email
FROM users;

验证

  • 两边都成功创建了 users
  • 都能查到一条 Alice
  • 试着重复插入同样的邮箱,应看到唯一约束报错

常见问题

  • MySQL 的 AUTO_INCREMENT 与 PostgreSQL 的 IDENTITY 写法不同
  • PostgreSQL 创建数据库后,通常要重新连接到新数据库再建表
  • 如果字符集、时区或默认 schema 和预期不同,先不要急着加复杂配置,先把最小闭环跑通
创建于 2026/5/3 更新于 2026/5/27