mysql中select into from语句使用例子分析

表如下所示

 代码如下 复制代码

SELECT * FROM `test_table_draw` WHERE `borough_id`>=10266 and `borough_id`

<=12354

户型表

SELECT * FROM `test_table_pic` WHERE `borough_id`>=10266 and `borough_id`

<=12354

相册表

创建一个备份表

 代码如下 复制代码

CREATE TABLE IF NOT EXISTS `test_table_tp` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `pic_url` varchar(200) NOT NULL,
  `pic_thumb` varchar(200) DEFAULT NULL,
  `pic_desc` varchar(200) DEFAULT NULL,
  `borough_id` int(11) NOT NULL,
  `creater` varchar(20) DEFAULT NULL,
  `addtime` int(11) DEFAULT NULL,
  PRIMARY KEY (`id`),
  KEY `borough_id` (`borough_id`)
) ENGINE=MyISAM  DEFAULT CHARSET=utf8 AUTO_INCREMENT=97289 ;

语法

 代码如下 复制代码

Insert into Table2(field1,field2,...) select value1,value2,... from Table1

例子

Insert into test_table_tp select * from test_table_draw where `borough_id`>=10266 and `borough_id`

 

错误提示

 代码如下 复制代码

INSERT INTO test_table_tp
SELECT *
FROM test_table_draw
WHERE  `borough_id` >=10266
AND  `borough_id`

MySQL 返回:

#1136 - Column count doesn't match value count at row 1

解决

 代码如下 复制代码

Insert into(id,pic_url,pic_thumb,pic_desc,borough_id,creater,addtime) test_table_tp select id,pic_url,pic_thumb,pic_desc,borough_id,creater,addtimefrom test_table_draw where `borough_id`>=10266 and `borough_id`

<=12354

后来发现上面不对于时又找

 代码如下 复制代码

Select * Into new_table_name from old_table_name;

测试仪

Select * Into test_table_tp1 from test_table_draw where `borough_id`>=10266 and `borough_id` <=12354

执行后错误

错误
SQL 查询:

 代码如下 复制代码

SELECT *
INTO test_table_tp
FROM test_table_draw
WHERE  `borough_id` >=10266
AND  `borough_id`
LIMIT 0 , 30

MySQL 返回:

#1327 - Undeclared variable: test_table_tp

网上找到提示要求目标表Table2不存在,因为在插入时会自动创建表Table2,并将Table1中指定字段数据复制到Table2中。

 

 代码如下 复制代码
Select * Into test_table_tp1 from test_table_draw where `borough_id`>=10266 and `borough_id` <=12354

gg查一下发现原来 mysql 数据库是不支持 SELECT INTO FROM 这种语句的,但是经过研究是可以通过另外一种变通的方法解决这个问题的

 

 代码如下 复制代码
Create table Table2 (Select * from Table1);

这种语句代替

 代码如下 复制代码

SELECT vale1, value2, value3 into Table2 from Table1;

下面看一个本人实际操作中的例子吧!

 代码如下 复制代码

Create table www.111cn.net (Select A.id,B.id as typeId,A.brand,A.quanpin,A.simple from brands as A,cartype as B where A.type=B.name group by A.brand);

这个是关联两个表得出一个查询结果,然后将结果插入到一个新创建的表 www.111cn.net 中。

好了现在我再来做

 代码如下 复制代码

Create table pic_test (Select *  from test_table_draw where `borough_id`>=10266 and `borough_id` <=12354)

成功了啊

您运行的 SQL 语句已经成功运行了。 (查询花费 0.5645 秒)
SQL 查询:

 代码如下 复制代码
CREATE TABLE pic_test(
SELECT *
FROM test_table_draw
WHERE  `borough_id` >=10266
AND  `borough_id` <=12354
)
时间: 2024-09-14 18:18:37

mysql中select into from语句使用例子分析的相关文章

MySQL中select语句介绍及使用示例

