Oracle和Mysql数据备份的sql语句

说明:

今天在某处看到SELECT INTO 语句可用于创建表的备份复件,尝试了Oracle和Mysql都不能被使用。经过了多方查询发现,Oracle和Mysql也有相似功能的不同实现方式,现在一一列举一下。

1.首先是常用的Oracle数据库,基本语法如下:

INSERT INTO targetTableName[(字段名,...)] SELECT */[字段名,...] FROM sourceTableName [WHERE子句]

这里可以复制指定字段的数据,前提是目标表必须存在。否则会报表或者视图找不到的错误:[Err] ORA-00942: table or view does not exist。也可以通过创建表的语法进行复制

CREATE TABLE targetTableName AS SELECT * FROM sourceTableName

这种方式也可以进行赋值,一定不要把AS关键字落下,否则会产生错误:[Err] ORA-00922: missing or invalid option

2.再说一下Mysql的使用语法,基本是与Oracle保持一致的:

INSERT INTO targetTableName[(字段名,...)] SELECT */[字段名,...] FROM sourceTableName [WHERE子句]

同样这里可以复制指定字段的数据,前提是目标表必须存在。否则会报表或者视图找不到的错误:[Err] 1146 - Table 'targetTableName' doesn't exist。也可以通过创建表的语法进行复制

CREATE TABLE targetTableName SELECT * FROM sourceTableName

 Mysql就比较灵活一点儿了,可以把AS关键字省去。

以上内容虽然简单,但也是把两种数据库都尝试了一下。

最后说明一下:SELECT INTO FROM 语法只是在sql语句层面时在PL/SQL中使用。

参考:

https://blog.csdn.net/lm_52111/article/details/77893796

https://blog.csdn.net/qq_35242910/article/details/80534422

https://www.w3school.com.cn/sql/sql_select_into.asp

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值