1981

Mysql表复制语句SELECT INTO 和 INSERT INTO SELECT,连表更新语句UPDATE JOIN

前言

insert是sql中常用语句

INSERT INTO table(field1,field2,...) VALUES(value1,value2,...)

这种形式的语句在应用程序开发中必不可少。

但我们在开发、测试过程中,经常会遇到需要表复制的情况,如将一个table1的数据的部分字段复制到table2中,或者将整个table1复制到table2中。

这时候我们就要使用 SELECT INTOINSERT INTO SELECT 表复制语句了。

表复制语句

INSERT INTO SELECT 语句

语句形式为:

INSERT INTO table2(field1,field2,...) SELECT value1,value2,... FROM table1

注意:要求目标表table2 必须存在,由于目标表table2已经存在,所以我们除了插入源表table1的字段外,还可以插入常量

SELECT INTO FROM 语句

语句形式为:

SELECT vale1, value2 INTO table2 FROM table1

注意:要求目标表table2 不存在,因为在插入时会自动创建表table2,并将table1中指定字段数据复制到table2中

连表更新语句

UPDATE JOIN 语句

语句形式为:

UPDATE user u LEFT JOIN user_msg m ON m.user_id=u.id  SET u.msg_count=(SELECT COUNT(id) FROM user_msg WHERE user_id=u.id) WHERE u.id=m.user_id;

其他语句

查询中使用变量的方法

SELECT (@row :=@row + 1) AS num,a.id
FROM user a,(SELECT(@row := 0)) b
文章作者:DOTATONG
发布日期:2015-02-12
# mysql

评论

暂无

添加新评论