PostgreSQL 自增语法的用法说明
mysql使用auto_increment的语法实现表字段自增。
在PostgreSQL中,具有数据类型为smallserial,serial,bigserial的字段具有自增特性。
create table company( id serial primary key, name text not null, age int not null, address char(50), salary real );
则在插入该表的时候,可以不插入id列,数据库系统会自动填充。
insert into company(name,age,address,salary) values('huangbaokang',29,'ganzhou',100000);
补充:[Postgresql] 设置主键为自增长类型
使用SERIAL关键字:
create table t(t_id SERIAL primary key,c1 text,c2 text,c3 text,c4 text);
导入数据时可不指定t_id字段,数据库会自动从1开始增长,默认为整型
以上为个人经验,希望能给大家一个参考,也希望大家多多支持我们。如有错误或未考虑完全的地方,望不吝赐教。
相关推荐
-
解决postgresql 自增id作为key重复的问题
啥也不说啦,看代码吧~ SELECT setval('data_tracking_au_sec_id_seq', (SELECT MAX(id) FROM data_tracking_au_sec)+1); data_tracking_au_sec_id_seq:可以再DDL查看到 data_tracking_au_sec:表名 补充:[Postgresql]-主键自增,插入数据时提示违背主键唯一性 错误备忘录: 1.主键自增,插入数据时提示违背主键唯一性 报错原因是自增主键的序列值与当前主键的
-
postgresql 导入数据库表并重设自增属性的操作
postgresql使用Navicat软件导出数据库表,在导入会数据库的操作. postgresql 的自增字段 是通过 序列 sequence来实现的. 1.先删除导出的数据库表中的自增属性 2.导入数据库表之后,需要创建序列. 注:一般序列名称由数据表名+主键字段+seq组成 (通常情况下主键字段即为自增字段),如下表名为cof_table_hot_analysis,主键字段为 id CREATE SEQUENCE cof_table_hot_analysis_id_seq START WI
-
postgresql修改自增序列操作
在 mysql 中,实现 id 自增的方式是依靠加一个 auto_increment 标志,而在 pgsql 中,id 自增是通过序列 SEQUENCE. 创建表时设置自增序列为: CREATE TABLE "config" ( "id" int4 NOT NULL DEFAULT nextval('config_id_seq'::regclass), ... }; 如果需要修改创建表之后的序列,如: ----删除前先解除 id 对该序列的依赖 ALTER TABL
-
在PostgreSQL中设置表中某列值自增或循环方式
在postgresql中,设置已存在的某列(num)值自增,可以用以下方法: //将表tb按name排序,利用row_number() over()查询序号并将该列命名为rownum,创建新表tb1并将结果保存到该表中 create table tb1 as (select *, row_number() over(order by name) as rownum from tb); //根据两张表共同的字段name,将tb1中rownum对应值更新到tb中num中 update tb set
-
PostgreSQL三种自增列sequence,serial,identity的用法区别
这三个对象都可以实现自增,这里从如下几个维度来看看这几个对象有哪些不同,其中功能性上看,大部分特性都是一致的或者类似的. 1.sequence在所有数据库中的性质都一样,它是跟具体的字段不是强绑定的,其特点是支持多个对个对象之间共享. sequence作为自增字段值的时候,对表的写入需要另外单独授权sequence(GRANT USAGE ON SEQUENCE test_old_id_seq;) sequence类型的字段表,在使用CREATE TABLE new_table LIKE old
-
PostgreSQL 自增语法的用法说明
mysql使用auto_increment的语法实现表字段自增. 在PostgreSQL中,具有数据类型为smallserial,serial,bigserial的字段具有自增特性. create table company( id serial primary key, name text not null, age int not null, address char(50), salary real ); 则在插入该表的时候,可以不插入id列,数据库系统会自动填充. insert into
-
OGNL表达式基本语法与用法详解
一.OGNL中的#.%和$符号 #.%和$符号在OGNL表达式中经常出现,而这三种符号也是开发者不容易掌握和理解的部分.在这里我们简单介绍它们的相应用途. 1.#符号的三种用法 1)访问非根对象属性,例如示例中的#session.msg表达式,由于Struts 2中值栈被视为根对象,所以访问其他非根对象时,需要加#前缀.实际上,#相当于ActionContext. getContext():#session.msg表达式相当于ActionContext.getContext().getSessi
-
JavaScript针对网页节点的增删改查用法实例
本文实例讲述了JavaScript针对网页节点的增删改查用法.分享给大家供大家参考.具体分析如下: 一.基本概念 这部分也就是所谓的"HTML DOM",所谓HTML DOM也就是Web页面加载规则,是一个规则,也就是网页组成的基本公式. 也就是所有网页都必须按照:<html><body></body></html>--的规则编写,也按照这样的规则加载. 所谓的"网页节点",也叫"DOM节点"的通俗
-
SQL中limit函数语法与用法(MYSQL获取限制某行数据)
1.limit函数的语法和用法 (1)常用且简单的语法和用法 ①语法:limit n 即limit <参数> 具体语法:select <字段1>,...,<字段n> from <表名> (where <条件> order by <字段1>...<字段n> asc|desc) limit n 说明:括号内的语句可省略 参数说明: n:为阿拉伯数字,表示前n行. ②用法:用于获取前n行数据. (2)另一种(两个参数)语法和用法
-
正则表达式RegExp语法与用法详解
目录 正则表达式的定义和用途 创建正则表达式 方式一:使用构造函数创建 方式二:使用字面量创建 正则表达式的语法 匹配字符 简写 模式修正符 贪婪匹配 断言 正则表达式的使用 搜索第一个符合条件的字符串 search() 搜索所有符合条件的字符串 match() 字符串拆分成数组 split() 字符串替换 replace() 过滤HTML标签 去除空格 常用正则表达式 总结 正则表达式的定义和用途 正则表达式用于定义一些字符串的规则.计算机可以根据正则表达式,来检查一个字符串是否符合指定的规则
-
postgresql rank() over, dense_rank(), row_number()用法区别
如下学生表student,学生表中有姓名.分数.课程编号,需要按照课程对学生的成绩进行排序 select * from jinbo.student; id | name | score | course ----+-------+-------+-------- 5 | elic | 70 | 1 4 | dock | 100 | 1 3 | cark | 80 | 1 2 | bob | 90 | 1 1 | alice | 60 | 1 10 | jacky | 80 | 2 9 | iri
-
Postgresql去重函数distinct的用法说明
在项目中我们常会对数据进行去重处理,有时候会用in或者EXISTS函数.或者通过group by也是可以实现查重 不过Postgresql还有自带去重函数:distinct 下面是distinct 的实例: 1.创建表:user CREATE TABLE `user` ( `name` varchar(30) DEFAULT NULL, `age` int(11) DEFAULT NULL ) ENGINE=InnoDB DEFAULT CHARSET=utf8; INSERT INTO `us
-
PostgreSQL 序列增删改案例
创建序列 CREATE SEQUENCE if not exists test_mergetable_id_seq INCREMENT 1 MINVALUE 1 MAXVALUE 999999999 START 1 CACHE 1; //或者: create sequence if not exists test_mergetable_id_seq increment by 1 minvalue 1 no maxvalue start with 1; 指定序列(给表的主键指定创建好的序列) al
-
PostgreSQL的generate_series()函数的用法说明
我就废话不多说了,大家还是直接看代码吧~ SELECT generate_series(1,12) AS month; SELECT generate_series(1,12,1) AS month; SELECT generate_series('2020-01-01'::DATE,'2020-12-31'::DATE,'1 month'::INTERVAL) AS first_of_month; 补充:PostgreSQL使用generate_series函数 填充数据(插入数据) sele
随机推荐
- 获取外网IP并发送到指定的邮箱的脚本
- Linux Shell中三种引号的用法及区别
- Shell时间(date)相关命令
- python利用beautifulSoup实现爬虫
- Python 文件重命名工具代码
- 自己模拟写C++中的String类型实例讲解
- thinkPHP批量删除的实现方法分析
- 实现论坛树型结构的具体算法
- Django+mysql配置与简单操作数据库实例代码
- PHP中文件上传的一个问题
- 使用Python实现BT种子和磁力链接的相互转换
- Bootstrap 模态框(Modal)插件代码解析
- jquery中EasyUI实现异步树
- jQuery判断checkbox是否选中的小例子
- 基于jquery的热点内容轮换效果
- Android自定义View实现钟摆效果进度条PendulumView
- JS动态创建元素的两种方法
- Android利用SpannableString实现格式化微博内容
- C++中DeviceIoCteatol的用法实例
- 深入探讨C#中的const、readonly关键字