Language(R, Python, SQL)/SQL 5

[SQL] MysQL 데이터베이스 권한 부여

데이터베이스를 만들고, 데이터베이스 내부에 있는 데이터를 다른 사용자에게 공유하고자 할 때, root 계정을 주는 방식으로 모든 권한을 넘길 수 있다. 하지만, 특정데이터베이스 혹은 특정 테이블에 대한 데이터 정보만 허용하게끔하고자 할때는 어떻게 해야할까? 아래의 방법대로 하게되면 간단하게 유저에 대한 접근 권한을 명령할 수 있다. grant all privileges on DB명.table명 '계정명'@'%' identified by '비밀번호'; grant all privileges on mydb.mytable 'myaccount'@'%' identified by '123456'; DBeaver 혹은 HeidiSQL 같은 DB툴 내에 쿼리를 편집기를 키고, 해당 명령을 한 후 접속해보자. 아래 그림과..

[SQL] HackerRank - SQL Problem <easy>

HackerRank 라는 사이트에 SQL 쿼리 연습을 위한 있는 문제들이 있었다. https://www.hackerrank.com/domains/sql Solve SQL Code Challenges A special-purpose language designed for managing data held in a relational database. www.hackerrank.com 문제 풀이시, 헷갈렸거나 암기가 필요하다고 느꼈던 함수들 위주로 풀이방법을 게재하고자 한다. (MySQL) SelectWeather Observation Station5 (length) 도시 명이 가장 짧거나 긴 row 를 필터링하는 문제다. 여기서 사용되는 주요 함수는 length() 인데, 이 때, limit 1을 적절히 ..

[SQL] String 을 Date 형으로 변환

value가 string 으로 구성되어 있는 데이터를 Date 형으로 처리하고 싶은 경우가 있다. 아래의 그림과 같이, 해당 value는 Month'year 형식으로 되어있는데, 우리가 익히 알고 있는 full date(YYYYMMDD) 로 변경해보고자 한다. string 자체를 substr, concat을 이용해 yyyymmdd string 형식으로 만들고, date type으로 포맷팅하는 방법은 아래와 같다. SELECT AA.string_date, STR_TO_DATE(AA.full_date, '%Y%m%d') AS full_date FROM ( SELECT CONCAT( '20', substr(string_date,5,6), case when substr(string_date,1,3) = 'Jan..