常用sql记录

备份一张表

PostgreSQL

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;

MySQL

CREATE TABLE new_table LIKE old_table;
INSERT INTO new_table SELECT * FROM old_table;

清空一张表的数据

这个命令会清除表中的所有记录,但不会影响表的结构和属性。
请注意,truncate操作是不能回滚的,清除之后的数据无法恢复。使用时请确保已经做好了数据备份或者对当前数据无需保留。
TRUNCATE TABLE table_name;

填充主键

pg数据库,主键的生成规则是自增:
在这里插入图片描述

nextval('department_department_key_seq'::regclass)
UPDATE department SET department_key = nextval('department_department_key_seq'::regclass) WHERE department_key IS NULL;

日期

-- 常见的日期
SELECT '2023-10-25'

在这里插入图片描述

-- 取年月
SELECT year('2023-10-25'), month('2023-10-25'), day('2023-10-25')

在这里插入图片描述

-- 格式转换
select date_format('2023-10-25','%Y-%m') 

在这里插入图片描述

-- 6个月前
select date_sub('2023-10-05', interval 5 month) 

在这里插入图片描述

-- 指定月份的6个月前的年月
select date_format(date_sub(concat('2023-10','-01'), interval 5 month), '%Y-%m')

在这里插入图片描述

  • 3
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值