常用sql记录

备份一张表

PostgreSQL

sql 复制代码
CREATE TABLE new_table AS
SELECT * FROM old_table;

-- 下面这个比上面好,这个复制表结构时,会把默认值、约束、注释都复制
CREATE TABLE new_table (LIKE old_table INCLUDING ALL) WITHOUT OIDS;
INSERT INTO new_table SELECT * FROM old_table;

sql 复制代码
CREATE TABLE new_table LIKE old_table;
INSERT INTO new_table SELECT * FROM old_table;

清空一张表的数据

这个命令会清除表中的所有记录,但不会影响表的结构和属性。

请注意,truncate操作是不能回滚的,清除之后的数据无法恢复。使用时请确保已经做好了数据备份或者对当前数据无需保留。

TRUNCATE TABLE table_name;

填充主键

pg数据库,主键的生成规则是自增:

xml 复制代码
nextval('department_department_key_seq'::regclass)
sql 复制代码
UPDATE department SET department_key = nextval('department_department_key_seq'::regclass) WHERE department_key IS NULL;
相关推荐
快乐肚皮1 分钟前
MySQL递归CTE
java·数据库·mysql·递归表达式
2301_8002561113 分钟前
地理空间数据库中的CPU 和 I/O 开销
数据库·算法·oracle
Elseide艾思17 分钟前
艾思政策数据库正式发布(1989年至今)
数据库
zhengfei61132 分钟前
OrangeHRM RCE 最新漏洞利用 - CVE-2025-66224
数据库
中國移动丶移不动38 分钟前
Python MySQL 数据库操作完整示例
数据库·python·mysql
木风小助理1 小时前
B+树何以成为数据库索引的“天选之结构”?
数据库
7ioik1 小时前
为什么lnnoDB存储引擎默认使用B+树作为索引结构?
数据库·b树·oracle
斯普信专业组3 小时前
PostgreSQL高可用集群部署与配置指南
数据库·postgresql
利刃大大3 小时前
【MyBatis】MyBatis操作动态sql && MyBatisGenerator
数据库·sql·mybatis
一瓢西湖水4 小时前
loader命令导出大批量数据维护SQL
数据库·sql