SQL 11

[PostgreSQL] 운영서버DB를 개발서버로 pg_dump 하는법

프론트에서 운영서버 DB를 개발서버에 맞춰달라는 요청이 들어왔다. 운영서버와 최대한 비슷한 환경으로 작업하면 개발서버로 코드 작업을 할 때도 QA할 때도 에러사항을 더 찾기 편해지기 때문이다. 적어도 잘못된 데이터로 햇갈리는 일들은 없을 거 같다. 참고로 필자의 회사는 postgres를 사용하고 있다. 1. dump를 원하는 데이터베이스에서 sql확장자로 백업파일을 경로를 지정하여 백업파일을 생성한다. pg_dump [dump하고싶은 db명] -U [postgres 유저이름] -h 접속 host주소 -F p -b -v -f /백업파일/경로/ EX) pg_dump prod_database -U usernameSophie -.rds.amazonaws.com -F p -b -v -f /home/ubuntu/d..

Python Pandas 설치 및 import 방법

파이썬 설치 후 환경변수 설정하세요.(꼭) 그리고 명령 프롬포트 cmd 켜서 pip install pandas 명령어 입력하세요. 설치 후 pip --version 명령어 입력 후 버전 확인하세요 저는 판다스를 파이참을 통해 임포트 하였습니다. ㅡ 위의 임포트 내용을 따라치십시오. 왠만하면 다 임포트 하세요 결국 다 필요하거든요. 임포트가 안된다면 혹은 빨간줄이 뜬다면 패키지 다운로드 하시면됩니다. 아마 아래창으로 alert창이 뜰겁니다.

SQL 예제를 통한 LEFT JOIN에 대해 알아보기

틱택토 게임 프로젝트 기능 중 사용자 정보와 승패전적을 함께 업데이트해야하는 페이지가 있다. 이 때 나는 게임회원정보를 담고있는 테이블과 승패전적을 담고있는 테이블의 PK를 조인하여 아래와 같이 내 정보에서 내 아이디와 승패 전적을 띄우는데 성공하였다. 여기서 예제를 알아보기 전에 Join에 대해 알아보자 JOIN이란? 검색하고 싶은 컬럼이 다른 테이블에 있을 경우 사용하며 여러개의 테이블을 하나의 테이블인 것처럼 활용하는 것이다. 보통 Primary key 혹은 Foreign key로 두 테이블 연결하여 사용한다. left outer join, left join 왼쪽 테이블 기준으로 join한다. 기준 테이블의 결과 + 기준 테이블의 중복값을 보여준다. //LEFT OUTER JOIN SELECT A...

MySQL / MariaDB 페이지네이션 쿼리 작성하는 법

이번에 틱택토게임을 진행하면서 게임방목록을 만들 때 위와 같은 화면과 같이 페이징 처리를 해야해서 페이징 쿼리를 진행하였다. 먼저 페이징 쿼리에 필요한 값에 대해 알아보자 Limit 한 페이지에 출력할 데이터의 양 offset Limit*(페이지 번호-1) 페이징 쿼리는 보통 이 구문을 이용하면된다. SELECT * FROM 테이블명 LIMIT #{limit} OFFSET #{offset} 내가 페이징할 때 날린 쿼리는 SELECT * FROM game_kde order by seq desc limit 10 offset #{offset};

TIL 37일차 SQL 데이터베이스 #NULL의 개념과 Not NULL의미

Primary Key를 나타내는 위 사진의 체크박스에 체크를 할 때 DataType 열에 NN이라는 체크박스 보이시나요? NN이라고 써진 부분의 체크박스도 자동으로 같이 체크가 되어있습니다. 왜 체크가 되어있을까요? 그 전에 NN은 무슨 뜻일까요?! NN은 NOT NULL의 줄임말입니다! 즉 NULL이 아니다라는 뜻!! 흠 근데 NULL은 도대체 뭔데...? NULL은 데이터베이스에서 굉장히 중요한 개념이니까! 기억하면서 보기! NULL은 특정 컬럼에서 값이 존재하지 않을 때 값이 존재하지 않는 그 상태를 나타내기 위해서 사용되는 키워드입니다! 멤버테이블을 확인해보면 NULL, 즉 어떤 값이 없음을 나타내고 있는걸 볼 수있어요! 더 정확히 말하면 키 속성의 값이 없다는 뜻! 근데 여기 조심해야할 것 ! ..

TIL 36일차 SQL 데이터베이스 #key

