SQL 数据库 (MySQL, PostgreSQL) 教程

1. 概述

SQL(Structured Query Language)是一种用于管理关系型数据库的标准语言。MySQL 和 PostgreSQL 是两种流行的开源关系型数据库管理系统(RDBMS)。本教程将介绍如何使用这两种数据库,包括基本概念、安装、配置、基本操作和高级功能。

2. 安装与配置

2.1 MySQL 安装与配置

2.1.1 安装 MySQL

在 Linux 系统上,可以使用以下命令安装 MySQL:

sudo apt-get update
sudo apt-get install mysql-server

在 macOS 上,可以使用 Homebrew 安装:

brew install mysql

2.1.2 配置 MySQL

安装完成后,启动 MySQL 服务:

sudo systemctl start mysql

设置 MySQL 开机自启动:

sudo systemctl enable mysql

2.2 PostgreSQL 安装与配置

2.2.1 安装 PostgreSQL

在 Linux 系统上,可以使用以下命令安装 PostgreSQL:

sudo apt-get update
sudo apt-get install postgresql

在 macOS 上,可以使用 Homebrew 安装:

brew install postgresql

2.2.2 配置 PostgreSQL

安装完成后,启动 PostgreSQL 服务:

sudo systemctl start postgresql

设置 PostgreSQL 开机自启动:

sudo systemctl enable postgresql

3. 基本操作

3.1 连接数据库

3.1.1 连接 MySQL

使用 mysql 命令行工具连接 MySQL:

mysql -u root -p

3.1.2 连接 PostgreSQL

使用 psql 命令行工具连接 PostgreSQL:

psql -U postgres

3.2 创建数据库

3.2.1 在 MySQL 中创建数据库

CREATE DATABASE mydatabase;

3.2.2 在 PostgreSQL 中创建数据库

CREATE DATABASE mydatabase;

3.3 创建表

3.3.1 在 MySQL 中创建表

CREATE TABLE users (
    id INT AUTO_INCREMENT PRIMARY KEY,
    name VARCHAR(255),
    email VARCHAR(255)
);

3.3.2 在 PostgreSQL 中创建表

CREATE TABLE users (
    id SERIAL PRIMARY KEY,
    name VARCHAR(255),
    email VARCHAR(255)
);

3.4 插入数据

3.4.1 在 MySQL 中插入数据

INSERT INTO users (name, email) VALUES ('John Doe', '[email protected]');

3.4.2 在 PostgreSQL 中插入数据

INSERT INTO users (name, email) VALUES ('John Doe', '[email protected]');

3.5 查询数据

3.5.1 在 MySQL 中查询数据

SELECT * FROM users;

3.5.2 在 PostgreSQL 中查询数据

SELECT * FROM users;

4. 高级功能

4.1 索引

4.1.1 在 MySQL 中创建索引

CREATE INDEX idx_email ON users(email);

4.1.2 在 PostgreSQL 中创建索引

CREATE INDEX idx_email ON users(email);

4.2 事务

4.2.1 在 MySQL 中使用事务

START TRANSACTION;
INSERT INTO users (name, email) VALUES ('Jane Doe', '[email protected]');
COMMIT;

4.2.2 在 PostgreSQL 中使用事务

BEGIN;
INSERT INTO users (name, email) VALUES ('Jane Doe', '[email protected]');
COMMIT;

4.3 视图

4.3.1 在 MySQL 中创建视图

CREATE VIEW user_emails AS
SELECT name, email FROM users;

4.3.2 在 PostgreSQL 中创建视图

CREATE VIEW user_emails AS
SELECT name, email FROM users;

5. 实践练习

5.1 创建一个简单的用户管理系统

  1. 创建一个名为 user_management 的数据库。
  2. 创建一个名为 users 的表,包含 id、name、email 和 password 字段。
  3. 插入几条用户数据。
  4. 查询所有用户数据。
  5. 创建一个视图,显示用户的 name 和 email。

5.2 使用事务管理用户注册

  1. 创建一个事务,插入一条新用户数据。
  2. 如果插入成功,提交事务;否则,回滚事务。

6. 总结

本教程介绍了 MySQL 和 PostgreSQL 的基本概念、安装、配置、基本操作和高级功能。通过实践练习,你应该能够掌握如何使用这两种数据库管理系统进行数据管理。在后续的课程中,我们将学习如何将这些数据库与 Express.js 应用集成。