如何在企业管理器中创建、修改和删除数据库和表

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何在企业管理器中创建、修改和删除数据库和表相关的知识,希望对你有一定的参考价值。

1 如何在企业管理器中创建、修改和删除数据库和表
2 如何使用T-SQL语句创建和删除数据库和表

参考技术A 打开SQL Server企业管理器→打开可用SQL Server组找到可用服务器打开该服务器,选中其下的数据库文件夹,选择新建数据库(具体比如名称自己填写)即可进行数据库的创建,如果想删除数据库的话,找到该数据库的文件(在SQL服务器禁用的状态下)删除它,再次打开时你删除的那些数据库文件会成为质疑的,再选中选择删除就行了。至于表:创建,打开要用的数据库找到其下的表→选中后选择新建就可以新建表了(具体比如名称自己填写),还可以选择删除选项,进行删除表的操作。将表打开后,在右面的窗体中选择要操作的表,右击可以看到新建、设计、打开选项,接下来就进行你的具体操作吧!要好好看一些基础书... ...本回答被提问者采纳

如何使用 init.sql 在 Postgresql 中创建数据库、模式和表

【中文标题】如何使用 init.sql 在 Postgresql 中创建数据库、模式和表【英文标题】:How to create database, schema, and then table inside Postgresql using init.sql 【发布时间】:2022-01-24 02:38:35 【问题描述】:

我正在尝试创建一个 init.sql 文件来自动创建用户、数据库、模式和表。目前,用户和数据库已创建,但我的架构和表有问题。请参阅下面的代码:

码头工人撰写:

postgres_db:
image: postgres:14.1
restart: unless-stopped
environment:
  POSTGRES_USER: $SERVER_DB_USER
  POSTGRES_PASSWORD: $SERVER_DB_PASS
volumes:
  - ./data/postgres:/var/lib/postgresql/data
  - ./admin/config:/docker-entrypoint-initdb.d
ports:
  - "5432:5432"
networks:
  - bypass

/admin/config 中的 init.sql 文件:

CREATE USER bypass;
CREATE DATABASE bypass;
GRANT ALL PRIVILEGES ON DATABASE bypass TO bypass;

\c bypass;
CREATE SCHEMA bypass_project;

CREATE TABLE bypass_project.Bypass_Data (
    id serial PRIMARY KEY,
    Date_Time TIMESTAMP,
    Module VARCHAR(25),
    Area VARCHAR(25),
                         );

运行 docker-compose up 后,我无法看到架构和表格。我很确定\c bypass 使用不正确。如何连接到旁路数据库并在那里创建所有内容?

【问题讨论】:

你确定要在这里做吗?通常它是在应用程序级别通过一些迁移机制完成的。 我绝对是数据库管理的新手。我正在制作一个应用程序,它将不断地将数据从 Python 写入 Postgresql。我假设必须先构建数据库结构,然后数据才能流入其中。放入 init.sql 文件的最佳做法是什么?我将在哪里填充其他项目? 【参考方案1】:

CREATE TABLE 语句中的 SQL 语法肯定有错误。您应该删除尾随逗号:

CREATE TABLE bypass_project.Bypass_Data (
    id serial PRIMARY KEY,
    Date_Time TIMESTAMP,
    Module VARCHAR(25),
    Area VARCHAR(25)
);

您也可以尝试(第二个bypass 是您的数据库用户):

\c bypass bypass;

而不是

\c bypass;

另外,\c 是一个特定于 psql 的命令。如果您尝试在另一个客户端中执行包含此类命令的 SQL 脚本,它将无法正常工作。

在这种情况下,您可以尝试使用init.sh 脚本而不是init.sql,并在您的bash 脚本中使用psql。您可以查看完整示例 here。

如果对您没有帮助,您能否提供更多信息?我认为 docker-compose log 会有所帮助。

【讨论】:

【参考方案2】:

你应该把这个留在你的init.sql

CREATE USER bypass;
CREATE DATABASE bypass;
GRANT ALL PRIVILEGES ON DATABASE bypass TO bypass;

然后您应该公开数据库端口并从您的应用程序容器连接到它。如果您使用 Python,正如您在评论中提到的,您应该使用一些数据库迁移机制,如 Django ORM 或 SQLAlchemy。在部署python应用迁移机制时应该调用,它会实现你的数据库的状态。

Here 是 Django + PostgreSQL 设置的配置示例,这里是关于 Django 迁移的guide。

【讨论】:

以上是关于如何在企业管理器中创建、修改和删除数据库和表的主要内容,如果未能解决你的问题,请参考以下文章

数据库实验报告一-创建数据库和表

Sql Server2008温故而知新系列01:库和表的创建及删除

如何使用 init.sql 在 Postgresql 中创建数据库、模式和表

如何在 C# 和 WPF 中的实体框架中创建数据库和表?

如何在 GraphQL 中创建删除突变?

MySQL DDL-对库和表的操作