首页 > 代码库 > SQLServer、MySQL、Oracle语法差异小集锦

SQLServer、MySQL、Oracle语法差异小集锦

一、表操作语法差异

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

  主键(PRIMARY KEY)、外键(FOREIGN KEY)、非空(NOT NULL)、唯一(UNIQUE)、默认值(DEFAULT)都相同,自增实现的方式不同。

  下面给出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);

 

 SQLServerMySQLOracle
自增identity(1,1) AUTO_INCREMENT  
    
    
    
    
    
    
    
    

  

SQLServer、MySQL、Oracle语法差异小集锦