Skip to main content

SQL table copies - SELECT INTO VS INSERT INTO


Creating a new table from another table 

see: https://www.w3schools.com/sql/sql_select_into.asp

This creates a new table and inserts all the data from the oldtable 

SELECT * INTO newtable FROM oldtable

You can create a new empty table from the schema of an other using a statement like

SELECT * INTO newtable FROM oldtable WHERE 1 = 0;


Copy data from one table into another existing table 


Insert data from one table into another 

INSERT INTO table2 SELECT * FROM table1


If you need to specify a column list (as is the cast when dealing with identity insert), the syntax is...
  • The tips are:
    • Brackets are required around the destination fields
    • No brackets are required around the select fields, just like a normal select statement 
    • You need the identity_insert flag

SET IDENTITY_INSERT table2 ON; 

INSERT INTO table2 ( col1, col2, col3) SELECT col1, col2, col3 FROM table1

SET IDENTITY_INSERT table2 OFF; 

Comments

Popular posts from this blog

NMAP

It's been about 15 years since I used NMAP, I forgot how useful the tool is. To find out what services are running on an IP address simply use something like nmap -n -v -p1-10000 x.x.x.x -n tells nmap not to do name resolution (saves about 13 seconds if the IP you're scanning isn't in DNS_ -v verbose -p1-10000 says scan ports 1 to 10,000 (otherwise nmap will only scan the first 1000 ports)