728x90

동적으로 DB 에서 테이블을 생성하는 경우가 분명히 쓰일때가 있을겁니다.

 

이럴경우 테이블을 생성할때 DB안에 같은 이름이 존재하는지, 등등의 확인과정을 할려면

DB안에 테이블이 있는가, 몇개나 있는가 등등을 알고 싶을 경우가 있습니다.

 

그럴경우 Mysql에서는 Information_schema 를 쓰면 되더군요.

 

뭐 물론 간단히 같은이름의 테이블이 존재하려는지 알고 싶다면 LIKE를 써서 조건을 지정해줘서 찾아도 될겁니다...

 

자 그럼 본론으로 와서

Information_schema는 일단 MySQL5 에서부터 추가되어서 MySQL4 이하에서는 사용할수 없다고 합니다.

 

SELECT COUNT(*) FROM information_schema.tables WHERE table_schema = ‘DB명‘;

 

 

사진에서 보이시나요, 해당하는 db에 존재하는 테이블의 개수를 count를 써서 알아낼수 있습니다.

 

SELECT table_name, table_type, engine FROM information_schema.tables WHERE table_schema = ‘DB명‘;

 

 

이렇게 또 count 가 아니라, 추출해 낼려는 속성을 따로 지정해주면 또 존재하는 테이블의 이름이라던지, 타입이라던지 등

 

등도 알아 낼수 있더 군요

 

음.. 하나 오해하실까바 .. 일단 db명이 trashdb인데 .. 이건 db를 싫어하는게 아니라 제가 하고 있는 프로젝트가 쓰레기라는

 

키워드를 이용한 프로젝트라 이름을 대충 저렇게 지어 논겁니다... 오해 ㄴㄴ..

 

자세하게 더 알고 싶으신분들은 http://dev.mysql.com/doc/refman/5.0/en/information-schema.html 이 링크로 들어가시면 더 잘 알아 보실수 있을듯 합니다.

 

 

728x90

'DB' 카테고리의 다른 글

mysql 에서 쓸수있는 함수들 정리 中  (0) 2014.06.12
Posted by 정망스
,
728x90

 

 

어느순간 잘되던 mysql, 평소와같이 mysql -u root -p를 입력하고 비밀번호 입력했는데 뭐임..

1045 에러남.. 뭐임 그래서 방법을 알아냄 혹여나 같은분들 있으실까바 올림

 

이 에러는 계정 권한 문제이기때문에 root 계정이 mysql을 실행할 권한이 없어서 생기기도 하고 ID, Password 입력시 대소문자를 정확히 입력 안해서 생길수도 있다고 한다.

 

비밀번호를 지정하지 않으셧을 경우에는

mysql -u root 로 입력하시고 접속해보시면 될겁니다.

 

비밀번호를 지정하셨을 경우에는

mysql -u root -p 로 입력하시고

Enter password: 비밀번호 입력 해보시면 될겁니다.

 

저는 웃기게도 영어에 지금 패스워드 사용중에 yes라고 되있는데도 되지 않고 mysql -u root로 입력하니 되더군요

 

비밀번호를 설정하지 않으신 상태인분들은 설정하시려면

 

mysql> use mysql

Database changed

mysql> update user set password=password('비밀번호입력') where user='root';

Query OK, 1 row affected (0.00 sec)

Rows mtched: 1 Changed: 1 Warnings: 0

 

과 같은 과정을 거치시면 될겁니다. 간단하게 비밀번호 입력란에 입력한 비밀번호로 root 계정을 업데이트 해주는겁니다.

 

했는데도 적용이 안된다, 비밀번호를 입력해도 또 접속이 안된다 하시는분들은

 

mysql>flush privileges;

 

한번 해주세요 그럼 되더라구요.

728x90

'JSP_Servlet' 카테고리의 다른 글

RequestDispatcher 이란?  (0) 2013.10.11
톰캣에서 인코딩 설정  (1) 2013.10.07
익스프레션 정리  (0) 2012.07.19
JSP와 서블릿  (0) 2012.07.13
Posted by 정망스
,


맨 위로
홈으로 ▲위로 ▼아래로 ♥댓글쓰기 새로고침