mirror of
https://github.com/lancedb/lancedb.git
synced 2026-10-15 08:12:26 +00:00
A plain ADD COLUMN, a primary key on a nullable column, bucket sharding without a column, CREATE SCHEMA public and a three-part schema path are all rejected. Show forms that run, say what bucket sharding needs, and note that a new index is built in the background before it can be dropped.
56 lines
1.7 KiB
Plaintext
56 lines
1.7 KiB
Plaintext
---
|
|
title: "Namespace"
|
|
sidebarTitle: "Namespace"
|
|
description: "CREATE SCHEMA and DROP SCHEMA — the SQL spelling of namespace DDL."
|
|
icon: folder-tree
|
|
keywords: ["namespace", "schema", "create schema", "drop schema", "sql"]
|
|
---
|
|
|
|
<Badge color="red">Enterprise</Badge> [SQL runs on a deployment.](/sql)
|
|
|
|
A [namespace](/management/namespace) is addressed in SQL as a `SCHEMA` -- the
|
|
standard's name for the same concept.
|
|
|
|
## CREATE SCHEMA {#create}
|
|
|
|
```sql
|
|
CREATE SCHEMA analytics
|
|
CREATE SCHEMA db1.`ns1$ns2`
|
|
CREATE SCHEMA IF NOT EXISTS `ns1$ns2`
|
|
```
|
|
|
|
A nested namespace is one backtick-quoted name with `$` between its
|
|
components: `` db1.`ns1$ns2` `` creates `ns2` inside `ns1` in database `db1`,
|
|
provided `ns1` already exists. The part before the dot is the database, so a
|
|
three-part path such as `db1.ns1.ns2` is rejected. `public` is the database's
|
|
root namespace, which is never created or dropped.
|
|
|
|
`IF NOT EXISTS` makes the statement a no-op rather than an error when the
|
|
namespace is already there.
|
|
|
|
## DROP SCHEMA {#drop}
|
|
|
|
```sql
|
|
DROP SCHEMA db1.analytics
|
|
DROP SCHEMA IF EXISTS `a$b`
|
|
DROP SCHEMA `a$b` RESTRICT
|
|
```
|
|
|
|
<Warning>
|
|
`CASCADE` is rejected: **"DROP SCHEMA CASCADE is not supported; drop the
|
|
objects inside first."** A namespace's tables, views and other objects must be
|
|
dropped explicitly before the namespace itself can go. `RESTRICT` -- the
|
|
default -- states that requirement rather than changing it.
|
|
</Warning>
|
|
|
|
## What to read next {#next}
|
|
|
|
<CardGroup cols={2}>
|
|
<Card title="Namespace" icon="folder-tree" href="/management/namespace">
|
|
The SDK equivalent, and how a namespace fits the catalog hierarchy.
|
|
</Card>
|
|
<Card title="Table" icon="table" href="/sql/ddl/table">
|
|
Creating tables inside a namespace.
|
|
</Card>
|
|
</CardGroup>
|