我们经常遇到需要表复制的情况,比如将表1中的一些数据字段复制到表2,或者将整个表1复制到表2。这时,我们必须使用SELECT INTO和INSERT INTO复制SELECT表语句。
1.INSERT INTO SELECT语句
语句的形式是:插入到表2 (field1,field2,)选择值1、值2、来自表1。
或者:插入表2从表1中选择*
注意:(1)要求目标表Table2必须存在,字段field,field2.也必须存在。
(2)注意表2的主键约束。如果表2有一个主键并且不为空,则主键必须包含在字段1、字段2中.
(3)注意语法。不要加值。它与插入一段数据的sql混合在一起。不要写成:
插入表2(字段1,字段2,)值(选择值1,值2,来自表1)
因为目标表Table2已经存在,所以除了源表Table1的字段之外,我们还可以插入常量。例子如下:
-1.创建一个测试表。
创建表格Table1
(
一种可变充电器(10),
b varchar(10),
c varchar(10)
)
创建表格Table2
(
一种可变充电器(10),
c varchar(10),
d int
)
-2.创建测试数据
成表1值(“赵”,“asds”,“90”)
转换成表1的值(“货币”、“asds”、“100”)
转换为表1中的值(“sun”,“asds”,“80”)
转换为表1中的值(“Li”、“asds”,空)
从表2中选择*
- 3.INSERT INTO SELECT语句复制表数据的一些列和文字。
插入表2(a,c,d)从表1中选择a,c,5
或者:插入表2从表1中选择*
-4.显示更新的结果。
从表2中选择*
-5.删除测试表
删除表表1
删除表表2
2.SELECT INTO FROM语句
该语句的形式是:从表1中选择值1,值2到表2中。
要求目标表Table2不存在,因为插入时会自动创建表Table2,并将Table1中指定的字段数据复制到Table2中。例子如下:
-1.创建一个测试表。
创建表格Table1
(
一种可变充电器(10),
b varchar(10),
c varchar(10)
)
-2.创建测试数据
成表1值(“赵”,“asds”,“90”)
转换成表1的值(“货币”、“asds”、“100”)
转换为表1中的值(“sun”,“asds”,“80”)
转换为表1中的值(“Li”、“asds”,空)
- 3.SELECT INTO FROM语句创建表Table2并复制数据。
从表1中选择a、c放入表2
-4.显示更新的结果。
从表2中选择*
-5.删除测试表
删除表表1
删除表表2
注意:如果在sql/plus或PL/Sql中执行此语句,由于PL/SQL和T-SQL之间的差异,将会报告错误“ORA-00905: missing keyword”。
这句话在T-SQL中很正常,但在PL/SQL中的解释是:
挑选.into是PL/SQL语言的一部分,这意味着您必须在PL/SQL块中使用它。不能在PL/SQL之外的SQL语句中使用它。
即不能作为单个sql语句执行,一般用在PL/SQL块中。
如果要在PL/SQL中实现该函数,可以使用create table new table作为select * from.
例如,创建表新表作为select * from table
NewTable与Table相同,只是它没有键。
SQL select into语法简介
Select into语句可用于创建表的备份副本。
SELECT INTO语句
SELECT INTO语句从一个表中选择数据,然后将数据插入到另一个表中。
SELECT INTO语句通常用于创建表的备份副本或归档记录。
SQL SELECT INTO语法
您可以将所有列插入到新表中:
SELECT * INTO new _ table _ name[在外部数据库中] FROM old_tablename
或者将所需的列插入新表中:
从旧表名中选择列名到新表名[在外部数据库中]
选择SQL进入实例-制作备份副本
以下示例制作了“Persons”表的备份副本:
SELECT * INTO Persons _ backup FROM Persons
IN子句可用于将表复制到另一个数据库:
从人员中选择*到 Backup.mdb 中的人员
如果我们想要复制一些域,我们可以在SELECT语句后列出它们:
选择姓氏,名字
变成人_备份
从人
select SQL into instance-with WHERE子句
我们还可以添加一个WHERE子句。
以下示例通过从“Persons”表中提取居住在“Beijing”的人的信息来创建一个名为“Persons _ backup”的两列表:
SELECT姓氏,名字INTO Persons _ backup FROM Persons WHERE City=北京
选择到实例连接的表中
也可以从多个表中选择数据。
以下示例创建一个名为“Persons_Order_Backup”的新表,该表包含从Persons和Orders表中获取的信息:
选择人员。姓氏,订单。订单号
入人员_订单_备份
从人
内部联接顺序
在人身上。Id _ P=订单。Id_P
mysql中select into 和sql中的select into 对比
现在有一个名为student的表,我想把这个表中的数据复制到一个名为dust的新表中。
答案01:
创建表尘select * from student//在复制之前没有创建新的表dust的情况下使用。
答案02:
从学生中插入灰尘选择*;//当创建了新的表灰尘时
现在使用选择.到…里面.语句来实现以上内容。
MySQL不支持Select Into语句直接备份表结构和数据。有些方法可以代替,有些方法可以处理。摘要如下:
方法1:
MYSQL不支持:
从旧表名中选择*到新表名;这是sql server中的用法
替代方法:
创建表new _ table _ name(Select * from old _ table _ name);
方法2:
1.首先备份表结构和数据。
# export命令-u用户名-p密码-h主机IP地址数据库名称表名1导出文件. sql
mysqldump-u root-proot-h 192 . 168 . 0 . 88 ok _ db ok table 2 ok _ db . SQL
2.修改备份表的名称。
3.登录MySQL
4.选择数据库
5.执行:源备份表的路径如下:Source d:/ok_db.sql并回车。
6.完成了。
MySQL Select into outfile用于导出指定的查询数据到文件如下:
1.将表中的所有数据导出到驱动器C的根目录outfile.txt,如下所示:
select * into outfile c://outfile . txt from test;
2.按照指定的查询条件导出数据2005-06-08到c盘根目录outfile1.txt如下:
select * into outfile c://outfile . txt from test where begin date= 2008-06-08 ;
mysql将本地文件 d:/gpsdata.txt 中的数据加载到以;结尾的表位置数据字段中(用户标识,纬度,经度,高度,速度,内部标识,报告
rttime,status);
将数据[低优先级并发][本地]加载到文件文件名. txt 中
[替换忽略]
到表tbl_name
[字段
[由“字符串”终止]
[[可选地]用 char 括起来]
[由 char 转义]
]
[台词
[以“字符串”开头]
[由“字符串”终止]
]
[忽略数字行]
[(col_name_or_user_var,)]
[SET col_name=eXPr,)]
字段和行在前面,(col_name_or_user_var,…)在后面。如果使用这些属性直接写在表名之后,这是不正确的。一定要写在字段和行之后!
要添加,表A中的数据复制到表B中,表B不能有自增ID。
如果有自动增量ID,则不会插入自动增量。
插入B(标题)从A中选择标题