DB
-
이번 포스트에서는 알아두면 유용한 mysql sql 문장들에 대해서 살펴보자. 문제링크 show create table show create table은 table에 대한 DDL을 보여준다. mysql> show create table country; +---------+-------------------------------------------------------------------------------- | Table | Create Table | +---------+-------------------------------------------------------------------------------- | country | CREATE TABLE `country` ( `country_id..
[mysql]알아두면 유용한 설정이번 포스트에서는 알아두면 유용한 mysql sql 문장들에 대해서 살펴보자. 문제링크 show create table show create table은 table에 대한 DDL을 보여준다. mysql> show create table country; +---------+-------------------------------------------------------------------------------- | Table | Create Table | +---------+-------------------------------------------------------------------------------- | country | CREATE TABLE `country` ( `country_id..
2023.02.05 -
이번 포스트에서는 mysql의 날짜 포멧에 있는 00월 00일에 대해서 살펴보자. 00월 00일이란? 날짜 포멧과 00월 00일 mysql의 날짜 포멧 문서(https://dev.mysql.com/doc/refman/8.0/en/date-and-time-functions.html#function_date-format)를 살펴보면 %m이 Month, numeric (00..12)를 의미하고 %d는 Day of the month, numeric (00..31)를 의미한다. 그냥 넘어갈 수 있는데 00부터 시작하는게 신기하다. 00~11이 라면 이해 되는데 00~12라니.. 참고로 oracle의 MM은 01~12이다. mysql에서 이런 입력이 가능한 이유는 mysql에서 불완전한 날짜의 입력을 허용하기 때문..
[mysql]00월 00일 입력?이번 포스트에서는 mysql의 날짜 포멧에 있는 00월 00일에 대해서 살펴보자. 00월 00일이란? 날짜 포멧과 00월 00일 mysql의 날짜 포멧 문서(https://dev.mysql.com/doc/refman/8.0/en/date-and-time-functions.html#function_date-format)를 살펴보면 %m이 Month, numeric (00..12)를 의미하고 %d는 Day of the month, numeric (00..31)를 의미한다. 그냥 넘어갈 수 있는데 00부터 시작하는게 신기하다. 00~11이 라면 이해 되는데 00~12라니.. 참고로 oracle의 MM은 01~12이다. mysql에서 이런 입력이 가능한 이유는 mysql에서 불완전한 날짜의 입력을 허용하기 때문..
2023.02.05 -
Database에서 null은 이리 저리 처리해야하는 상황이 많아서 매우 피곤하다. 이번 포스트에서는 다양한 상황에서 null과의 연산에 대해 살펴보자. 참고로 테스트는 mysql에서 진행하였는데 필자가 아는 한 대부분 DB가 동일하다. null의 연산 산술 연산: 언제나 null select null+1, null-1, null*1, null/1 from dual; 문자열 결합 연산: null select concat(1, null, 2) from dual; 비교연산 이 부분이 가장 헷갈리는 부분이다. 비교 연산에서 null은 "무엇이든 될 수 있고 무엇도 될수 없는 값이다." (뭐래니.. unknown이라고도 한다. 즉 fix 할 수 없다는 이야기다.) 아래의 표를 살펴보자. 연산자 true fals..
[sql] Null의 연산Database에서 null은 이리 저리 처리해야하는 상황이 많아서 매우 피곤하다. 이번 포스트에서는 다양한 상황에서 null과의 연산에 대해 살펴보자. 참고로 테스트는 mysql에서 진행하였는데 필자가 아는 한 대부분 DB가 동일하다. null의 연산 산술 연산: 언제나 null select null+1, null-1, null*1, null/1 from dual; 문자열 결합 연산: null select concat(1, null, 2) from dual; 비교연산 이 부분이 가장 헷갈리는 부분이다. 비교 연산에서 null은 "무엇이든 될 수 있고 무엇도 될수 없는 값이다." (뭐래니.. unknown이라고도 한다. 즉 fix 할 수 없다는 이야기다.) 아래의 표를 살펴보자. 연산자 true fals..
2023.01.31 -
이번 포스트에서는 h2 데이터베이스의 설정 방법에 대해서 살펴본다. 설치 및 초기 설정 설치 다음의 링크로 이동하여 본인의 플랫폼에 적합한 버전을 다운로드 후 설치한다. H2 Database Engine H2 Database Engine H2 Database Engine Welcome to H2, the Java SQL database. The main features of H2 are: Very fast, open source, JDBC API Embedded and server modes; in-memory databases Browser based Console application Small footprint: around 2.5 MB jar file size Supp h2database.com ..
[h2]설정이번 포스트에서는 h2 데이터베이스의 설정 방법에 대해서 살펴본다. 설치 및 초기 설정 설치 다음의 링크로 이동하여 본인의 플랫폼에 적합한 버전을 다운로드 후 설치한다. H2 Database Engine H2 Database Engine H2 Database Engine Welcome to H2, the Java SQL database. The main features of H2 are: Very fast, open source, JDBC API Embedded and server modes; in-memory databases Browser based Console application Small footprint: around 2.5 MB jar file size Supp h2database.com ..
2022.11.05 -
이번 포스트에서는 mysql의 sql_mode에서 ONLY_FULL_GROUP_BY 설정에 대해 알아보자. ONLY_FULL_GROUP_BY 이상한 group by 동작 기본으로 제공되는 world 데이터베이스에서 다음의 쿼리를 실행해보자. select sum(population) from city where countrycode='AFG'; countrycode가 'AFG'인 나라의 population 총 합을 물어보고 있는데 2332100가 나오면 정답이다. 다시 다음의 쿼리를 살펴보자. select name, countrycode, sum(population) from city where countrycode='AFG'; Oracle등에서 쿼리를 공부해보았다면 위의 쿼리는 일반 컬럼인 name과 집..
[mysql 설정] ONLY_FULL_GROUP_BY이번 포스트에서는 mysql의 sql_mode에서 ONLY_FULL_GROUP_BY 설정에 대해 알아보자. ONLY_FULL_GROUP_BY 이상한 group by 동작 기본으로 제공되는 world 데이터베이스에서 다음의 쿼리를 실행해보자. select sum(population) from city where countrycode='AFG'; countrycode가 'AFG'인 나라의 population 총 합을 물어보고 있는데 2332100가 나오면 정답이다. 다시 다음의 쿼리를 살펴보자. select name, countrycode, sum(population) from city where countrycode='AFG'; Oracle등에서 쿼리를 공부해보았다면 위의 쿼리는 일반 컬럼인 name과 집..
2022.09.13 -
이번 포스트에서는 다대다 관계의 문제점과 해결 방법에 대해서 살펴보자. 다대다 관계 다대다 관계의 예 DB 모델링 과정에서 다대다 관계가 나올 수 있다. 쉽게 생각할 수 있는 관계로는 학생과 과목의 관계를 들 수 있다. 학생은 학번, 이름, 학과에 대한 정보를 갖는다. 당연히 학번이 각각의 학생을 구별하는 P.K가 된다. 학과는 과목코드, 과목명, 담당교수를 갖는다. 여기서는 과목코드가 각 과목을 구별하는 P.K가 된다. 이 두 테이블의 관계를 보면 학생은 여러 과목을 수강할 수 있고 한 과목은 여러 학생이 수강할 수 있다. 따라서 두 테이블은 서로 관계를 가져야 한다. 만약 홍길동이 S1, S2를 수강하고 장길산은 S2와 S3를 수강했다고 생각해보자. 학생 테이블에서 학생의 수강 정보를 확인하기 위해서..
[DB] 다대다 관계의 문제점과 해결이번 포스트에서는 다대다 관계의 문제점과 해결 방법에 대해서 살펴보자. 다대다 관계 다대다 관계의 예 DB 모델링 과정에서 다대다 관계가 나올 수 있다. 쉽게 생각할 수 있는 관계로는 학생과 과목의 관계를 들 수 있다. 학생은 학번, 이름, 학과에 대한 정보를 갖는다. 당연히 학번이 각각의 학생을 구별하는 P.K가 된다. 학과는 과목코드, 과목명, 담당교수를 갖는다. 여기서는 과목코드가 각 과목을 구별하는 P.K가 된다. 이 두 테이블의 관계를 보면 학생은 여러 과목을 수강할 수 있고 한 과목은 여러 학생이 수강할 수 있다. 따라서 두 테이블은 서로 관계를 가져야 한다. 만약 홍길동이 S1, S2를 수강하고 장길산은 S2와 S3를 수강했다고 생각해보자. 학생 테이블에서 학생의 수강 정보를 확인하기 위해서..
2022.03.17 -
grouping 이번 포스트에서는 sql의 grouping 함수에 대해서 살펴본다. dev.mysql.com/doc/refman/8.0/en/miscellaneous-functions.html#function_grouping MySQL :: MySQL 8.0 Reference Manual :: 12.24 Miscellaneous Functions MySQL 8.0 Reference Manual / Functions and Operators / Miscellaneous Functions 12.24 Miscellaneous Functions Table 12.29 Miscellaneous Functions Name Description ANY_VALUE() Suppress ONLY_FULL_GROUP_BY v..
[sql]grouping 함수 사용법grouping 이번 포스트에서는 sql의 grouping 함수에 대해서 살펴본다. dev.mysql.com/doc/refman/8.0/en/miscellaneous-functions.html#function_grouping MySQL :: MySQL 8.0 Reference Manual :: 12.24 Miscellaneous Functions MySQL 8.0 Reference Manual / Functions and Operators / Miscellaneous Functions 12.24 Miscellaneous Functions Table 12.29 Miscellaneous Functions Name Description ANY_VALUE() Suppress ONLY_FULL_GROUP_BY v..
2021.04.16 -
mysql workbench 단축키 mysql workbench는 그다지 아름다운 툴은 아니라고 생각된다. 자잘한 버그들도 많고 UI가 화면을 넘쳐서 클릭하기 어렵다거나. 아무튼 세련되지 않다. 그 중 하나가 단축키에 대한 부분이다. 한줄 삭제를 해보고 싶은 열망에서 시작한 단축키 삽질을 기록해본다. 단축키 단축키 설명 일단 workbench의 단축키는 아래 url에 잘 나와있다. dev.mysql.com/doc/workbench/en/wb-keys.html MySQL :: MySQL Workbench Manual :: B Keyboard Shortcuts Appendix B Keyboard Shortcuts The following tables list keyboard shortcuts for MySQ..
mysql workbench 단축키mysql workbench 단축키 mysql workbench는 그다지 아름다운 툴은 아니라고 생각된다. 자잘한 버그들도 많고 UI가 화면을 넘쳐서 클릭하기 어렵다거나. 아무튼 세련되지 않다. 그 중 하나가 단축키에 대한 부분이다. 한줄 삭제를 해보고 싶은 열망에서 시작한 단축키 삽질을 기록해본다. 단축키 단축키 설명 일단 workbench의 단축키는 아래 url에 잘 나와있다. dev.mysql.com/doc/workbench/en/wb-keys.html MySQL :: MySQL Workbench Manual :: B Keyboard Shortcuts Appendix B Keyboard Shortcuts The following tables list keyboard shortcuts for MySQ..
2020.10.14