블로그 이미지
progh2
지루한 것에서 벗어나 재미난 것 속으로 풍덩~☆

calendar

1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
31

Notice

Recent Post

Recent Comment

Archive

2013. 11. 16. 18:21 기술문서창고/mysql


MySQL 5버전대부터 사용 가능합니다. 


tinyint(1)과 같은 것으로 boolean 타입이 추가되었고, 저장할 때도 true, false로 저장이 가능합니다만, 저장된 값을 확인해보면 0 (=false), 1(=true)로 저장됩니다.


그러다보니 값을 가져와서 쓸 때, 이 값들이 0과 1로 나와서 약간 곤란할 때가 있습니다.


이럴 경우   IF(칼럼명 , 'true', 'false') as 칼럼명   과 같이 해주면 아쉬운대로 사용할 수 있습니다. 


예를 들면 다음과 같이 말이죠..

select id, title, IF(completed, 'true', 'false') as completed from todo;


참고문서:

http://gyuha.tistory.com/243

http://dev.mysql.com/doc/refman/5.0/en/numeric-type-overview.html


posted by progh2
2013. 1. 27. 13:31 기술문서창고/mysql

최근 MySQL에서 MARIA DB로 넘어가는 분위기인 것 같은데.. 


MySQL 외부 접속 팁. 

계정 사용자 호스트만 %(전체를 의미)로 주면 되는 것이 아니라

서버 설정도 바꿔주어야 한다.

데비안에서 기본적으로 MySQL 서버의 설정이 외부 접속 허용을 막고 있다.


/etc/mysql/my.cnf 파일 안에서 

bind-address = 127.0.0.1 

를 주석처리해야만 외부에서 들어오는 접속을 허용해준다. 

설명에 의하면 이를 주석처리 안해주면 외부 클라이언트 접속을 아예 체크 안한다고 한다.

posted by progh2
2012. 3. 11. 14:55 기술문서창고/mysql
이런 저런 자료를 작업하다보면 한자리 숫자 앞에 '0'을 붙여야 하는 경우가 종종 있다.
예를 들면 학번을 만들 때인데, 학년, 반, 번호 데이터를 가져다가 연달아 붙이는 경우를 들 수 있다.

예를 들어 3학년 1반 1번인 경우..  3101 로 만들어야 할 때가 바로 그 때이다. 

물론 아무생각없이 손으로 하나하나 입력해도 되겠지만..
사람 수가 좀 된다면 참으로 지루하지 않을 수 없다.
따라서 조금 구글링 등을 통해서 찾아봤다.

엑셀
엑셀의 경우는 참 단순히 해결된다. 
text라는 함수를 쓰면 참 허무하게 해결된다. 예를 들어  학년, 반, 번호가 각각 a1, b1, c1 셀에 있다고 할 때 

=concatenate( a1, b1, text(c1, "00" ) ) 


처럼 하면 해결된다. 즉 text가 일종의 양식을 지정하는 것이다.

이처럼 유용한 text함수는 text(c1, "00번")  처럼도 사용할 수 있어 매우 유용하니 잘 알아두자. ^^

MySQL
MySQL의 경우는 쪼~금 복잡한데 
나의 경우는 관련 포맷팅 함수를 찾아보다 좀 단순무식하게 하는 방법을 찾아냇다. 
class_grade를 학년, class_num을 반, student_num을 번호라고 한다면, 다음과 같다. 

 cast( if( student_num < 10, concat(class_grade, class_num, '0',         student_num), concat(class_grade, class_num, student_num))  as char)


cast를 쓴 이유는 blob으로 결과가 리턴되어 결과를 볼 수 없어서 char형(문자열)로 바꿔주기 위함이다. 이런 부분에서는 엑셀의 text 함수가 매우 부러웠다.
posted by progh2
2011. 11. 14. 23:12 기술문서창고/mysql
관련링크: http://sourceforge.net/projects/phpmyadmin/forums/forum/72909/topic/3697310

맥미니서버에 맥포트로 APM을 구성, phpmyadmin 최신 버전을 다운받아 설치했습니다.
하지만 적절한 세팅이 되어있음에도 다음과 같은 에러가 나면서 실행이 되지 않더군요.

#2002 Cannot log in to the MySQL server

그래서 뭐가 문제일까 잠깐 고민하다 구글신께 여쭤보니 위와 같은 링크의 계시가 있었습니다. 요지는 config.inc.php 파일에서 localhost 대신 127.0.0.1 로 접속 주소를 바꾸라는 것.
분명 /etc/hosts 에서 localhost에 대해서 127.0.0.1 로 변환이 되고 있음에도 이상하게 먹히지 않는 것이었습니다. 이유야 어쨌든
$cfg['Servers'][$i]['host'] = 'localhost'; 


$cfg['Servers'][$i]['host'] = '127.0.0.1'; 

로 바꿔주니 잘 작동했습니다.


posted by progh2
2004. 4. 22. 09:56 기술문서창고/mysql
use mysql
create database 디비이름;
insert into db values ('%','디비이름','아이디','y','y','y','y','y','y','y','y','y','y');
insert into user (host, user, Password) values ('localhost','아이디',Password('암호'));
flush privileges;
posted by progh2
prev 1 next