1. 날짜 및 시간을 출력하는 기본적인 함수 SELECT NOW(), CURDATE(), SYSDATE(); 2. 날짜 간격을 구하는 함수 SELECT DATEDIFF('2021-02-26','2020-08-21'), TIMESTAMPDIFF(SECOND, NOW(), '2020-12-25 00:00:00'); DateDiff() : 날짜간격을 일단위로 리턴 TimeStrampdiff () : 날짜간격을 초단위로 리턴 3. 각종 날짜관련 함수 SELECT YEAR(NOW()), MONTH(NOW()), DAY(NOW()), WEEKDAY(NOW()), DAYOFWEEK(NOW()), WEEK(NOW()); weekday() : 요일 (월:0) dayofweek() : 요일 (일1..) SQL 예제1. 직..
# 문자열의 위치 # find_in_set(찾을 문자열, 찾을 대상) : 찾을 대상에서 문자열의 위치를 리턴함 SELECT FIND_IN_SET('c', 'a,b,c,d,e,f')
SQL을 사용해서 데이터를 다룰 때 공백과 관련된 문제가 발생할 수 있는데 이때 공백을 제거하는 함수로 TRIM 함수를 이용할 수 있다. 1 2 3 4 SELECT CONCAT(' abcd ', '--') AS a # 공백이 있는 상태 SELECT CONCAT(TRIM(' abcd '), '--') AS a # trim 함수로 공백제거상태 SELECT CONCAT(LTRIM(' abcd '), '--') AS a # 왼쪽 공백제거 SELECT CONCAT(RTRIM(' abcd '), '--') AS a # 오른쪽 공백제거 cs TRIM 함수는 공백만이 아니라 특정 문자열을 지정해서 지정한 문자열을 제거하는데 사용할 수 있다. 1 2 3 4 5 6 7 # 0001234000 : 양쪽 0을 제거 SELEC..
콘솔에서 접속하거나 파이썬, 자바 등에서 DB를 연동할 때 기본적으로 필요한 정보들은 DBMS에서 접속할 때와 동일하다. - DB 접속시 필요한 정보 1. host 2. Port 3. 사용자 4. 비밀번호 # 콘솔에서 접속시 명령어(Port의 P는 대문자, password의 P는 소문자로 작성) mysql -h127.0.0.1 -P3306 -uroot -p123456 위처럼 로컬호스트에서 직접 접속하는 경우 host와 port 부분을 작성하지 않아도된다. mysql -p -uroot 만 작성하면 password를 작성하라고한다. # 파이썬 에서 DB 연동시 DB를 연동할 때에는 사용할 데이터베이스를 적어주는 경우도 있다. import mysql.connector config = { 'user':'root..
Maria DB에서 sql을 사용할 때 암호화를 지원하는 함수들을 사용할 수 있다. 만약 어떤 A라는 계정의 비밀번호가 'test1243'라고 하자. 만약 DB가 해킹되어 해커가 데이터를 긁어갔다 하더라도 만약 암호화가 되어있으면 복호화를 하지않는이상 문제가 발생할 여지가 없다. SELECT PASSWORD('test1234'); 위와 같이 실행해서 보면 다음과 같이 비밀번호가 암호화된다. 하지만 이 PASSWORD 함수를 통한 암호화는 취약하다는 평가(복호화가 쉽다는)가 존재하여 1990~2000년대 초반에는 아래와 같이 MD5라는 해시 함수를 사용하였다. SELECT MD5('test1234'); 이러한 MD5 조차 2004년에는 해시 충돌에 취약하고, 빠른 계산 속도로 인해 레인보우 테이블을 통한 ..