create-schema.md 1.4 KB


title: "CREATE SCHEMA" description: "CREATE SCHEMA creates a new schema." menu: main:

parent: 'commands'

CREATE SCHEMA creates a new schema.

Conceptual framework

Materialize mimics SQL standard's namespace hierarchy, which is:

  • Databases (highest level)
  • Schemas
  • Tables, views, sources
  • Columns (lowest level)

Each layer in the hierarchy can contain elements directly beneath it. In this instance, schemas can contain tables, views, and sources.

For more information, see Namespaces.

Syntax

{{< diagram "create-schema.svg" >}}

Field Use
IF NOT EXISTS If specified, do not generate an error if a schema of the same name already exists.

If not specified, throw an error if a schema of the same name already exists. (Default)
schema_name A name for the schema.

You can specify the database for the schema with a preceding database_name.schema_name, e.g. my_db.my_schema, otherwise the schema is created in the current database.

Examples

CREATE SCHEMA my_db.my_schema;
SHOW SCHEMAS FROM my_db;
public
my_schema

Privileges

The privileges required to execute this statement are:

{{< include-md file="shared-content/sql-command-privileges/create-schema.md" >}}

Related pages