SQL Create Table

As we all know, SQL uses Tables to store and Manage Data. Table in Sql Server is a combination of Rows and Columns. In order to create table, we have to use SQL Create Table Statement. The syntax for SQL Server create table is

-- SQL Server Create Table Syntax 
CREATE TABLE [Table Name]
(
    Column_Name1 Data_Type(Size) [NULL | NOT NULL],
    Column_Name2 Data_Type(Size) [NULL | NOT NULL],
     …
    Column_NameN Data_Type(Size) [NULL | NOT NULL]
);

Sql Server create table syntax items

  • Table Name: If you write the already existing table name, it will throw an error
  • Column_Name: Unique Column Names required for this table
  • Data Type: A valid Data type that the column will hold. For example, Int, Money, Varchar, Nvarchar and Date
  • Size: Data types like Varchar, nvarchar, Char expects the size So, Please provide valid number here
  • NULL or NOT NULL: If you select the NULL option then column will accept both normal values and NULL values. Otherwise, it will throw an error saying Column should not be empty

SQL Create Table Example

We create a new table in SQL Server called Customer inside the [SQL Tutorial] Database

-- SQL Server Create Table Example
CREATE TABLE [Customer]
(
  [CustomerKey] [int] NOT NULL,
  [Name] [varchar](150) NULL,
  [DateOfBirth] [date] NULL,
  [EmailAddress] [nvarchar](50) NULL,
  [Profession] [nvarchar](100) NULL
)
GO

The command is executed successfully and you can see the Newly created table in Sql Server object explorer.

Messages
-------
Command(s) completed successfully.

From the above Sql Server Create Table code you can observe that We declared 5 Columns:

  • Our first column is CustomerKey of Integer data type and it will not allow NULL values.
  • Name column belongs to Varchar data type and it allows NULL values. We also assigned the size to 150, it means both the columns will accept up to 150 characters
  • The third column is DateOfBirth of Date data type and allows NULLs. This will allow us to enter Date values only
  • EmailAddress and Profession columns belong to NVarchar data type and it will allow NULL values.

NOTE: Before you start creating a table in SQL Server, It is always advisable to check if a Table exists or not.

Let me show you the newly created table in Sql Server Object Explorer. Please expand the Columns folder to see the available columns

SQL Create Table Example 2

TIP: If you didn’t find the newly created table, Please click on the refresh button in object explorer

Create Table with Identity Column

In this example, we create a table with identity column in Sql Server. For this, we defined the Customer Key column as an Identity column. This will auto-generate numbers starting with 1 and incremented by 1. (This is optional If you want You can remove IDENTITY (1, 1) portion completely)

-- SQL Server Create Table Example

CREATE TABLE [Customer11]
(
  [CustomerKey] [int] IDENTITY(1,1) NOT NULL,
  [FirstName] [varchar](50) NULL,
  [LastName] [varchar](50) NULL,
  [BirthDate] [date] NULL,
  [EmailAddress] [nvarchar](50) NULL,
  [Yearly Income] [money] NULL,
  [Profession] [nvarchar](100) NULL
)
GO
Messages
-------
Command(s) completed successfully.

See the newly created table

SQL Create Table Example 4

SQL Create Table with Primary Key

How to create Table in Sql Server with Primary Key column. We just added the PRIMARY KEY word to the Customer key. This will create a primary key on Customer key column.

-- SQL Server Create Table Example

CREATE TABLE [Customer111]
(
  [ID] [int] IDENTITY(1,1) NOT NULL,
  [CustomerKey] [int] NOT NULL PRIMARY KEY,
  [FirstName] [varchar](50) NOT NULL ,
  [LastName] [varchar](50) NULL,
  [BirthDate] [date] NULL,
  [EmailAddress] [nvarchar](50) NULL,
  [Yearly Income] [money] NULL,
  [Profession] [nvarchar](100) NULL
)
GO
SQL Create Table Example 5

Create Table with All Constraints

