데이터 베이스를 다루실 때, User를 관리하는 것도 꽤 중요한 일 중 하나입니다. mysql에서 유저를 어떻게 추가하는지 간단하게만 짚고 넘어가 보겠습니다. 8버전 들어오고 나서 부터, 인증 방식도 상당히 많아졌는데, 이들에 대해서는 천천히 알아보도록 하겠습니다. 당연하게도, 공식 레퍼런스 문서인 링크에 설명이 잘 되어 있습니다. 이것을 기반으로 간단하게 실습만 해 보도록 하겠습니다. 레퍼런스에 따르면, mysql.user에 무언가 특별한 정보들이 저장이 되어 있다고 합니다. 이 중에서 여기서 다룰 중요한 정보들만 짚고 넘어가 보겠습니다. Host와 User, PlugIn을 보겠습니다. User는 유저 이름이고, Plugin은 무엇인지는 잘 모르겠습니다만, caching_sha2_password가 눈에..
mysql 검색 결과
crud를 구현하실 때, update 문도 상당히 많이 쓰는 편입니다. 예를 들어 게시물 수정. 그렇게 내용이 길지는 않으니 천천히 보셔도 좋을 듯 싶습니다. 먼저 instructor 테이블을 보겠습니다. 전체 레코드의 모든 필드들을 조회하기 위해서 select * from instructor 쿼리를 입력하였습니다. 이것을 salary 내림차순으로 정렬하였습니다. 저는 이 중에서 2번째와 3번째의 salary 값에 집중해 보도록 하겠습니다. update 다음에 테이블 명이 오고, set 다음에 어떠한 필드를 어떤 값으로 업데이트 할 것인지가 옵니다. 이 예제는, 모든 교수들의 연봉을 10% 인상하는 쿼리입니다. 실행 후에, 다시 instructor 테이블을 보시면, 모든 교수의 연봉이 10% 인상된 것을..
ip 주소를 sql에서 다루어야 할 일이 있습니다. 오늘은, ip address를 unsigned integer로 바꾸는 함수와 unsigned integer를 다시 ip addr로 바꾸는 함수를 알아보도록 하겠습니다. 당연하게도, ipv4인 경우이고요. ipv6인 경우는 따로 있습니다. inet_aton과 inet_ntoa는 크게 어렵지 않습니다. 단순하게 해석해 봅시다. a는 Address의 약자일 겁니다. 그리고 n은 Number일 거고요. 중간에 to는 AtoB할 때 그 to가 맞습니다. 즉, A에서 N으로 변환하는 함수가 aton이고, N에서 A로 변환하는 함수가 ntoa인 셈입니다. ipv4 시스템에서, 255.255.255.255까지 나올 수 있습니다. 이 값을 numeric address로..
생활코딩에 올라왔던 질문을 해결해 보도록 하겠습니다. google 코드 잼 등을 보면, 라운드들이 있어요. 그 중, 1차 라운드, 2차 라운드, 3차 라운드가 있어서, 이들 중 한 라운드에 통과하면, 다음 라운드에 진출한다는 규칙도 있습니다. 이런 것은 SQL로 어떻게 처리하면 좋을까요? test table은 아래와 같이 주어져 있습니다. 여기서 name은 유저 이름, _check는 각 시험에 통과했는지를 나타냅니다. 여기서 _check는 'Y'나 'N'만 나올 수 있습니다. null 값은 허용이 되지 않는다고 해 봅시다. 어떠한 유저가 x차 라운드 중 최소한 하나 이상 통과했다면, 통과 여부를 'Y'로, 아니면 'N'으로 표기하고 싶습니다. 다시 조건을 보면, 'Y'가 하나라도 있으면, 통과라고 했습니..
월별로 주문 횟수를 출력하세요. 혹은 요일별로 주문 횟수를 출력하세요. 정도는 많이 나오는 쿼리 중 하나입니다. 오늘은 이 중, 요일별로 주문 횟수를 출력하는 방법을 알아보도록 하겠습니다. sakila 데이터 베이스에는 rental 테이블이 있습니다. 오늘은 그것을 가지고 놀아보겠습니다. 먼저, 두 함수를 보도록 하겠습니다. date를 넘겨주면, dayofweek는 수를, dayname은 요일 이름을 돌려줍니다. 예를 들어서, date가 '2020-03-20'이라고 한다면, 후자의 리턴 값은 'Friday'가 됩니다. 문제는 dayofweek가 리턴하는 정수 값입니다. 위 표는 해당 date가 무슨 요일 (오른쪽) 일 때, 어떤 값을 리턴하는지 (왼쪽) 나타낸 것입니다. 만약에, '2020-03-20'이..
최근댓글