오늘은 SQL key값에 대해 알아보도록해요 ! primary key 테이블에서 하나의 Row를 고유하게 식별할 수 있도록 해주는 column을 primary key라고 합니다! 그러면 member 테이블의 primary key가 바로 id컬럼이라는 사실! 그러면 특정 칼럼을 Primary Key로 설정하면 Primary key에 같은 값이 있는 row가 추가되는 것을 DBMS가 자동으로 막아주기 때문에 중복된 row가 생길 위험성이 사라집니다! Natural Key 실제로 어떤 개체가 갖고 있는 속성을 나타내는 컬럼이 Primary key가 됐을 때, 이를 Natural Key라고 합니다. 사람은 주민등록번호로 특정인물을 식별하죠? 우리가 읽는 여러 책들도 책 코드로 분류하여 식별하기도 합니다! 전 포..

TIL 35일차 SQL 데이터베이스 #생성된 테이블 확인하기

member 테이블을 잘 생성했다면 일단! member 테이블에 어떤 컬럼들이 있는지 알아볼까요? 어떤 테이블에 컬럼 구조를 보려면 위 사진의 왼쪽 스키마 창에서 테이블 이름에 마우스를 올렸을 때 뜨는 세 아이콘 중에서 두번 째 아이콘을 클릭하면 됩니다 ! 그럼 아래에 멤버테이블을 한번에 확인할 수 있다는 사실 ~!! 근데 mySQL 다크모드는 맥북에만 지원된다고 하네요? 조금 sad합니다...

TIL 34일차 SQL 데이터베이스 #데이터베이스 생성해보기

My SQL에서는 데이터베이스를 스키마라고도 합니다! 앞으로 우리가 접속할 MySQL 서버의 모든 데이터베이스는 앞으로 왼쪽! 스키마 영역에 보이게 될것입니다! 데이터베이스를 생성하는 SQL문에 대해 알아봅시다! CREAT DATABASE 데이터베이스를 생성하라는 뜻인데요 그 뒤에 우리가 만들고 가공할 데이터 베이스의 이름을 적어주면됩니다! 저는 DANY로 정해볼게요! DANY의 데이터베이스들 중에서 메인으로 쓸 데이터베이스라는 의미로 dany_main이라고 지었습니다 ㅎㅎ 앗! SQL문을 실행하려면 번개버튼을 클릭도 하고 새로고침을 해야 dany_main이라고 하는 데이터베이스가 잘 보이겠죠~? 너무 너무 쉽죠.....?????!!!!!!!!!!

TIL 33일차 SQL - 스키마창에서 sys는 도대체 뭐야!

우리가 생성하지도 않았던 sys라는 데이터베이스가 이미 존재하고 있었는데요.... 도대체 이건 뭘까요?! 바로 sys 데이터베이스는 MySQL 서버의 성능 관련 정보들을 갖고있는 데이터베이스입니다! 사실 DBMS는 그것을 사용하는 사람에 따라 사용 용도가 크게 달라지는데요~ 직무별로 간단하게 구별해보자면 기획자/마케터 : 데이터베이스에 저장된 데이터를 잘 분석해서 시장 및 고객을 분석 백엔드 개발자 또는 데이터베이스 관리자 : 데이터가 빠르고 안정적으로, 조회 및 저장될 수 있도록 개발 및 관리정도가 되겠죠? 백엔드 개발자 또는 데이터베이스 관리자의 입장에서는 DBMS가 성능 저하 없이 효율적으로 작업을 처리하고 있는지를 체크하는 것이 중요합니다. 그리고 MySQL에서 이러한 정보를 확인할 수 있는 기본..

TIL 32일차 SQL 데이터베이스 #행과 열

데이터 베이스 안에서 데이터가 저장되는 기본단위가 테이블이라고 합니다. 테이블은 표 형식으로 저장된 데이터의 집합을 의미합니다. 학번 이름 전공 성별 20204171 김다은 국제무역학과 여 20202123 이지안 산업디자인학과 남 20160932 도경석 화학공학과 남 20198443 주하영 기계공학과 여 20198732 정나위 통계학과 남 어느 한 대학교의 학생정보를 정리한 것입니다. 학생들의 학번, 이름, 성별이 잘 정리되어있죠? 여기서! 테이블에 관해 꼭 알아야하는 용어들이 있습니다! 위의 표를보면 표 한줄 한줄 이 한생 한명을 나타내는 정보라는 걸 알 수있습니다. 이렇게 어떤 개체 하나를 나타내는 단위를 로우(row)라고 합니다! 여기서 로우는 행이라는 뜻인데요~! 그러니까 위에 표는 5개의 로우가..