각종 민원/기관 링크 모음 (continue..)

Posted on 2023. 8. 8. 08:47
Filed Under 일상

lastUpdated: 2023.08.08

 

▼건강보험/국민연금 : 자동이체 신청하기 (updated: 2023.08.08)

https://www.nhis.or.kr/nhis/index.do

 

국민건강보험

이벤트 1 / 8

www.nhis.or.kr

  • 메뉴: 개인민원 > 보험료납부 > 자동이체신청
  • 자동이체 서비스 제공시간: 09:00 ~ 22:00입니다.(토,일요일 및 공휴일 제외)

▼큐넷 : 국가자격증 응시

https://www.q-net.or.kr

 

Q-Net 자격의 모든 것

 

www.q-net.or.kr

 

 

 

반응형

[postgresql] 메타데이터 & 자주쓰는 쿼리(정리중..)

Posted on 2023. 7. 18. 09:34
Filed Under DB

lastUpdated: 2023.12.08

 

▼DB 용어

#DDL(Data Definition Language): CREATE/DROP, ALTER(스키마/도메인/테이블/뷰/인덱스를 정의/변경/제거 등)

#DML(Data Manipulation Language): INSERT/UPDATE/DELETE(데이터 관리)

#DCL(Data Control Language): COMMIT/ROLLBACK, GRANT/REVOKE (보안/무결성/회복/병행 제어 등을 정의)

 

▼SELECT

-- 변수 정의대신 CTE활용
WITH KEYS(ORD_ID, PAY_REQ_ID) --주문번호, 요청번호
  AS ( VALUES(
	  NULL --'20230905050132740'
    , NULL --'f0e3091d-8cd9-4186-b1c4-58859db39d7a'
    ) )
SELECT *
  FROM TBL1 T
 WHERE T.ORD_ID = (SELECT COALESCE(ORD_ID, T.ORD_ID) FROM KEYS) --◀
-- OR
WITH CTE AS (
  SELECT 'SYS-LOCAL' AS sys_id 
        ,'http://localhost:8081' AS sys_domn
)
SELECT sys_id, sys_domn
 FROM CTE;

 

▼메타데이터

-- 현재 database의 모든 테이블 목록 조회
select * from information_schema.tables where table_name;

-- 모든 database하의 모든 테이블 목록 조회
select * from pg_catalog.pg_tables 
 where tablename  like 'tbl_%' 
order by schemaname, tablename;

-- 테이블/컬럼 목록
   SELECT ps.schemaname, ps.relname as table_nm, obj_description(ps.relid)  as table_comment
		 ,pa.attname as column_nm, pd.description as column_comment
	 FROM pg_stat_all_tables ps
	 	  LEFT OUTER JOIN pg_description pd on ps.relid=pd.objoid
	 	  INNER JOIN pg_attribute pa on pd.objoid=pa.attrelid and pd.objsubid=pa.attnum
	WHERE 1=1
  	  AND pd.objsubid<>0
	  AND ps.schemaname='admdbt'
    --AND ps.relname='테이블'
 ORDER BY ps.relname, pd.objsubid;

▼DBMS 관련

-- DB서버 설정 리스트 조회
SHOW ALL;
SELECT * FROM pg_settings WHERE NAME LIKE '%port%';
SELECT * FROM pg_settings where name like '%version%'

-- 특정 설정값 조회
SELECT CURRENT_SETTING('TIMEZONE');
 │Asia/Seoul
SELECT CURRENT_SETTING('PORT')
 │5534
SHOW LC_COLLATE
 │en_US.UTF-8

▼테이블 관리(DML)

-- 컬럼 타입 변경
ALTER TABLE 테이블 ALTER COLUMN 컬럼 TYPE 타입;

-- FK로서 사용중인 컬럼을 포함한 PK 수정하기
ALTER TABLE 테이블 
  DROP CONSTRAINT PK제약ID CASCADE,
  ADD PRIMARY KEY (PK컬럼1, PK컬럼2, ..);

 

▼유틸성

-- Oracle의 NVL과 동일(컬럼값이 NULL이면 값 대체)
SELECT SUM(COALESCE(VAL1, 0)) AS TOT_SUM FROM table;

▼날짜시간 다루기

-- DB에는 UTC시각으로 저장됨. 조회시 표시는 설정된 timezone 기준으로 표시
SELECT NOW() AT TIME ZONE 'UTC' AS UTC기준시
	 , NOW() AT TIME ZONE 'CEST' AS CEST기준시각
	 , CURRENT_SETTING('TIMEZONE') AS TIMEZONE
	 , DATE_PART('hour', NOW() - NOW() AT TIME ZONE 'UTC') AS utc_offset
 │utc기준시	cest기준시각	timezone	utc_offset
 │2023-09-06 08:15:23.126	2023-09-06 10:15:23.126	Asia/Seoul	9
 
