O'Reilly logo

SQL in a Nutshell by Kevin Kline

Stay ahead with the world's most comprehensive technology and business learning platform.

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, tutorials, and more.

Start Free Trial

No credit card required

Name

CREATE DATABASE

Synopsis

SQL99 does not actually contain a CREATE DATABASE statement. The closest SQL99 gets to the CREATE DATABASE statement is the CREATE SCHEMA and CREATE CATALOG statements. (CREATE SCHEMA is detailed later.) However, it is nearly impossible to operate a SQL database without this command. Almost all database vendors support some version of this command.

Vendor

Command

SQL Server

Supported, with variations

MySQL

Supported

Oracle

Supported

PostgreSQL

Supported, with variations

SQL99 Syntax and Description

CREATE database_name

In this syntax, database_name is the identifier of the new database to be created. This command creates a new, blank database with a specific name. Most vendors require a user to be in the root, master, or system database to create a new database. Once the new database is created, it can then be filled with database objects (such as tables, views, triggers, and so on), and the tables populated with data.

Microsoft SQL Server Syntax and Variations

In SQL Server and Oracle, the database is instantiated in a pre-created file structure. These files act as go-betweens for the database system and the operating system. As a result, the SQL Server and Oracle variants of CREATE DATABASE are similarly more sophisticated.

The syntax for Microsoft SQL Server looks like this:

CREATE DATABASE database_name
[ ON [PRIMARY]
[ <file> [,...n] ]
[, <file_group> [,...n] ]
]
[ LOG ON { <file> [,...n]} ]
[ FOR LOAD | FOR ATTACH ]
GO

In this implementation, ...

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, interactive tutorials, and more.

Start Free Trial

No credit card required