- Node.js教程
- Node.js - 教程
- Node.js - 简介
- Node.js - 环境设置
- Node.js - 首次申请
- Node.js - REPL 终端
- Node.js - 命令行选项
- Node.js - 包管理器 (NPM)
- Node.js - 回调概念
- Node.js - 上传文件
- Node.js - 发送电子邮件
- Node.js - 活动
- Node.js - 事件循环
- Node.js - 事件发射器
- Node.js - 调试器
- Node.js - 全局对象
- Node.js - 控制台
- Node.js - 流程
- Node.js - 扩展应用程序
- Node.js - 包装
- Node.js - Express 框架
- Node.js - RESTful API
- Node.js - 缓冲器
- Node.js - Streams
- Node.js - 文件系统
- Node.js MySQL
- Node.js - MySQL 快速入门
- Node.js - MySQL创建数据库
- Node.js - MySQL创建表
- Node.js - MySQL Insert Into
- Node.js - MySQL Select From
- Node.js - MySQL Where 子句
- Node.js - MySQL Order By
- Node.js - MySQL Delete
- Node.js - MySQL Update
- Node.js - MySQL Join
- Node.js MongoDB
- Node.js - MongoDB 快速入门
- Node.js - MongoDB 创建数据库
- Node.js - MongoDB 创建集合
- Node.js - MongoDB Insert
- Node.js - MongoDB Find
- Node.js - MongoDB 查询
- Node.js - MongoDB 排序
- Node.js - MongoDB Delete
- Node.js - MongoDB Update
- Node.js - MongoDB Limit
- Node.js - MongoDB Join
- Node.js模块
- Node.js - 模块
- Node.js - 内置模块
- Node.js - utility 模块
- Node.js - Web 模块
Node.js - MySQL创建表
MySQL是一种RDBMS软件,它使用SQL对存储在关系数据库表中的数据执行CRUD操作。在本教程中,我们将学习如何使用 MySQL 数据库作为 Node.js 应用程序的后端。本章介绍如何使用Node.js程序在MySQL数据库中创建表。
在关系数据库中,表表示一个实体,其特征是一个或多个属性。表中的每一行都是实体的一个实例。每个实体实例都由表属性的特定值来描述。表通常有一个属性标记为主键,约束每一行具有唯一值。
在MySQL中创建表
MySQL根据SQL标准实现CREATE TABLE语句。此语句定义表的属性的数量和类型。
MySQL的CREATE TABLE查询的语法如下:
CREATE TABLE [IF NOT EXISTS] table_name(
column1 datatype constraints,
column1 datatype constraints,
) ENGINE=storage_engine;
MySQL支持多种数据类型,如整数类型(如INT、TINYINT等)、浮点类型(FLOAT和DOUBLE)、字符串类型(VARCHAR、TEXT等)以及DATE和TIME类型。
为了保证关系数据库的数据完整性,列可能会应用约束,例如 PRIMARY KEY、NOT NULL、AUTO_INCREMENT 等。
让我们在 mydb 数据库中创建 employee 表。启动MySQL服务器,打开MySQL命令行客户端,并发出CREATE TABLE查询,如下所示 -
mysql> use mydb;
Database changed
mysql> CREATE TABLE IF NOT EXISTS employee (
-> id INT AUTO_INCREMENT PRIMARY KEY,
-> name VARCHAR(20) NOT NULL,
-> age INT,
-> salary FLOAT
-> );
Query OK, 0 rows affected (0.09 sec)
MySQL命令SHOW TABLES列出了数据库中正在使用的所有表。
mysql> SHOW TABLES;
+----------------+
| Tables_in_mydb |
+----------------+
| employee |
+----------------+
1 row in set (0.00 sec)
在 Node.js中创建表
现在,我们必须借助Node.js应用程序以编程方式创建一个MySQL表。该过程包括以下步骤 -
- 包含 mysql 模块
- 调用 createConnection() 函数获取连接对象。
- 使用连接对象的 query() 方法,并将 CREATE TABLE 查询字符串作为第一个参数传递给它。
要检查是否已创建表,请将 SHOW TABLES 查询传递给 query() 方法。
例
var mysql = require('mysql');
var con = mysql.createConnection({
host: "localhost",
user: "root",
password: "mypassword",
database: "mydb"
});
var qry =`CREATE TABLE IF NOT EXISTS employee (
id INT AUTO_INCREMENT PRIMARY KEY,
name VARCHAR(20) NOT NULL,
age INT,
salary FLOAT
);`;
con.connect(function (err) {
if (err) throw err;
console.log("Connected!");
con.query(qry, function (err, result) {
if (err) throw err;
console.log("Created table successfully");
});
con.query("SHOW TABLES;", function (err, result) {
if (err) throw err;
console.log("Showing tables\n");
for (var i = 0; i < result.length; i++) {
console.log(JSON.stringify(result[i]));
}
})
con.end();
});
输出
Connected!
Created table successfully
Showing tables
{"Tables_in_mydb":"employee"}
Created table successfully
Showing tables
{"Tables_in_mydb":"employee"}
您还可以使用 DESC 命令来显示表中每个字段的字段、类型和约束,如默认值、主键等。
con.query("DESC employee;", function (err, result) {
if (err) throw err;
console.log(JSON.stringify(result));
});
输出
[
{"Field":"id","Type":"int","Null":"NO","Key":"PRI","Default":null,"Extra":"auto_increment"},
{"Field":"name","Type":"varchar(20)","Null":"NO","Key":"","Default":null,"Extra":""},
{"Field":"age","Type":"int","Null":"YES","Key":"","Default":null,"Extra":""},
{"Field":"salary","Type":"float","Null":"YES","Key":"","Default":null,"Extra":""}
]