-- Timezone 정보 리스트
SELECT * FROM pg_timezone_names WHERE abbrev IN ('KST','CET','CEST','UTC') ORDER BY abbrev;
 │name			abbrev	utc_offset	is_dst
 │Asia/Seoul	KST		09:00:00	false
 │Europe/Berlin	CEST	02:00:00	true
 ...
 

▼트랜잭션 (출처: https://miniweb4u.tistory.com/188)

-- 실행중인 쿼리 목록 조회(for PID)
SELECT * FROM pg_stat_activity 
WHERE datname = 'db_name'
  AND state LIKE '%idle%'
  AND query LIKE '%alter%'

-- 실행중인 쿼리 취소
SELECT pg_cancel_backend(pid int);

 

 

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
반응형

[mysql/mariadb] 자주 사용 쿼리 & 메타데이터 (continue)

Posted on 2022. 10. 12. 10:03
Filed Under DB

-- DBMS Version 확인
select @@version; --또는 select version();

-- 모든 시스템 변수 리스트
show global variables;

-- database(=schema) 목록
SELECT DISTINCT table_schema FROM INFORMATION_SCHEMA.TABLES;

-- 사용자 정보
SELECT * FROM INFORMATION_SCHEMA.USER_PRIVILIEGES;
-- 실행중인 커맨드
SELECT * FROM INFORMATION_SCHEMA.PROCESSLIST;

-- 테이블 구조/설명 조회
DESC INFORMATION_SCHEMA.TABLES;

-- 테이블/컬럼 구조
SELECT * FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_SCHEMA = 'XXX'
SELECT * FROM INFORMATION_SCHEMA.COLUMNS;

-- 간단히 변수 선언해서 사용하기
SET @PARAM1 = 1; -- 변수명 앞에 @골뱅이 필수!!
SELECT @PARAM1;

-- 날짜 다루기
SELECT CAST(NOW()) as DATE);
SELECT STR_TO_DATE('20230111', '%Y%m%d');
SELECT DATE_ADD(NOW(), INTERVAL 1 DAY); // MINUTE, MONTH, YEAR
SELECT DATE_SUB(NOW(), INTERVAL 1 DAY); // 또는 DATE_ADD의 INTERVAL 값을 음수로 넣으면 같은 결과
SELECT DATE_FORMAT(CURRENT_TIMESTAMP(), '%Y%m%d%H%i%s');

-- 유효체크
SELECT CASE WHEN STR_TO_DATE('2023XXXX') IS NOT NULL THEN '정상' ELSE '비정상' END; // 날짜문자열인지 체크
SELECT CASE WHEN '99' REGEXP '^[0-9]+$ = 1 THEN '숫자' ELSE '숫자아닌문자열포함' END;

MariaDB 레퍼런스: https://mariadb.com/kb/en/ (MariaDB Server > Tutorials)

반응형

VSCode 사용한 단축키 v0.1 (lastUpdated: 2022.09.08)

Posted on 2022. 9. 28. 14:15
Filed Under Programming/개발환경+도구

▼ 사용한 단축키

1) Terminal창: Ctrl + `

2) Bookmark(Extension: bookmark 설치필요): 

  • Bookmarks: Toggle - 해당 코드 북마크 생성/취소★
  • Bookmarks: Toggle Labeled - 해당 코드를 라벨화하여 생성/취소 ★
  • Bookmarks: List - 현재 파일에 생성된 북마크 리스트 확인 ★
  • 해당 명령어를 입력하면 또 입력창이 뜹니다. 입력창에 라벨 이름을 정하면 액티브 바에도 해당 라벨로 북마크를 확인할 수 있습니다. (북마크 정리에 유용)
  • Bookmarks: Clear - 현재 파일에 생성된 모든 북마크를 제거
  • Bookmarks: Jump to Next - 다음 북마크로 이동
  • Bookmarks: Jump to Previous - 이전 북마크로 이동
  • (정보출처: https://velog.io/@m2nja201/Visual-Studio-CodeVS-Code-북마크책갈피-생성하는-법)

 

 

 

반응형

[javascript] 주 사용 키워드 메모 [continue..]

Posted on 2021. 11. 5. 13:29
Filed Under Web Programming/기초부터

 

forEach

map

filter

reduce

 

#Object 다루기

 

 

#Array 다루기

Array.prototype.push().apply(...)

https://developer.mozilla.org/ko/docs/Web/JavaScript/Reference/Global_Objects/Array/push

 

# Array 초간단 초기화

const arrList = [...Array(10).keys()]

=> [0,1,...9]

반응형

About

by 쑤기c

반응형