数据表都已经创建起来了,我们就可以用自己喜欢的方式对数据表里面的信息进行检索和显示了,下面为大家讲解下MySQL中select语句的应用,感兴趣的碰可以学习下   数据表都已经创建起来了,假设我们已经插入了许多的数据,我们就可以用自己喜欢的方式对数据表里面的信息进行检索和显示了,比如说:可以象下面这样把整个数据表内的内容都显示出来 select * from president; 也可以只选取某一个数据行里的某一个数据列 select birth from president where las

MySQL中select语句使用order按行排序_Mysql

本文介绍MySQL数据库中执行select查询语句,并对查询的结果使用order by 子句进行排序. 再来回顾一下SQL语句中的select语句的语法: Select 语句的基本语法: Select <列的集合> from <表名> where <条件> order by <排序字段和方式> 如果要对查询结果按某个字段排序,则要使用order by 子句,如下: select * from <表名> order by <字段名称>

mysql中实现WITH AS语句

问题描述 mysql中实现WITH AS语句 WITH n(parentId) AS (SELECT menuId FROM TSYS_MENU WHERE menuid in #{item} UNION ALL SELECT parentId FROM TSYS_MENU WHERE menuid in #{item} UNION ALL SELECT nplus.parentId FROM TSYS_MENU as nplus n WHERE n.parentId = nplus.menui

求助 关于mysql 中select * 的问题

问题描述 求助 关于mysql 中select * 的问题 遇到一个特殊情况, 下面两条语句,第一条可以执行成功,第二条会报语法错误(count_time 是 a表中得一个字段) 1 select * , FROM_UNIXTIME(count_time) from a 2 select FROM_UNIXTIME(count_time),* from a 求大神回复为什么会这样.多谢! 解决方案 FROM_UNIXTIME作用将MYSQL中以INT(11)存储的时间以"YYYY-MM-DD&q

请问一下,有没有人知道如何导出mysql中的数据,下面是例子?

问题描述 请问一下,有没有人知道如何导出mysql中的数据,下面是例子? 表结构如下: CREATE TABLE survey.survey (id int(11) NOT NULL AUTO_INCREMENT,name varchar(255) DEFAULT NULL,pageSize int(11) DEFAULT NULL,createTime datetime DEFAULT NULL,modifiedTime datetime DEFAULT NULL, PRIMARY KEY (

mysql 单引号 双引号-mysql 中,执行insert语句,单引号双引号区别

问题描述 mysql 中,执行insert语句,单引号双引号区别 建表的时候或者用Insert向表中插入记录时,会用到单引号和双引号.有时候感觉二者都行,但请问下这两者有什么区别.什么时候用单,什么时候用双?

MySQL中select语句介绍及使用示例_Mysql

数据表都已经创建起来了,假设我们已经插入了许多的数据,我们就可以用自己喜欢的方式对数据表里面的信息进行检索和显示了,比如说:可以象下面这样把整个数据表内的内容都显示出来 select * from president; 也可以只选取某一个数据行里的某一个数据列 select birth from president where last_name='Eisenhower'; select语句的通用形式如下: select 你要的信息 from 数据表(一个或多个) where 满足的条件 sel

Mysql中SELECT INTO 语句用法详解

语法介绍:  把所有的列插入新表    代码如下 复制代码 SELECT * INTO new_table_name [IN externaldatabase] FROM old_tablename  只把希望的列插入新表    代码如下 复制代码 SELECT column_name1, column_name2 INTO new_table_name [IN externaldatabase] FROM old_tablename    实例1:制作 "Persons" 表的备份文

MySql中使用INSERT INTO语句更新多条数据的例子_Mysql

我们知道当插入多条数据的时候insert支持多条语句: 复制代码 代码如下: INSERT INTO t_member (id, name, email) VALUES     (1, 'nick', 'nick@126.com'),     (4, 'angel','angel@163.com'),     (7, 'brank','ba198@126.com'); 但是对于更新记录,由于update语法不支持一次更新多条记录,只能一条一条执行: 复制代码 代码如下: UPDATE t_mem