How to create Table in Sql Server with Identity Column, Primary Key column, Unique Key, and Check Constraint?. I suggest you refer to Primary Key, Unique Key, Default Constraint, and Check Constraint articles. As you can see,

  • The last Name will accept Unique values.
  • If the user doesn’t provide a value to the Profession column then SQL writes Software Developer as the default value
  • Check constraint check whether the Age value is between 0 and 100
-- SQL Server Create Table Example

CREATE TABLE [Customer11111]
(
  [ID] [int] IDENTITY(1,1) NOT NULL,
  [CustomerKey] [int] NOT NULL PRIMARY KEY,
  [FirstName] [varchar](50) NOT NULL ,
  [LastName] [varchar](50) NOT NULL UNIQUE,
  [Age] [int] NULL,
  [EmailAddress] [nvarchar](50) NULL,
  [Yearly Income] [money] NULL,
  [Profession] [nvarchar](100) NOT NULL DEFAULT ('Software Developer'),
  CONSTRAINT CK_Customer11111_Age CHECK([Age] > 0 AND [Age] <= 100)
)
GO
Messages
-------
Command(s) completed successfully.

If you expand the table definition in the Object Explorer, you can see all these constraints

SQL Create Table Example 7

Sql Create Table from Another Table

It provides Select into Statement to create a table using an existing table along with data (if any).. Data that we are going to use

SQL Create Table Example 8

Below query creates new table Customer1111111 using Employee table definition, and insert all the records present in the Employee

-- SQL Server Create Table Example
SELECT  [EmpID], [FirstName], [LastName], [Education]
 ,[Occupation], [YearlyIncome], [Sales], [HireDate]
 INTO [SQL Tutorial].[dbo].[Customer1111111]
  FROM [SQL Tutorial].[dbo].[Employee]
Messages
-------
(14 row(s) affected)

Data inside this table

SELECT  [EmpID], [FirstName], [LastName], [Education]
 ,[Occupation], [YearlyIncome], [Sales], [HireDate]
  FROM [SQL Tutorial].[dbo].[Customer1111111]
SQL Create Table Example 10

Create Table in Management Studio

In order to Create a Table, within the Management Studio object explorer, Expand the Database folder in which you want to create table in Sql Server. Please select the Tables folder and Right click on it will open the context menu. Select the New option and then select the Table.. option to create Table in Sql Server.

SQL Create Table Example 11

Once you select the Table.. option, the following window will be opened to type the Column Name, Data Type and Checkbox to decide whether the column allows NULL values or Not. As you see, we added 7 columns of different data types.

SQL Create Table Example 12

Add Identity Column using Management Studio

Let me show you, how to add an identity column to already created table using Management Studio. First, select the column and Go to the Column Properties tab. Please change the IsIdentity option from default No to Yes in Identity Specification property.

SQL Create Table Example 14

Once you finish creating a table, Please click on the save button and rename the table name.

SQL Create Table Example 15

Click OK to finish saving. Write the following Select statement to check whether the table holds all the column names or not.

SQL Create Table Example 16

TIP: You can use the INSERT Statement, or insert into to insert data into this newly created table.

Create Local and Global Temp Table

Here, we create local and global temporary tables or temp tables in Sql Server. Please refer Temp Tables article.

-- SQL Create Local Temp Table
CREATE TABLE #LocalTemp
(
 [ID] [int] IDENTITY(1,1) NOT NULL,
 [Name] [nvarchar](255) NULL,
 [Occupation] [nvarchar](255) NULL,
 [Sales] [float] NULL
)
GO

-- SQL Create Global Temp Table
CREATE TABLE ##GlobalTemp
(
 [ID] [int] IDENTITY(1,1) NOT NULL,
 [Name] [nvarchar](255) NULL,
 [Occupation] [nvarchar](255) NULL,
 [YearlyIncome] [float] NULL,
 [Sales] [float] NULL
)
GO
SQL Create Table Example 17

Comments are closed.