postgresql 导入数据库表并重设自增属性的操作
postgresql使用Navicat软件导出数据库表,在导入会数据库的操作。
postgresql 的自增字段 是通过 序列 sequence来实现的。
1、先删除导出的数据库表中的自增属性
2、导入数据库表之后,需要创建序列。
注:一般序列名称由数据表名+主键字段+seq组成 (通常情况下主键字段即为自增字段),如下表名为cof_table_hot_analysis,主键字段为 id
CREATE SEQUENCE cof_table_hot_analysis_id_seq START WITH 1 INCREMENT BY 1 NO MINVALUE NO MAXVALUE CACHE 1;
3、设置表字段(id)自增sql
alter table cof_table_hot_analysis alter column id set default nextval('cof_table_hot_analysis _id_seq ');
4、上面三步设置完之后
自增字段id默认值是1,如果需要设置自增之后的其实数值,例如16
select setval('cof_table_hot_analysis_id_seq', 16)
5、清空表格时要重置序列新数据才会从1开始自增
TRUNCATE TABLE cof_table_hot_analysis RESTART IDENTITY
扩展:
删除序列:
DROP SEQUENCE [ IF EXISTS ] name [, ...] [ CASCADE | RESTRICT ]
修改序列:
ALTER SEQUENCE name [ INCREMENT [ BY ] increment ] [ MINVALUE minvalue | NO MINVALUE ] [ MAXVALUE maxvalue | NO MAXVALUE ] [ START [ WITH ] start ] [ RESTART [ [ WITH ] restart ] ] [ CACHE cache ] [ [ NO ] CYCLE ] [ OWNED BY { table.column | NONE } ] ALTER SEQUENCE name OWNER TO new_owner ALTER SEQUENCE name RENAME TO new_name ALTER SEQUENCE name SET SCHEMA new_schema
补充:pgsql添加自增序列、设置表某个字段自增
添加自增序列
CREATE SEQUENCE 表名_id_seq START WITH 1 INCREMENT BY 1 NO MINVALUE NO MAXVALUE CACHE 1;
设置表某个字段自增
alter table表名 alter column id set default nextval(‘表名_id_seq');
从当前最大id依次递增
select setval(‘表名_id_seq',(select max(id) from 同一个表名));
大写字符的表需要加双引号。
例如:
select setval('“表名_id_seq”',(select max(id) from “表名”));
以上为个人经验,希望能给大家一个参考,也希望大家多多支持我们。如有错误或未考虑完全的地方,望不吝赐教。
相关推荐
-
postgresql 中的COALESCE()函数使用小技巧
场景: 存在一个用户白名单表,提供了此用户的用户名和地区信息,判断此用户是否在此白名单表中. 如: 姓名 白名单地区 张三 中国,美国 则可使用如下语句: SELECT ID, user, area_list FROM t_white_user WHERE user = #{ user, jdbcType = VARCHAR } AND ( COALESCE (area_list, '') LIKE CONCAT ( '%' ,#{ country, jdbcType = VARCHAR },
-
PostgreSQL 正则表达式替换-使用变量方式
###不定期更新 把AAAA替换为A-A-A-A- javascript alert('AAAA'.replace(/([A]{1})/g,"$1-")); ()中的内容用变量$1 $2 $n代替 PostgreSQL select regexp_replace('AAAAAAAAAAAAAAAAAAAAAA','([A-Z]{1})','\1-','g') ()中的内容用变量\1 \2 \n代替 获取大括号中的内容 select f1[1] from regexp_matches('
-
postgresql 存储函数调用变量的3种方法小结
一.假设有表student,字段分别有id,remark,name等字段. 二.写一个存储函数,根据传过去的变量ID更新remark的内容. 调用该存储函数格式如下: select update_student(1); 三.存储函数示例如下: CREATE OR REPLACE FUNCTION public.update_student(id integer) RETURNS text AS $BODY$ declare sql_str_run text; BEGIN /* --method
-
postgresql SQL语句变量的使用说明
一般变量使用我们都是放在函数里面,这里开发需求,要在SQL直接使用变量,方便查找一些问题,比如时间变量,要根据时间进行筛选 这里有三种方法可以实现 1.psql命令使用变量 表数据如下: hank=> select * from tb2; c1 | c2 | c3 ----+-------+---------------------------- 1 | hank | 2018-02-06 10:08:00.787503 2 | dazui | 2018-02-06 10:08:08.54248
-
postgresql 实现修改jsonb字段中的某一个值
我就废话不多说了,大家还是直接看代码吧~ UPDATE tablename SET tags = jsonb_set(tags-'landuse_area', '{landuse_area}',('"' || round((ST_Area(ST_Transform(geom,4527)) * 0.0015) :: NUMERIC,3) || '"')::jsonb, TRUE) WHERE tags @> '{"name":"张三"}';
-
postgresql coalesce函数数据转换方式
oracle 的NVL(col,0)是判断如果col字段为空的时候赋值0,同样的postgresql中的函数就是coalesce,用法是一样的 SELECT coalesce(collect_result,value) as collect_result FROM collect 数据库中如果查询的字段collect_result为空那么赋值value给collect_result. 补充:postgresql coalesce字段为空时赋一个固定值,等同oracle的nvl 字段为空时赋一个固
-
postgresql 导入数据库表并重设自增属性的操作
postgresql使用Navicat软件导出数据库表,在导入会数据库的操作. postgresql 的自增字段 是通过 序列 sequence来实现的. 1.先删除导出的数据库表中的自增属性 2.导入数据库表之后,需要创建序列. 注:一般序列名称由数据表名+主键字段+seq组成 (通常情况下主键字段即为自增字段),如下表名为cof_table_hot_analysis,主键字段为 id CREATE SEQUENCE cof_table_hot_analysis_id_seq START WI
-
数据库表的创建、管理和数据操作(实验一)
今天我们就以实验的形式对表的创建.管理和数据操作进行学习,上课吧. [实验目的]:了解SQL语言的使用,进一步理解关系运算,巩固数据库的基础知识. [实验要求]:利用SQL语言进行数据库表的各种操作: 1.数据库表的创建.修改和删除操作. 2.向表中进行数据的插入.删除和修改操作. [实验内容] 1. 利用数据定义语句在实验一创建的stu_DB库中建立学生管理系统的三个表:Student.Course.SC. 2.利用INSERT.UPDATE和DELETE语句对上述三张表的数据进行插入.更新和
-
PostgreSQL向数据库表中添加行数据的操作
实例: 例如数据库中有一个2013Rainfall数据表 想在下面接着插入一行数据,在pgAmin III 界面中,点击SQL,并其界面下输入, 如下图所示 并运行,同时刷新编辑数据界面,可看到数据插入成功, 如下图所示 补充:postgresql向表中插入大量数据 不使用存储过程: insert into schema.table select generate_series(1,10000),'a'; 以上表中有一列int类型列和一列char型列,generate_series(1,1000
-
Postgresql删除数据库表中重复数据的几种方法详解
一直使用Postgresql数据库,有一张表是这样的: DROP TABLE IF EXISTS "public"."devicedata"; CREATE TABLE "public"."devicedata" ( "Id" varchar(200) COLLATE "pg_catalog"."default" NOT NULL, "DeviceId&qu
-
Django数据库表反向生成实例解析
本文我们研究下如何在django中反向生成mysql model代码,接下来我们看看具体介绍. 我们在展示django ORM反向生成之前,我们先说一下怎么样正向生成代码. 正向生成,指的是先创建model.py文件,然后通过django内置的编译器,在数据库如mysql中创建出符合model.py的表. 反向生成,指的是先在数据库中create table,然后通过django内置的编译器,生成model代码. 1.准备工作 创建django工程以及app 创建django工程,名字是hell
-
mysql如何利用Navicat导出和导入数据库的方法
MySql是我们经常用到的数据,无论是开发人员用来练习,还是小型私服游戏服务器,或者是个人软件使用,都十分方便.对于做一些个人辅助软件,选择mysql数据库是个明智的选择,有一个好的工具更是事半功倍,对于MySql 的IDE 我推荐Navicat for MySql,现在我就向大家介绍如何利用Navicat for MySql 导出和导入数据. 导出数据库: 打开Navicat ,在我们要到处的数据上面右击鼠标,然后弹出的快捷菜单上点击"转储SQL 文件",在再次弹出的子菜单项中选择第
-
sqoop 实现将postgresql表导入hive表
使用sqoop导入数据至hive常用语句 直接导入hive表 sqoop import --connect jdbc:postgresql://ip/db_name --username user_name --table table_name --hive-import -m 5 内部执行实际分三部,1.将数据导入hdfs(可在hdfs上找到相应目录),2.创建hive表名相同的表,3,将hdfs上数据传入hive表中 sqoop根据postgresql表创建hive表 sqoop creat
-
PostgreSql 导入导出sql文件格式的表数据实例
PostgreSql默认导出的文件格式是.backup,而我们很多数据库导入数据库脚本时是.sql文件格式的,PostgreSql作为国内的新潮,会不会不支持导出.sql文件格式吗?答案是当然不会.下面我们借助Pg Admin III工具来导出.sql的脚本的. 一.导出 首先,你当然得有一张完整的数据表啦,并且保证里面是有数据的: 有了表和数据之后,选中该表: 选中右键 --> 备份 我们可以看到文件名默认以.backup格式的方式进行数据备份的. 首先将自定义格式 --> 无格式 点开之后
-
Oracle数据库表备份导入导出dmp的方式及踩坑记录
目录 一.备份导出前的注意事项 二.导出的两种方式 2.1.使用exp导出 2.2.使用数据泵expdp导出 三.在备份时遇到的坑 附:Oracle导出指定用户下dmp文件 总结 一.备份导出前的注意事项 1.导出导出的时候需要注意数据库的字符集是否一致,使用工具导入的话也需要确认工具的字符集 --查询服务端的编码命令 SELECT * FROM Nls_Database_Parameters where parameter = 'NLS_CHARACTERSET'; --查询客户端软件的编码命
-
在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
随机推荐
- 改变iOS应用中UITableView的背景颜色与背景图片的方法
- asp.net中页面显示当前系统时间附图
- asp.net 数据访问层基类
- js实现正方形颜色从下往上升的效果
- Function.prototype.apply()与Function.prototype.call()小结
- jQuery 创建Dom元素
- 让你的Linux用起来跟Windows无异
- GridView自动增加序号(三种实现方式)
- JS高仿抛物线加入购物车特效实现代码
- 详解Vue2 无限级分类(添加,删除,修改)
- 通过WIFI(不用数据线)连接Android手机调试
- DOS下的必备工具
- 详解Linux内核中的container_of函数
- MySQL数据库备份方法说明
- C数据结构之双链表详细示例分析
- jquery 弹出公告功能代码
- java利用url实现网页内容的抓取
- 解析C#中的私有构造函数和静态构造函数
- 用好anyproxy提高公众号文章采集效率
- NetworkX之Prim算法(实例讲解)