PostgreSql 数据库
-- ===== sql 开始 ===== -- 数据库时区 SHOW timezone; -- 清空表 TRUNCATE t1 RESTART IDENTITY; # 查看sql执行过程 EXPLAIN -- 设置默认值 SELECT COALESCE(NULL, 0); -- 生成序列 start,stop,step SELECT generate_series(0,9,1); -- 时间计算 SELECT now(), now() + (t1.days||' Days')::INTERVAL, "t1".* FROM "t1" WHERE (t1.end_at > now() + (t1.days||' Days')::INTERVAL) ; -- 插入数据 INSERT INTO t1(id, name) VALUES (1, '测试') -- 查询-插入数据 INSERT INTO t1(id, name) (SELECT id, name FROM users) -- 查询-插入/更新数据 INSERT INTO t1(id, name) (SELECT id, name FROM users) ON CONFLICT (id) DO UPDATE SET name = EXCLUDED.name; -- 查询-插入/更新数据[取最近的一次最高成绩] INSERT INTO t1 (name, seq) ( SELECT tt.name, ROW_NUMBER() OVER(ORDER BY tt.score DESC) AS seq FROM (SELECT DISTINCT ON (name) ttt.name, ttt.score FROM ttt WHERE ttt.class_name = '1班' ORDER BY ttt.name, ttt.score DESC, ttt.created_at ) AS tt) ON CONFLICT (name) DO UPDATE SET seq = EXCLUDED.seq; -- 批量更新 UPDATE tt SET name = tmp.name FROM (values (1, 'Ruby'),(2, 'Java'),(6, 'Php')) AS tmp (id, name) WHERE tt.id = tmp.id; -- 批量更新(Select) UPDATE tt SET name = tmp.name FROM tmp WHERE tt.id = tmp.id; -- 添加序号 SELECT *, (ROW_NUMBER() OVER (PARTITION BY class_name ORDER BY score DESC) AS seq FROM t1; -- 添加排名(空并列) SELECT *, (RANK() OVER (PARTITION BY class_name ORDER BY score DESC) AS seq FROM t1; -- 添加排名(不空并列) SELECT *, (DENSE_RANK() OVER (PARTITION BY class_name ORDER BY score DESC) AS seq FROM t1; -- 自定义排序 WITH ot AS (SELECT * FROM UNNEST(ARRAY[432, 211, 393, 343]) WITH ORDINALITY o(id, seq)) SELECT * FROM t1 LEFT JOIN ot USING(id) ORDER BY seq NULLS LAST, id -- 构建临时查询 SELECT t.*, users.name FROM (VALUES(1, 'a'), (2, 'b'), (3, 'c')) t(id, name) LEFT JOIN users ON t.id = users.id; -- ===== 结束 =====
存储过程(函数)
-- 初始化数据信息(或者先导入数据) DROP PROCEDURE IF EXISTS addNos; delimiter $ CREATE PROCEDURE addNos() BEGIN DECLARE i INT DEFAULT 100000; SET @val = "INSERT INTO `pay_center`.`cfacct_card_no` (base_sn, full_sn) VALUES "; while i < 999999 do SET @val = CONCAT(@val, '(', i, ',', "'", CONCAT('302XXXXX', i), "'", '),'); SET i = i + 1; end while; SET @val = CONCAT(@val, "(999999, '302XXXXX200000')"); PREPARE stmt FROM @val; EXECUTE stmt; DEALLOCATE PREPARE stmt; END $ delimiter; CALL addNos; DROP PROCEDURE addNos; SELECT COUNT(*) FROM `pay_center`.`cfacct_card_no` LIMIT 10;
相关推荐
talent_zhang84整理sql语句基础good,希望的大家有帮助,今后我会上传一些更新的资料。
当建大型数据库时,一般要用在数据库中建立索引,然而索引使用时间长了,不但不会加快数据库的检索速度,反而会导致速度的减速,所以要每隔一段时间对索引进行优化和整理。通过这个数据库索整理工具,可不必进行设置...
SQL语句整理 经典的SQL语句(整理) 精妙SQL语句
SQL语句小结. SQLServer语句小结(SQL语句使用整理) SQLServer语句小结(SQL语句使用整理)
Oracle常用sql语句整理 Oracle常用sql语句整理 Oracle常用sql语句整理 Oracle常用sql语句整理 Oracle常用sql语句整理 Oracle常用sql语句整理
sql语句整理 sql增删改查 更新数据记录 删除数据记录
高手整理的经典sql语句,sql,sqlserver,sql经典,sql语句
经典sql语句整理大全 喜欢的朋友可以下来看看 纯文字版 比较小
最新整理的常用sql语句及优化大全,内含常用的sql语句以及有关sql优化的讲解,十分清晰,相当有用哦。
《SQL》基本语句整理大全
自己整理的sql常用语句,比较适合0接触学习sql的人
对Sql语句的格式进行整理,使其易读。 操作简单,只需拷贝Sql语句,执行整理程序,然后再粘贴,就成为格式清晰的Sql语句了。
SQLSERVER基础实用必会SQL语句整理.docx
不错的SQL不错的SQL不错的SQL不错的SQL
SQL语句整理大全(免费收藏).pdf,SQL语句整理大全(免费收藏).pdf
经典sql语句,自己整理的,有不足之处,请多多包涵!
我最近在CSDN上学的SQL笔记.如有错误请多多指教.
SQL语句先前写的时候,很容易把一些特殊的用法忘记,我特此整理了一下SQL语句操作,方便自己写SQL时方便一点,想贴上来,一起看看,同时希望大家能共同多多提意见,也给我留一些更好的佳句,整理一份《精妙SQL速查...
SQL即结构化查询语言(Structured Query Language),...SQL语句无论是种类还是数量都是繁多的,很多语句也是经常要用到的,SQL查询语句就是一个典型的例子,无论是高级查询还是低级查询,SQL查询语句的需求是最频繁的。