我想就我的后端流量寻求帮助。
我现在开始使用 SQL,并且我有一些 noSQL 数据库的背景知识,但我不太了解 SQL,所以我在寻找如何注册我的模式时遇到了一些麻烦。
我正在使用 node-mysql ,我可以创建模式的方式是调用方法查询,例如:
myInstance.query( 'CREATE TABLE users (
id INT PRIMARY KEY AUTO_INCREMENT,
name VARCHAR(100) NULL NULL,
email VARCHAR(100) NULL NULL,
password VARCHAR(100) NULL NULL
)');
此解决方案的问题是:此代码将在每次服务器初始化时运行。
所以,我想知道如何检查架构是否已经存在,并且..这是一个好的解决方案吗?我在考虑创建所有模式的 bash 脚本,我不需要这些 if 语句。
谢谢。
最佳答案
您所说的“模式”实际上是一个“表”。因此,create table
语句,而不是 create schema
。这个非常重要。也许这部分documentation将帮助您理解其中的区别。
有四种截然不同的结构:
- 数据库服务器——您如何连接到一个或多个数据库
- 数据库实例——一组对象,通常是一个备份和存储单元
- 模式——一组对象(可能在数据库中),通常是一个权限单元
- 表——存储数据的地方
请注意,不同的数据库系统在这些方面略有不同。
当然,“表”是有schema的,这也是容易混淆的原因。
通常,数据库的管理与用户应用程序分开处理。也就是说,DBA(也可能是开发人员)将创建数据库、管理访问、处理备份/恢复和其他事情。应用程序将简单地连接到数据库并假定正确的表和数据就在那里。
也就是说,在大多数情况下,您不会在应用程序代码中创建表。只需使用应该已经为您的数据库创建的表。
关于javascript - 在 SQL 中创建模式的最佳方式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34859747/