用INSERT INTO … SELECT 命令复制数据

从一个数据表把数据复制到另外一个数据表原来如此简单。今天工作时需要把一个表格的数据作为新数据新建到另外一个数据表中,上网查了一下,最后是这样做的。

INSERT INTO new_table (col1, col2, col3, col4 …)

SELECT col1,’1′, ‘P’, col22

FROM old_table

特殊情况:如果我想插入同一个值怎么办?比如table里有status一栏,我想所有新插入的都有status=’P’。那么我直接在Query中的Select对应的那一栏写”p”,而不是写column name就好了。(上面Query中“1”和“P”就是这样用的)

我如果想在新表中多个栏插入旧表中同一个栏的值怎么办?比如我在新表中有date_created, date_created_local, date_posted三个栏,都想写为旧表中date_created_UTC的值。那么我就只要重复date_created_UTC的Column name在SELECT 语句中就好了。

原来复制数据是这么简单的一个query,今天学习了。