Study/Database11 date() 함수 date() 함수는 날짜를 비교할때 주로 사용됩니다. 특히 datetime 형식으로 DB에 저장하였지만 날짜만 비교하여 가져올때 사용하기 좋습니다. 위 예는 RFID 값을 DB에 입력하는 Table 입니다. RFID를 사용하여 근태관리를 할때 실수로 RFID를 여러번 입력할 수도 있습니다. 이러한 경우를 막기위해 time항목에서 같은날짜의 data가 이미 입력이 되어있는지 확인한 후 없을경우 입력하고, 이미 입력이 되어있는 경우 무시하면 됩니다. date()함수의 사용 사용 방법은 간단 합니다. 1"SELECT COUNT(*) cnt FROM "+table+" WHERE (date(time) =date(now()) and id='"+id+"')"; cs date(time)을 쓰게되면 date값만 가져오게.. 2017. 2. 22. SQL datetime 형식 주의점 SQL에 DATETIME형으로 되어있는 컬럼에 insert시 '0'을 입력하면 SQL에서 error를 출력합니다. 위의 그림안의 EVENT_T 가 datetime 형입니다. 0을 입력하여 insert하게되면 insert가 되지 않습니다. wireshark로 보면 Incorrect datetime value라는 에러를 출력합니다. DATETIME형에는 'yyyy-MM-dd hh:mm:ss'형으로 입력해야 합니다.^^ 2016. 9. 1. db 외부접속 안될때 외부에서 접속을 하기 위해서는 bind-address를 주석처리 해줘야 합니다. 보통은 /etc/mysql/my.cnf 에 있습니다. 하지만 mysql 5.7에서는 위치가 변경되어 있습니다. /etc/mysql/my.cnf 로 들어가 보면 bind-address는 없고 위와 같이 includedir만 존재합니다. /etc/mysql/mysql.conf.d/mysqld.cnf 를 열어보면 있습니다. 위 그림처럼 bind-address 앞에 #을 추가해 주석처리해줍니다. 그리고 mysql을 재시작해주세요. 1sudo service mysql restartcs 2016. 8. 29. mysql 한글 깨질때 php에서 한글데이터를 가져오거나 할때 한글이 깨지는 케이스가 크게 2가지가 있습니다. 첫번째 인코딩이 맞지 않을때!! 우선 php 설정이 한글로 되어 있어야 합니다. 보통 collation을 utf8_general_ci 으로 설정해 주면 됩니다. 설정후 한글 데이터를 입력하면 php내에서 한글이 깨지지 않습니다. 그리고 쿼리를 실행합니다. json으로 print 했더니 위와 같이 한글이 깨져서 나옵니다. 123456789101112$con = mysql_connect($host,$uname,$pwd) or die("connection failed");mysql_select_db($db,$con) or die("db selection failed"); mysql_query("set session char.. 2016. 8. 10. SQL (DATABASE) 명령어4-Having 앞서 포스팅한 SQL (DATABASE) 명령어3-Group by 에서 데이터를 쿼리할 때 일정 조건에 따라 그룹을 만들어 쿼리하는 것을 보았습니다. having은 이 그룹에 또다른 조건을 걸어 쿼리할 때 사용합니다. where과 비슷한데, where은 컬럼에 대해 조건을 걸지만, having은 그룹에 조건을 겁니다. 1select count(Consumption),Time from All_Consumption_201510 group by Hour(Time);cs Consumption이 기록된 갯수를 시간단위로 가져왔습니다.015여기에 조건을 걸어보겠습니다. 갯수가 30개 이상인 경우만 가져오는 조건입니다. 1select count(Consumption),Time from All_Consumption_2.. 2016. 7. 28. SQL (DATABASE) 명령어3-group by 이번에는 저번에 이어 일정 조건으로 그룹을 짓는 방법에 대해 알아보겠습니다. group by는 말 그대로 같은 것 끼리 그룹을 짓는 것을 뜻합니다. 지난 포스트에서 사용한 DB와 TABLE을 그대로 사용해 보겠습니다. 먼저 where문을 사용하지 않고, 쿼리를 해보겠습니다. 1select Consumption,Time from All_Consumption_201510;cs 지난 포스트를 보시면 아시겠지만 270개나 되어 잘랐습니다^^;; 그럼 group by를 사용하여 그룹을 지어보겠습니다. 우선 Consumption 값으로 그룹을 지어보겠습니다. 1 select Consumption,Time from All_Consumption_201510 group by Consumption;cs Consumptio.. 2016. 7. 27. 이전 1 2 다음 인기글