常见数据库中自增设置

Access中设置自增字段的方法:

可以说这是最简单的一种方法——只需要在在设计视图下将数据类型选择为“自动编号”即可,方便快捷。

SQL Server中设置自增字段的方法的方法:

      相对比前边的难了一点:创建数据表时使用这样的语句“create table tablename (id INT IDENTITY(1,1))”,需要说明的是:IDENTITY(1,1)这是问题的关键,括弧里面的第一个数字1表示自增数字的起始,第二个数字1表示递增的间隔,可以根据实际情况进行调整。

MySQL中设置自增字段的方法:

         在创建数据表的时候使用这样的语句“create table tablename(id int auto_increment primary key)”,这里auto_increment是关键,通过这样的设置就可以创建自增字段出来。需要说明的是,默认情况下递增间隔是1,如果想按照1、3、5...这样顺序递增,方法是在创建语句前增加这样的语句“set global auto_increment_increment =2;”,当然用户还可以根据自己的需要创建其他形式的自增字段出来。

        另外,在MySQL中如果想实现001、002、003...这样的自增效果也是非常容易的,只需要采用类似的语句即可“create table tablename (id int(3) unsigned zerofill auto_increment primary key); ”,同样地可以结合前边的方法让字段以001、003、005的递增结果展示出来。

 

总结一下:

DB2:
CREATE TABLE T1
(
   id INTEGER NOT NULL GENERATED ALWAYS AS IDENTITY (START WITH 1 INCREMENT BY 1 MINVALUE 1 NO MAXVALUE NO CYCLE NO CACHE ORDER),
   ...
);

 

Oracle(需要创建一个SEQUENCE和一个TRIGGER):
CREATE TABLE T1
(
   id NUMBER(10,0) NOT NULL,
   ...
);
CREATE SEQUENCE T1_ID_SEQ INCREMENT BY 1 START WITH 1 NOMAXVALUE NOCYCLE CACHE 100 ORDER;
CREATE OR REPLACE TRIGGER INSERT_T1_ID
BEFORE INSERT ON T1
REFERENCING NEW AS new OLD AS old
FOR EACH ROW
BEGIN
    SELECT T1_ID_SEQ.NEXTVAL INTO :new.id FROM DUAL;
END;
/

 

MySQL:
CREATE TABLE T1
(
   id INT NOT NULL AUTO_INCREMENT,
   ...
);

PostgreSQL:
CREATE TABLE T1
(
   id SERIAL NOT NULL,
   ...
);

 

SQL Server:
CREATE TABLE T1
(
   id INT NOT NULL IDENTITY,
   ...
);

 

Sybase:
CREATE TABLE T1
(
   id INT NOT NULL IDENTITY,
   ...
);

  • 1
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
前情提要: 以前在写各类插件,程序用的ini作为存储,而ini每个数据都需要读/写一次,并且速度500条/秒,如果一个账号的信息需要读取10个,就等于50条每秒。 于是在学习和长期整理后,搞了这个模块,基本可以满足开发需求。 具体结构如下, 文件-表-索引名,s1,s2,n1,n2,自增ID。 索引名是读取的一个重要依据,也是筛选数据的依据。 自增ID是另外一个重要依据,不过是不可控的,逐渐递增的。 s1,代表文本第一列,s是str的意思。 n1,代表整数第一列,n是num的意思。 默认是文本数组,整数数组都是25个,存储速度上,测试10个和25个没区别,因此不必太在意,写程序的时候,尽量多留1/2用于后面扩展比较好。 类的方法介绍, 插入,直接在表内加入一条数据,任何都可以为空,索引名可以重复,适用于账号筛选等。 写入,先删除有这个索引名的数据,再插入一条,达到索引名不重复的效果。 修改,根据索引名修改现有数据。修改_byID,根据自增ID修改。 删除,删除索引名对应的整条数据。删除_byID,根据自增ID删除。 读取全部,读取整个表的所以数据,可以加筛选条件,很人性化的设计。 求和,求某一列的和,可以加筛选条件,很人性化的设计。 求和_分组,比如想求所有人的销售总额,销售总量等等,并且还需要每个人都是单独的,可以加筛选条件,很人性化的设计。 求和_所有整数列,比如想求某个人/所有人的销售总额,销售总量等等,可以加筛选条件,很人性化的设计。 求总行数,求满足条件的总行数,可以加筛选条件,很人性化的设计。 删除_条件,根据条件删除,很人性化的设计。 筛选条件 需要遵循索引名,s1,n1,ID这样的设定 比如,WHERE s1 LIKE '空调' WHERE n1 = 300 AND n2 >200 WHERE 索引名 LIKE '小明' WHERE ID = 100 实用在于一方面,学习sql知识也是一方面。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值