본문 바로가기
728x90

전체 글336

[Database] Oracle 시스템 카탈로그 추출하기, 테이블 , 컬럼, 코맨트 정보 확인하기 DA업무를 맡으며, 그간 DBA보고 뽑아달라 했던 테이블 및 컬럼 정보들이 필요하게 됐는데, DBA가 없더라도 제법 추출하기 쉬운 항목들이므로, 직접 뽑아보면서 정리해봤습니다. 1. 테이블 정보 SELECT * FROM DBA_TABLES; -- 데이터베이스 내의 모든 테이블 SELECT * FROM ALL_TABLES; -- 유저가 소유한 테이블, 유저가 접근가능한 테이블 SELECT * FROM USER_TABLES; -- 유저가 소유한 테이블 (현재 유저의 소유목록이기때문에 OWNER 정보가 없다.) DBA_TABLES 출력예시 2. 컬럼 정보 SELECT * FROM DBA_TAB_COLUMNS; -- 데이터베이스내의 모든 컬럼 목록(숨겨진 컬럼 제외) SELECT * FROM ALL_TAB_CO.. 2022. 8. 23.
[Python] Numpy library 개념, 기본 사용법 1. Numpy 란? Numpy는 다차원 배열을 쉽게 처리하고 효율적으로 사용할 수 있도록지원하는 파이썬의 패키지 데이터 구조 외에도 수치 계산을 위해 효율적으로 구현된 기능을 제공 2. Numpy 설치 pip install numpy 3. Numpy 기본 사용법 1) ndarray 생성 import numpy as np arr1 = np.array([1,2,3,4]) # numpy의 배열인 ndarray 생성 print(arr1,type(arr1)) # [1 2 3 4] 출력 2) ndarray 데이터 타입 지정 float int bool str object arr2 = np.array([1,2,3,4], dtype = 'float') # dtype으로 배열의 데이터타입을 지정함 3) 1차원 이상의 배.. 2022. 7. 12.
[Python] Requests, URLlib, BeautifulSoup4(bs4) 확실히 알고 쓰기 1. requests Requests 는 파이썬에서 HTTP를 사용하기 위해 쓰여지는 라이브러리 데이터를 보낼 때 딕셔너리 형태로 보낸다 없는 페이지를 요청해도 에러를 띄우지 않는다 어떤 방식(method)의 HTTP 요청을 하느냐에 따라서 해당하는 이름의 메소드를 사용 GET 방식: requests.get() POST 방식: requests.post() PUT 방식: requests.put() DELETE방식: requests.delete() response 요청(request)을 보내면 응답(response)을 python 객체로 받음 response = requests.get("url~~") # 내가 보낸 request 객체에 접근 가능 response.request # 출력 # 응답 코드 resp.. 2022. 6. 30.
[Database] Upsert란? DBMS 별 Upsert 예제 1. Upsert(Update + Insert)란? Upsert는 중복되는 값이 있다면 Update를 하고 중복되는 값이 없다면 Insert를 하는 쿼리 Unique Key의 값이 중복된다면 Update를 하고, Unique 컬럼의 값이 존재하지 않는다면 INSERT를 하는 것 Unique Key, 즉 중복되면 값이 있으면 안되는 컬럼에 추가하려는 데이터 값이 중복되지 않으면, INSERT 중복이 된다면, 중복의 대상이 되는 데이터 값을 UPDATE시키는 것(기준은 Unique Key 컬럼이다) 2. Upsert MySQL vs PostgreSQl 1. MySQL INSERT INTO users (col1, col2) VALUES ('val1', 'val2') ON DUPLICATE KEY UPDATE .. 2022. 6. 27.
[DataBase] (Oracle vs MySQL) CTAS(Create Table As Select), INSERT INTO SELECT, TEMP Table, View + with절,Inline view 이번 포스트에는 oracle과 MySQL에서 각각 CTAS, INSERT INTO SELECT가 어떻게 사용되는지, TEMP table과 View의 개념과 장단점 그리고 Oracle과 MySQL에서는 어떻게 다른지에 대해 포스팅 하겠습니다. 1. CTAS(Create Table As Select) CTAS의 기본 개념은 MySQL과 오라클 모두 같다. 1) 기본 문법 CREATE TABLE 'target' AS SELECT * FROM 'origin'; --AS 이후에는 기존의 조회쿼리처럼 원하는 컬럼만 지정하거나 조건절 및 정렬도 가능하다. 2) 데이터는 복사하지 않기 CREATE TABLE 'target' AS SELECT * FROM 'origin' WHERE 1=0; MySQL 기본 문법 데이터 .. 2022. 6. 15.
[AmazingTalker] 직장인 자기 계발 영어 회화, 영어 화상 수업 체험 후기 직장인들이 항상 자기계발과 관련되어서 나오는 분야 중 하나가 '영어를 잘하고싶다', 특히 실전에서 필요한 '영어 회화를 잘하고 싶다.' 인 것 같습니다. 저 뿐만 아니라 제 지인들도 대다수가 영어 자기계발을 해야지해야지 생각만 하고 실천을 하지는 못하고 있었던 것 같습니다. 왜? 라고 물어본다면, '시간이 없어서','돈이 너무 비싸서','선생님 혹은 직접 대화를 나눌 사람이 없어서' 라는 이유들이 있는 것 같습니다. 너무 감사하게도 제 블로그를 들러주신 분 덕분에, AmazingTalker라는 화상영어 1:1수업 사이트를 알게 되었습니다. 뿐만 아니라 수업 체험을 할 수 있는 기회까지 주셔서, 제 후배중에 영어에 관심이 많고 영어회화를 잘하고 싶어하는 후배 2명에게 수업 체험을 해볼 수 있는 기회를 드렸.. 2022. 6. 11.
프로그래밍 언어별 '(홑 따옴표, single quotation) vs "(쌍 따옴표, double quotation) 이번 포스트에는 프로그래밍 언어별 single quotation, double quotation 사용되는 경우를 비교 해보겠습니다. SQL '(홑 따옴표, single quotation) "(쌍 따옴표, double quotation) string, 문자열을 표현 할 때 사용 식별자,객체이름을 표현할 때 사용됨(mysql 에서는 `와 "를 사용) 파이썬 '(홑 따옴표, single quotation) "(쌍 따옴표, double quotation) 의미 있는string, 문자열을 표현 할 때 사용 ex) 'python' 의미 없는 string 문자열을 표현 할 때 사용 ex )"python is fun" 자바 '(홑 따옴표, single quotation) "(쌍 따옴표, double quotation).. 2022. 6. 8.
직장생활에 대한 회고 + 일상생활 두서없이 적는 느낀 점. 직장생활을 하게 되면서 매번 딜레마를 느낀다. 더 나은 사람이 되기 위해, 더 좋은 대우를 받기위해, 그리고 하고 싶은 것이 있기에 원하는 공부를 해야한다는 IT직종의 압박감이랄까 마음 한켠의 부담감 같은게 늘 존재한다. 근데도 항상 우린 뭘 위해 일을하는지에 대해 동시에 늘 고민을한다. 결국 행복해지기 위해서 일을하고 돈을 버는 것인데, 평생을 공부만하다 죽을 수는 없다는 생각도 맞는 생각이다. 그리고 직업 특성상 앉아있는 시간이 많아 운동량이 절대적으로 부족하다는 것도 요즘 절실히 깨닫는다. 이 3가지는 내가 직장생활을 하는 한 계속 벨런스를 맞춰야 할 것들이다. 근데 요즘들어 너무 운동에 소홀해지고, 피부도 나빠짐을 절실히 느끼기에 오히려 이도 저도 안되는 번 아웃이 온 것.. 2022. 5. 14.
[Python] 보편적인 python coding convention(파이썬 코딩 컨벤션) 파이써닉하다 읽기도 편하고 가독성이 높은 코드 파이써닉하기 위해 코딩 규칙을 정해 놓은것을 코딩 컨벤션이라고 함. 한 줄의 한 구문을 준수 if x == 1: print('O') kwargs는 정말 필요한 경우에만 쓰자 가독성을 저해시킬 수 있음 클래스에서 private속성을 가진 변수는 이름 앞에 _(언더스코어)를 사용하여 표현 사용하지 않을 변수는 __(언더스코어 2개)로 표현하자. 1개만 사용하는 것은 지양 for __ in range(100): print('테스트') 동일한 내용물을 가진 리스트를 생성할때는 *를 활용 list_repeatitive = ['hi'] * 4 print(list_repeatitive) 다차원 리스트를 생성할 경우 리스트 내포를 적극 활용 lists = [["hi"] f.. 2022. 4. 27.
728x90