I’m still a beginner in SQL Server. I will blog about many basic things in SQL Server. Inserting is very important Data Manipulation Statement. So let’s see how to use INSERT Statement in different ways.
nn
USE tempdbnGOnn--Creating TablenCREATE TABLE tmpTable(n [id] int NOT NULL,n [name] varchar(100) NULL,n [address] varchar(1000) NULLn)nGOnn--Inserting DatanINSERT INTO tmpTable([id],[name],[address]) VALUES(1, 'John', '123, qwerty')nGOnn--Inserting Data by Changing order columnnINSERT INTO tmpTable([name],[id],[address]) VALUES('Mark',2, '234, qwerty')nGOnn--Inserting Data without specifying columnsnINSERT INTO tmpTable VALUES(3,'Steve', '454, qwerty')nGOnn--Deleting temp tablenDROP TABLE tmpTablenGOn
nn
Above statements are the basic inserting methods. But it’s recommended to specify columns. If you want to change the schema structure later It will not affect your code if you have used INSERT with specified columns. And if you don’t specify columns be careful because you have to provide data for every column.
nn
USE tempdbnGOnn--Creating TablenCREATE TABLE tmpTable(n [id] int NOT NULL,n [name] varchar(100) NULL,n [address] varchar(1000) NULLn)nGOnn/*n If you don't specify column names you have to n insert data to every columns you can't skipn columnsn*/nn-- This cause a error 'Column name or number of supplied values n-- does not match table definition.'nINSERT INTO tmpTable VALUES(4,'Gates' )nGOnn--Dropping the temp tablenDROP TABLE tmpTablenGOn
nn
Playing with DEFAULT Values
nn
Sometimes we need to work with DEFAULT values. Then if you want to let SQL Server decide values you can code like this.
nn
USE tempdbnGOnn--Creating TablenCREATE TABLE tmpTable(n [name] varchar(100) DEFAULT ('Name'),n [address] varchar(1000) DEFAULT ('Address')n)nGOnn--You can let sql server to add default values by mentioning default nINSERT INTO tmpTable VALUES('John',default )nGOnnINSERT INTO tmpTable VALUES(default,'123 qwerty')nGOnn--If you like you can give default values to all the columns too.nINSERT INTO tmpTable VALUES(default,default)nGOnn-- You can ignore values for that column. Then you have to n-- specify column namenINSERT INTO tmpTable([name]) VALUES('Mark')nGOnn--Retrieving datanSELECT * FROM tmpTablenGOnn--Dropping the temp tablenDROP TABLE tmpTablenGOn
nn
Inserting data from another table
nn
In some cases, we need to insert data from one table to another. Then we can use the INSERT statement to copy data from another table.
nn
USE [AdventureWorks2012]nGOnn--Creating a temp tablenCREATE TABLE Tmp(n [BusinessEntityID] [int] NOT NULL,n [LoginID] [nvarchar](256) NOT NULL,n [OrganizationNode] [hierarchyid] NULL,n [JobTitle] [nvarchar](50) NOT NULL,n [BirthDate] [date] NOT NULL,n [MaritalStatus] [nchar](1) NOT NULL,n [Gender] [nchar](1) NOT NULL,n)nGOnn--Inserting data from another tablenINSERT INTO Tmpn (n [BusinessEntityID], n [LoginID],n [OrganizationNode],n [JobTitle],n [BirthDate],n [MaritalStatus],n [Gender] n ) n --Selecting data from HumanResources.Employeen SELECT n [BusinessEntityID],n [LoginID],n [OrganizationNode],n [JobTitle],n [BirthDate],n [MaritalStatus],n [Gender]n FROM HumanResources.EmployeenGOnn--Retrieving datanSELECT * FROM TmpnGOnn--Dropping TablenDROP TABLE TmpnGOn
nn
nn
n
- Insert
n
- T-SQL
n
- SQL Server
n
n