4种主流数据库中复制表结构语法分析
2010-06-07 23:26
274 查看
因为数据库SQL语句在各大产品中带有“方言性”,即SQLSERVER SYBASE都是用了T-SQL,Mysql是用的标准SQL,Oracle有有自己的PL/SQL。由于这种“方言性”的差异导致很多SQL语句在移植的时候产生困难,在异构数据库的时候显得很尴尬。当然对于DBA来说,无非是查查语法而已的事。但是终究是不方便。这里就跟大家分享下我自己实验整理的,复制表结构即数据的各数据库中的语法分析。
先来说说SQLSERVER大家最熟悉的。
--当数据库中没有新表的情况,比如有了A,没有B表。
select * into B from A --复制表及数据
select * into B from A where 1>1 --只复制表结构
--当数据中已经有了B表的情况,上面就不适用了。
insert into B select * from A --复制表数据,为了避免。B表理论上应该没有数据,如果有,可能会造成违反主键。
insert into B select * from A where id>10 --加上where条件可以指定复制数据,上面没有表的情况也可以这样做。
复制代码
这里要说的是,sybase和SQLSERVER是一样的。因为从某种角度来说,SYBASE就是SQL的原型。
接下来是Mysql。稍微语法有不同。
--数据库中没有B表的情况
create table B select * from A
create table B select * from A where 1<>1 --只复制表结构
--有B表的情况和sqlserver基本相同
insert into B select * from A
复制代码
oracle 基本上合MYSQL是一样的,不过语法要求更严谨。当然Mysql也可以这样写。
--数据库中没有B表的情况
create table B as select * from A
create table B as select * from A where 1<>1 --只复制表结构
create table B like A--复制表结构
--有B表的情况基本相同
insert into B select * from A
复制代码
这些都是较为初级的SQL语句,但是也比较适用,以后会分析一些其他的常用SQL语句。
先来说说SQLSERVER大家最熟悉的。
--当数据库中没有新表的情况,比如有了A,没有B表。
select * into B from A --复制表及数据
select * into B from A where 1>1 --只复制表结构
--当数据中已经有了B表的情况,上面就不适用了。
insert into B select * from A --复制表数据,为了避免。B表理论上应该没有数据,如果有,可能会造成违反主键。
insert into B select * from A where id>10 --加上where条件可以指定复制数据,上面没有表的情况也可以这样做。
复制代码
这里要说的是,sybase和SQLSERVER是一样的。因为从某种角度来说,SYBASE就是SQL的原型。
接下来是Mysql。稍微语法有不同。
--数据库中没有B表的情况
create table B select * from A
create table B select * from A where 1<>1 --只复制表结构
--有B表的情况和sqlserver基本相同
insert into B select * from A
复制代码
oracle 基本上合MYSQL是一样的,不过语法要求更严谨。当然Mysql也可以这样写。
--数据库中没有B表的情况
create table B as select * from A
create table B as select * from A where 1<>1 --只复制表结构
create table B like A--复制表结构
--有B表的情况基本相同
insert into B select * from A
复制代码
这些都是较为初级的SQL语句,但是也比较适用,以后会分析一些其他的常用SQL语句。
相关文章推荐
- 主流数据库复制表结构(SqlServer/Mysql/Oracle/Sybase)[语法差异分析]
- 主流数据库的SQL语法差异分析
- DTcmsV4.0分析学习——(1)数据库结构分析
- Dedecms 数据库结构分析
- 数据库经常涉及表结构及表数据的复制
- 编译原理结构框架5自底向上的语法分析
- 通过 jdbc 分析数据库中的表结构和主键外键
- 数据库Oracle与Mysql语法对比:循环结构
- 阿里云数据库结构分析与“脑裂”问题的解决思路
- 两个数据库的存储过程--视图--表的差异对比结构差异分析
- 两个数据库间复制表结构和数据
- 利用Rational Rose进行C++代码和数据库结构分析
- SQL语句:在两个数据库间复制表结构和数据数据库
- 开源网站分析软件Piwik的数据库表结构
- 四种主流复制技术介绍,复制原理,优缺点分析
- 数据库表数据和表结构复制
- 数据库结构分析
- 数据库表结构自动修复和表数据同步原理分析
- 利用Rational Rose进行C++代码和数据库结构分析
- C#分析数据库结构,使用XSL模板自动生成代码