Node.js - MySQL 创建表:初学者指南

你好,有抱负的程序员们!今天,我们将踏上一段激动人心的旅程,探索 Node.js 和 MySQL 的世界。作为你友好邻里的计算机科学老师,我将引导你使用 Node.js 在 MySQL 中创建表的过程。如果你是编程新手,不用担心——我们将从基础开始,逐步深入。所以,拿起一杯咖啡(或者如果你喜欢,茶也可以),让我们一起开始吧!

Node.js - MySQL Create Table

理解基础

在我们跳入代码之前,让我们花点时间理解我们即将处理的内容。Node.js 是一个强大的 JavaScript 运行时,允许我们在服务器端运行 JavaScript。另一方面,MySQL 是一个流行的关系数据库管理系统。当我们结合这两种技术时,我们可以创建与数据库交互的动态 Web 应用程序。

现在,想象你正在整理你的书架。每个书架可以是数据库中的表,每本书代表数据行。创建表就像设置一个新货架,并为它指定可以容纳的书籍(数据)的特定规则。

在 MySQL 中创建表

让我们从直接在 MySQL 中创建表开始。这将为我们通过 Node.js 做同样的事情打下坚实的基础。

基本语法

在 MySQL 中创建表的基本语法如下:

CREATE TABLE table_name (
column1 datatype,
column2 datatype,
column3 datatype,
....
);

让我们分解一下:

  • CREATE TABLE 是告诉 MySQL 我们想要创建一个新表的命令。
  • table_name 是你指定想要给你的表命名的地方。
  • 在括号内,我们列出我们的列及其数据类型。

一个简单的例子

让我们创建一个表来存储关于书籍的信息:

CREATE TABLE books (
id INT AUTO_INCREMENT PRIMARY KEY,
title VARCHAR(100) NOT NULL,
author VARCHAR(50) NOT NULL,
publication_year INT,
isbn VARCHAR(13) UNIQUE
);

在这个例子中:

  • id 是一个自动递增的整数,作为主键。
  • titleauthor 是不能为空的变长字符串。
  • publication_year 是一个整数。
  • isbn 是一个唯一的 13 字符串。

记得我提到整理你的书架吗?这个表结构就像给每个书架部分贴上标签:一个用于书籍的 ID,一个用于标题,另一个用于作者,等等。

在 Node.js 中创建表

现在我们理解了如何在 MySQL 中创建表,让我们看看如何使用 Node.js 实现相同的结果。这就是魔法发生的地方!

设置

首先,我们需要设置我们的 Node.js 环境并安装必要的包。打开你的终端并运行:

npm init -y
npm install mysql2

这会创建一个新的 Node.js 项目并安装 mysql2 包,我们将使用它来连接到我们的 MySQL 数据库。

连接到 MySQL

在我们创建表之前,我们需要建立与 MySQL 数据库的连接。以下是如何做到这一点的:

const mysql = require('mysql2');

const connection = mysql.createConnection({
host: 'localhost',
user: 'your_username',
password: 'your_password',
database: 'your_database_name'
});

connection.connect((err) => {
if (err) {
console.error('连接数据库出错:' + err.stack);
return;
}
console.log('已连接到数据库。');
});

'your_username''your_password''your_database_name' 替换为你的实际 MySQL 凭据。

创建表

现在,让我们使用 Node.js 创建我们的 books 表:

const createTableQuery = `
CREATE TABLE IF NOT EXISTS books (
id INT AUTO_INCREMENT PRIMARY KEY,
title VARCHAR(100) NOT NULL,
author VARCHAR(50) NOT NULL,
publication_year INT,
isbn VARCHAR(13) UNIQUE
)
`;

connection.query(createTableQuery, (err, results) => {
if (err) {
console.error('创建表出错:' + err.stack);
return;
}
console.log('表创建成功。');
});

让我们分解一下:

  1. 我们定义我们的 SQL 查询作为一个字符串,就像我们在纯 MySQL 中做的那样。
  2. 我们使用 IF NOT EXISTS 来防止如果表已经存在时出现错误。
  3. 我们使用 connection.query() 方法来执行我们的 SQL 查询。
  4. 我们提供一个回调函数来处理结果或任何错误。

一切结合

以下是一个完整的脚本,它连接到数据库并创建我们的表:

const mysql = require('mysql2');

const connection = mysql.createConnection({
host: 'localhost',
user: 'your_username',
password: 'your_password',
database: 'your_database_name'
});

connection.connect((err) => {
if (err) {
console.error('连接数据库出错:' + err.stack);
return;
}
console.log('已连接到数据库。');

const createTableQuery = `
CREATE TABLE IF NOT EXISTS books (
id INT AUTO_INCREMENT PRIMARY KEY,
title VARCHAR(100) NOT NULL,
author VARCHAR(50) NOT NULL,
publication_year INT,
isbn VARCHAR(13) UNIQUE
)
`;

connection.query(createTableQuery, (err, results) => {
if (err) {
console.error('创建表出错:' + err.stack);
return;
}
console.log('表创建成功。');
connection.end(); // 当我们完成时关闭连接
});
});

要运行这个脚本,将其保存为 create_table.js 并用 Node.js 执行它:

node create_table.js

如果一切顺利,你应该会看到 "已连接到数据库。" 后跟 "表创建成功。"

结论

恭喜你!你刚刚使用 Node.js 创建了你的第一个 MySQL 表。把我们所做的想象成在数据库这个庞大的图书馆中设置了一个全新的、有组织的书架。每次你运行这个脚本,它都会检查货架(表)是否存在,如果不存在,就为你创建一个。

记住,这只是一个开始。有了这个知识,你可以创建更复杂的表,添加它们之间的关系,并开始构建强大的数据库驱动应用程序。

在我们结束之前,这里有一个来自你友好的计算机科学老师的小提示:总是仔细检查你的连接详情,并确保你的 MySQL 服务器在执行你的 Node.js 脚本之前正在运行。这会节省你很多头疼的时刻!

继续练习,保持好奇心,快乐编码!

方法 描述
mysql.createConnection() 创建一个新的 MySQL 连接
connection.connect() 与 MySQL 服务器建立连接
connection.query() 在连接的数据库上执行 SQL 查询
connection.end() 关闭 MySQL 连接

Credits: Image by storyset