SQL server和MYSQL中的自增的一些对比

MYSQL: auto_increament

SQL server  : identity

Oracle: 

       在oracle中没有想sqlserver自动增长列,如果想要达到这个效果必须要自己建立索引

先介绍Oracle中怎么实现的:

create sequence seq;
create table person(id number(3),name varchar2(10));
insert into person values (seq.nextval,“测试1”);
insert into person values (seq.nextval,“测试2”);

SQLserver中的:

 
创建表时指定标识列标识列可用 IDENTITY 属性建立,因此在SQL Server中,又称标识列为具有IDENTITY属性的列或IDENTITY列。( 
 
种子(seed)
是指派给表中第一行的值,默认为1


递增量(increment)
相邻两个标识值之间的增量,默认为1。

)
下面的例子创建一个包含名为ID,类型为int,种子为1,递增量为1的标识列
CREATE TABLE T_test
(ID int IDENTITY(1,1),
 Name varchar(50)
)


MySQL中的:

creat table test

(

   id int not null auto_increament;

   name varchar(50);

)



再总结一个Mysql和SQL中的异同点:  

前提:表中都有id,即自动增长,作为主键,

步骤:实现表插入数据的时候。

Mysql中的实现:


INSERT INTO 表名(列名1,列名2,列名3......) VALUES(值1,值2,值3........)

不能实现 省略表明字段值的,如下

INSERT INTO 表名 VALUES(值1,值2,值3........)



但是省略表的字段值可以在SQLserver中实现;
个人感觉还是SQLserver中不错;

总结:
oracle :sequence;
mysql:autoincreament
SQL :identity;
当有自动增长的时候,mysql必须补齐其字段值;
而在SQL中就不需要,只写表名即可;
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值