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 records| id | 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 ...***** | |