SQL Create
A brief discussion of the SQL CREATE command and what it can create.
Most database systems provide a way for you to create database objects via a WYSIWYG interface. For example, Microsoft's SQL Server has SQL Server Management Studio (SSMS). SSMS gives you a kind of graphical representation of your database system. You can browse through your databases, view the tables and their contents etc.
Despite having a tool like SSMS to make these tasks easier, there can be good reasons for wanting to perform some of these tasks programatically. Possible reasons could include:
- Your application allows users to create objects on the fly.
- You have multiple environments (for example development, staging, production). It's much easier, and less error prone, to run a script against 3 environments than to open up SSMS and repeat the steps in 3 environments — especially if you have lots of changes.
- You don't have access to SSMS (or your database system's equivalent).
Fortunately, SQL has a number of CREATE commands that enable you to programatically create database objects including the database, its tables and more.
Here are the CREATE commands supported by SQL Server:
- CREATE AGGREGATE
- CREATE APPLICATION ROLE
- CREATE ASSEMBLY
- CREATE ASYMMETRIC KEY
- CREATE BROKER PRIORITY
- CREATE CERTIFICATE
- CREATE COLUMNSTORE INDEX
- CREATE CONTRACT
- CREATE CREDENTIAL
- CREATE CRYPTOGRAPHIC PROVIDER
- CREATE DATABASE
- CREATE DATABASE AUDIT SPECIFICATION
- CREATE DATABASE ENCRYPTION KEY
- CREATE DEFAULT
- CREATE ENDPOINT
- CREATE EVENT NOTIFICATION
- CREATE EVENT SESSION
- CREATE FULLTEXT CATALOG
- CREATE FULLTEXT INDEX
- CREATE FULLTEXT STOPLIST
- CREATE FUNCTION
- CREATE INDEX
- CREATE LOGIN
- CREATE MASTER KEY
- CREATE MESSAGE TYPE
- CREATE PARTITION FUNCTION
- CREATE PARTITION SCHEME
- CREATE PROCEDURE
- CREATE QUEUE
- CREATE REMOTE SERVICE BINDING
- CREATE RESOURCE POOL
- CREATE ROLE
- CREATE ROUTE
- CREATE RULE
- CREATE SCHEMA
- CREATE SEARCH PROPERTY LIST (Transact-SQL)
- CREATE SEQUENCE (Transact-SQL)
- CREATE SERVER AUDIT
- CREATE SERVER AUDIT SPECIFICATION
- CREATE SERVICE
- CREATE SPATIAL INDEX
- CREATE STATISTICS
- CREATE SYMMETRIC KEY
- CREATE SYNONYM
- CREATE TABLE
- CREATE TRIGGER
- CREATE TYPE
- CREATE USER
- CREATE VIEW
- CREATE WORKLOAD GROUP
- CREATE XML INDEX
- CREATE XML SCHEMA COLLECTION
We're not going to cover all these here but, over the next few lessons, we'll cover some of the most common CREATE commands.