DB/mysql
-
https://dev.mysql.com/doc/refman/8.4/en/identifier-case-sensitivity.html MySQL :: MySQL 8.4 Reference Manual :: 11.2.3 Identifier Case Sensitivity11.2.3 Identifier Case Sensitivity In MySQL, databases correspond to directories within the data directory. Each table within a database corresponds to at least one file within the database directory (and possibly more, depending on the storage engine)..
SQL 작성 시 테이블 이름의 대소문자 구분https://dev.mysql.com/doc/refman/8.4/en/identifier-case-sensitivity.html MySQL :: MySQL 8.4 Reference Manual :: 11.2.3 Identifier Case Sensitivity11.2.3 Identifier Case Sensitivity In MySQL, databases correspond to directories within the data directory. Each table within a database corresponds to at least one file within the database directory (and possibly more, depending on the storage engine)..
2025.01.01 -
이번 포스트에서는 데이터 저장 시 사용되는 character set과 collation에 대해 살펴보자. character set vs collation 기본 설정mysql에서는 database 생성 시 character set과 collate를 설정할 수 있다. 생략시에는 mysql 서버의 기본 설정을 따른다.create database samplecharacter set utf8 collate utf8mb4_0900_ai_ci;여기서 character set과 collate의 의미에 대해 살펴보자.character setcharacter set은 데이터베이스에 저장할 수 있는 문자들의 집합을 의미한다. 이 문자 집합은 데이터베이스가 어떤 문자들을 인식하고 저장할 수 있는지를 결정하다. 예를들어 지금..
[mysql]character set과 collation이번 포스트에서는 데이터 저장 시 사용되는 character set과 collation에 대해 살펴보자. character set vs collation 기본 설정mysql에서는 database 생성 시 character set과 collate를 설정할 수 있다. 생략시에는 mysql 서버의 기본 설정을 따른다.create database samplecharacter set utf8 collate utf8mb4_0900_ai_ci;여기서 character set과 collate의 의미에 대해 살펴보자.character setcharacter set은 데이터베이스에 저장할 수 있는 문자들의 집합을 의미한다. 이 문자 집합은 데이터베이스가 어떤 문자들을 인식하고 저장할 수 있는지를 결정하다. 예를들어 지금..
2024.09.09 -
#1. 영화점 직원의 연락처 조회 당신은 DVD 대여점 체인의 데이터베이스 관리자입니다. 본사에서는 첫 번째 영화점(store_id=1)에서 근무하는 모든 직원의 이름(이름과 성을 공백으로 구분하여)과 연락처를 요청하였습니다. 이 정보는 향후 직원들과의 긴급 연락을 위해 필요합니다. 데이터베이스 조회를 통해 이 정보를 제공해야 합니다. 테이블명 staff: first_name, last_name, address_id, store_id 테이블명 address: address_id, phone 결과 예시: #2. 특정 국가의 고객 연락처 및 위치 정보 조회 당신은 국제 영화 대여 회사의 데이터베이스 관리자입니다. 회사는 마케팅 캠페인을 위해 'South Korea'에 거주하는 모든 고객의 이름(이름과 성을 ..
[sakila] join & subquery 연습#1. 영화점 직원의 연락처 조회 당신은 DVD 대여점 체인의 데이터베이스 관리자입니다. 본사에서는 첫 번째 영화점(store_id=1)에서 근무하는 모든 직원의 이름(이름과 성을 공백으로 구분하여)과 연락처를 요청하였습니다. 이 정보는 향후 직원들과의 긴급 연락을 위해 필요합니다. 데이터베이스 조회를 통해 이 정보를 제공해야 합니다. 테이블명 staff: first_name, last_name, address_id, store_id 테이블명 address: address_id, phone 결과 예시: #2. 특정 국가의 고객 연락처 및 위치 정보 조회 당신은 국제 영화 대여 회사의 데이터베이스 관리자입니다. 회사는 마케팅 캠페인을 위해 'South Korea'에 거주하는 모든 고객의 이름(이름과 성을 ..
2024.04.09 -
mysql sakila 데이터베이스를 활용하여 단일항 함수를 연습해보자. #1staff의 first_name과 글자수를 출력하고 마지막에 홍길동의 글자수를 출력하시오. #2staff 테이블에서 홍길동: 비밀번호 형태로 출력하시오. 단 아직 비밀번호가 없는 경우 등록후 사용이라고 출력하시오. #3city에서 도시명의 3번째 글자가 모음인 경우를 조회하시오. (city_id 오름차순 정렬) #4city의 도시명을 아래와 같이 출력하시오.(city의 길이로 정렬한다.)[ A Corua(La Corua)] (도시명의 총 글자 수는 [] 를 포함 22자이다.) #5address의 phone을 1234XXXXX1234의 형태로 출력하시오.(단 phone은 길이가 0이상이어야 한다.) #6customer에서 ema..
[sakila] 단일행 함수 활용 연습mysql sakila 데이터베이스를 활용하여 단일항 함수를 연습해보자. #1staff의 first_name과 글자수를 출력하고 마지막에 홍길동의 글자수를 출력하시오. #2staff 테이블에서 홍길동: 비밀번호 형태로 출력하시오. 단 아직 비밀번호가 없는 경우 등록후 사용이라고 출력하시오. #3city에서 도시명의 3번째 글자가 모음인 경우를 조회하시오. (city_id 오름차순 정렬) #4city의 도시명을 아래와 같이 출력하시오.(city의 길이로 정렬한다.)[ A Corua(La Corua)] (도시명의 총 글자 수는 [] 를 포함 22자이다.) #5address의 phone을 1234XXXXX1234의 형태로 출력하시오.(단 phone은 길이가 0이상이어야 한다.) #6customer에서 ema..
2024.03.13 -
mysql sakila database를 이용해서 기본 쿼리를 연습해보자. #1address에서 "Way"가 포함된 고객을 대상으로 이벤트를 진행하려고 한다. 대상 고객의 전화번호를 출력해보자. 단 대소문자를 구별함에 주의하자. #2고객의 충성도를 높이기 위해 새로운 적립금 시스템을 도입하기로 결정했습니다. 이 시스템의 핵심은 고객이 각 결제 때마다 결제 금액의 10%를 적립금으로 받는 것입니다. 이 새로운 시스템을 지원하기 위해, 모든 결제 내역에서 결제 금액, 적립될 금액(결제 금액의 10%), 고객 번호, 결제 금액, 담당자 아이디를 출력하시오. #3영화의 등급에 따라 상세한 설명을 제공하는 조회를 필요로 합니다. 각 영화의 ID와 등급을 표시하되, 'G'는 'General Audiences', '..
[sakila] 기본 쿼리 연습mysql sakila database를 이용해서 기본 쿼리를 연습해보자. #1address에서 "Way"가 포함된 고객을 대상으로 이벤트를 진행하려고 한다. 대상 고객의 전화번호를 출력해보자. 단 대소문자를 구별함에 주의하자. #2고객의 충성도를 높이기 위해 새로운 적립금 시스템을 도입하기로 결정했습니다. 이 시스템의 핵심은 고객이 각 결제 때마다 결제 금액의 10%를 적립금으로 받는 것입니다. 이 새로운 시스템을 지원하기 위해, 모든 결제 내역에서 결제 금액, 적립될 금액(결제 금액의 10%), 고객 번호, 결제 금액, 담당자 아이디를 출력하시오. #3영화의 등급에 따라 상세한 설명을 제공하는 조회를 필요로 합니다. 각 영화의 ID와 등급을 표시하되, 'G'는 'General Audiences', '..
2024.03.13 -
이번 포스트에서는 알아두면 유용한 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