zoukankan      html  css  js  c++  java
  • SQLServer、MySQL、Oracle语法差异小集锦

    一、差异集锦

      在建表的时候,只有自增的语法不同。

      下面给出3种数据库通用的建表与初始化测试语句:

    CREATE TABLE Country(
       Id int PRIMARY KEY,
       Name varchar(20)
    );
    
    CREATE TABLE Person (  
      Id int PRIMARY KEY,  
      CountryId int,
      Name varchar(20) NOT NULL UNIQUE,  
      Sex int DEFAULT 0,
      CONSTRAINT FK_CID_PID FOREIGN KEY (CountryId) REFERENCES Country(Id)
    );

      插入测试数据:

    INSERT INTO Country VALUES(1, '蜀国');
    INSERT INTO Country VALUES(2, '魏国');
    INSERT INTO Country VALUES(3, '吴国');
    
    INSERT INTO Person VALUES(1,1,'刘备',1);
    INSERT INTO Person VALUES(2,1,'关羽',1);
    INSERT INTO Person VALUES(3,1,'张飞',1);
    INSERT INTO Person VALUES(4,2,'曹操',1);
    INSERT INTO Person VALUES(5,2,'郭嘉',1);
    INSERT INTO Person VALUES(6,2,'典韦',1);
    INSERT INTO Person VALUES(7,3,'孙权',1);
    INSERT INTO Person VALUES(8,3,'周瑜',1);
    INSERT INTO Person VALUES(9,3,'大乔',2);
      SQLServer MySQL Oracle
    自增 identity(1,1)  AUTO_INCREMENT   SEQUENCE/触发器
    自增行插入 INSERT INTO Person VALUES(NULL,1,'魏延',1) INSERT INTO Person VALUES(1,'魏延',1) INSERT INTO Person VALUES(SEQID.NEXTVAL,1,'魏延',1)
    取前几条 SELECT TOP 5 * FROM Person  SELECT * FROM Person LIMIT 0,5 SELECT * FROM Person WHERE ROWNUM < 5
    表别名 SELECT * FROM Person AS P INNER JOIN Country AS C ON P.CountryId = C.Id SELECT * FROM Person AS P INNER JOIN Country AS C ON P.CountryId = C.Id SELECT * FROM Person P INNER JOIN Country C ON P.CountryId = C.Id
    字段名大小写  与SELECT相同 与SELECT相同 Oracle中,字段名都是大写的,即使SELECT语句中是小写,得到的结果也是大写。
    获取当前时间&查询临时值  SELECT now() AS NOWDATE SELECT getdate() AS NOWDATE  SELECT sysdate AS NOWDATE FROM Dual--需加Dual虚表
           
           
           
           

      

  • 相关阅读:
    Web的攻击技术
    基于HTTP的功能追加协议
    确认访问用户身份的认证
    基本数据结构的模拟
    BFS与DFS
    KMP算法
    Trie字典树
    C++的结构体使用
    C++入门(命名空间)
    算法:C++入门
  • 原文地址:https://www.cnblogs.com/kissdodog/p/3938035.html
Copyright © 2011-2022 走看看