- 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 - 流
- Node.js - 文件系统
- Node.js MySQL
- Node.js - MySQL 入门
- Node.js - MySQL 创建数据库
- Node.js - MySQL 创建表
- Node.js - MySQL 插入数据
- Node.js - MySQL 从表中选择数据
- Node.js - MySQL Where 条件
- Node.js - MySQL 排序
- Node.js - MySQL 删除数据
- Node.js - MySQL 更新数据
- Node.js - MySQL 联接
- Node.js MongoDB
- Node.js - MongoDB 入门
- Node.js - MongoDB 创建数据库
- Node.js - MongoDB 创建集合
- Node.js - MongoDB 插入数据
- Node.js - MongoDB 查找数据
- Node.js - MongoDB 查询
- Node.js - MongoDB 排序
- Node.js - MongoDB 删除数据
- Node.js - MongoDB 更新数据
- Node.js - MongoDB 限制结果
- Node.js - MongoDB 联接
- Node.js 模块
- Node.js - 模块
- Node.js - 内置模块
- Node.js - 实用程序模块
- Node.js - Web 模块
- Node.js 有用资源
- Node.js - 快速指南
- Node.js - 有用资源
- Node.js - 讨论
Node.js - MySQL 创建表
MySQL 是一种关系数据库管理系统软件,它使用 SQL 对存储在关系数据库表中的数据执行 CRUD 操作。在本教程中,我们将学习如何使用 MySQL 数据库作为 Node.js 应用程序的后端。本章介绍如何使用 Node.js 程序在 MySQL 数据库中创建表。
在关系数据库中,表表示一个实体,其特征是一个或多个属性。表中的每一行都是实体的一个实例。每个实体实例由表属性的某些值来描述。表通常有一个属性标记为主键,约束每一行具有唯一值。
MySQL 中的 CREATE TABLE
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 中的 CREATE TABLE
现在,我们必须使用 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"}
您还可以使用 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":""} ]