CREATE TABLE student2 SELECT * FROM student
This will create a new table student2 using the structure of the table student and will copy all the records from table student to our new table student2. id | name | class | mark |
---|---|---|---|
1 | John Deo | Four | 75 |
2 | Max Ruin | Three | 85 |
3 | Arnold | Three | 55 |
4 | Krish Star | Four | 60 |
5 | John Mike | Four | 60 |
6 | Alex John | Four | 55 |
CREATE TABLE student2 SELECT * FROM student WHERE class='Four'
With this command we will create a new table student2 of same structure of main table student and all the records of class = Four will be copied to the new table. The new table student2 will have these recordsid | name | class | mark |
---|---|---|---|
1 | John Deo | Four | 75 |
4 | Krish Star | Four | 60 |
5 | John Mike | Four | 60 |
6 | Alex John | Four | 55 |
CREATE TABLE student2 SELECT id,name, mark FROM student
CREATE table t1 LIKE student
Here we will create a new table t1 by using structure of student table. ( No data is copied)CREATE TABLE IF NOT EXISTS student5
SELECT * FROM student WHERE class='Four'
Here the table will be created only if the table is not there before.
DROP TABLE IF EXISTS `student5`;
The advantage of the above command over using a simple drop table command is here no error message saying unknown table is generated even if the table is not there.
CREATE TABLE student2 (id INT(3) auto_increment primary key)
SELECT student.name,student.class, student.mark from student
SHOW CREATE TABLE student
<?Php
require "config.php"; // Database connection string
$table_name='student';
$q = $dbo->prepare("SHOW CREATE TABLE $table_name ");
$q->execute();
$table = $q->fetchAll();
print_r($table);
echo '<br><br>';
echo $table[0]['Create Table'];
?>
The output is here
Array ( [0] => Array ( [Table] => student [0] => student [Create Table] => CREATE TABLE `student` ( `id` int(2) NOT NULL AUTO_INCREMENT, `name` varchar(50) NOT NULL DEFAULT '', `class` varchar(10) NOT NULL DEFAULT '', `mark` int(3) NOT NULL DEFAULT '0', `sex` varchar(6) NOT NULL DEFAULT 'male', UNIQUE KEY `id` (`id`) ) ENGINE=InnoDB AUTO_INCREMENT=36 DEFAULT CHARSET=utf8 [1] => CREATE TABLE `student` ( `id` int(2) NOT NULL AUTO_INCREMENT, `name` varchar(50) NOT NULL DEFAULT '', `class` varchar(10) NOT NULL DEFAULT '', `mark` int(3) NOT NULL DEFAULT '0', `sex` varchar(6) NOT NULL DEFAULT 'male', UNIQUE KEY `id` (`id`) ) ENGINE=InnoDB AUTO_INCREMENT=36 DEFAULT CHARSET=utf8 ) )
CREATE TABLE `student` ( `id` int(2) NOT NULL AUTO_INCREMENT, `name` varchar(50) NOT NULL DEFAULT '', `class` varchar(10) NOT NULL DEFAULT '', `mark` int(3) NOT NULL DEFAULT '0', `sex` varchar(6) NOT NULL DEFAULT 'male', UNIQUE KEY `id` (`id`) ) ENGINE=InnoDB AUTO_INCREMENT=36 DEFAULT CHARSET=utf8
Export data to existing table
Author
🎥 Join me live on YouTubePassionate about coding and teaching, I publish practical tutorials on PHP, Python, JavaScript, SQL, and web development. My goal is to make learning simple, engaging, and project‑oriented with real examples and source code.
dfgf | 19-02-2009 |
This is a very useful information. Thank you very much.... Everywhere else i found info to do this in 2 steps, but this method saves a lot of work. |
demonsmile | 15-03-2009 |
wa bng clear discussion about sa copying of data in the table to table |
Hiromitsu | 05-06-2009 |
Thanks for this tutorial. It works great !! |
siddhartha singh | 10-06-2009 |
this is very clear cut way to explain the things,one can easily learn the points by just reading the txts |
Rudy Warjri | 09-07-2009 |
please giv me a more detailed explanation to calculate the marks from one table and then calculate the total sum in another table by using some php code |
Willy | 06-08-2009 |
Will this work in ACCESS 2007? |
matthew | 08-10-2009 |
It doesn't work very well. Particular fields of newly created table has to be altered if there were extra properties in the fields of the source. |
Fadi | 10-12-2009 |
Greate work thanks. It really helped me |
Abid | 18-12-2009 |
Thanks for this info.. but if what if i've just to copy only the structure.....?? |
Dave | 22-02-2010 |
always double-check that the new table has the same indexes as the source table - some versions don't copy the indexes when you do a CREATE TABLE student2 SELECT * FROM student with or without the LIMIT 0 :) |
seenu | 02-03-2010 |
Thanks for providing the valuable information, this helps a lot to learn the concept's. |
Vilart | 08-03-2010 |
Thank so much for your best information. God bless you. |
Anand | 09-03-2010 |
Hi, this query will work... select * into A from B where A- new table name and B - old table name.. the table with the same column, data and etc,etc are created... this worked in SQL 2005 |
manoj kumar bardhan | 07-04-2010 |
Its very help full.. |
JAISHI RAM | 22-05-2010 |
I want to copy table1 into table2 with structure and data in the same database. I used the cammand CREATE TABLE student2 SELECT * FROM student on button click event and also on sql moblie query but can not make copy. So u r requested to pl. kindly solve my this problem with example. Thanking u. |
Raaj | 04-06-2010 |
i want to copy table structure only in SQL2005.. can you please help me? |
Scot King | 10-06-2010 |
How do I copy data from table into tablebackup that is external to the current database? |
Satish | 05-08-2010 |
Thanks for the info, anyone have tired to create a Multiple Tables with the Automatic Names given to New Table Created , Queried from a Master Table in same database Example: "mstr_Student_tbl". Here I want a Table generated as "tbl_stundentID" automatically where the structure is same as in a Model Table Model_Stundent_tbl If that is a SQL It will be like ..?? just 2 bit to start... CREATE TABLE mstr_Student_tbl.ID LIKE Model_Student_tbl Thanks in advance for help regards Satish |
Pankaj Kumar GUpta | 29-09-2010 |
i try to copy only structure and create a new table and use this Query "create table t1 like student" when i use this Query it not work any one give me suggestion |
sam | 08-11-2010 |
how to merge two tables in php mysql database? Same field name records not deleted.All records save in new table. |
Adil | 13-01-2011 |
@Raaj -- copy table structure only no data; CREATE TABLE Table_NAME SELECT * FROM Table_NAME_copy where 1 = 2; |
el-ahmed mahmood | 09-02-2011 |
i would like a SQL statement that define the structure and content of a table containing student profile |
Narendra Kumar | 16-06-2011 |
I would like to told you that how to copy the one table data into another. INSERT INTO Table1 (Column1, ..., ColumnN) SELECT Column1, ..., ColumnN FROM Table2 |
sunny | 09-09-2011 |
With INSERT ... SELECT, you can quickly insert many rows into a table from one or many tables. For example: INSERT INTO tbl_temp2 (fld_id) SELECT tbl_temp1.fld_order_id FROM tbl_temp1 WHERE tbl_temp1.fld_order_id > 100; |
ashish shukla | 01-11-2012 |
its very benificial for fresher,..... |
Saeed | 07-11-2014 |
Thank you so much .... This website very helpfull ...***** |