我是靠谱客的博主 无心奇迹,最近开发中收集的这篇文章主要介绍4种主流数据库中复制表结构语法分析,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

因为数据库SQL语句在各大产品中带有“方言性”,即SQLSERVER SYBASE都是用了T-SQL,Mysql是用的标准SQL,Oracle有有自己的PL/SQL。由于这种“方言性”的差异导致很多SQL语句在移植的时候产生困难,在异构数据库的时候显得很尴尬。当然对于DBA来说,无非是查查语法而已的事。但是终究是不方便。这里就跟大家分享下我自己实验整理的,复制表结构即数据的各数据库中的语法分析。

先来说说SQLSERVER大家最熟悉的。

  1. --当数据库中没有新表的情况,比如有了A,没有B表。
  2. select * into B from A --复制表及数据
  3. select * into B from A where 1>1 --只复制表结构
  4. --当数据中已经有了B表的情况,上面就不适用了。
  5. insert into B select * from A  --复制表数据,为了避免。B表理论上应该没有数据,如果有,可能会造成违反主键。
  6. insert into B select * from A where id>10 --加上where条件可以指定复制数据,上面没有表的情况也可以这样做。
复制代码

这里要说的是,sybase和SQLSERVER是一样的。因为从某种角度来说,SYBASE就是SQL的原型。

接下来是Mysql。稍微语法有不同。

  1. --数据库中没有B表的情况
  2. create table B select * from A
  3. create table B select * from A where 1<>1 --只复制表结构
  4. --有B表的情况和sqlserver基本相同
  5. insert into B select * from A
复制代码


oracle 基本上合MYSQL是一样的,不过语法要求更严谨。当然Mysql也可以这样写。

  1. --数据库中没有B表的情况
  2. create table B as select * from A
  3. create table B as select * from A where 1<>1 --只复制表结构
  4. create table B like A--复制表结构
  5. --有B表的情况基本相同
  6. insert into B select * from A
复制代码


这些都是较为初级的SQL语句,但是也比较适用,以后会分析一些其他的常用SQL语句。

最后

以上就是无心奇迹为你收集整理的4种主流数据库中复制表结构语法分析的全部内容,希望文章能够帮你解决4种主流数据库中复制表结构语法分析所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(56)

评论列表共有 0 条评论

立即
投稿
返回
顶部