요즘 자꾸 까먹는 거 같다.
자주 쓰지를 않으니.. 

테이블 리스트(컬럼포함) 조회
SELECT *
FROM INFORMATION_SCHEMA.COLUMNS
WHERE TABLE_SCHEMA = '데이터베이스명';
이렇게 하면 조회를 해온다.

테이블 인덱스 조회
SELECT *
FROM INFORMATION_SCHEMA.STATISTICS
WHERE TABLE_SCHEMA = '데이터베이스명';
이렇게 하면 조회를 해온다.

잊어버리지 말자.

작업하던 기능중에 mysql DB에 ','으로 구분되어 있는 값을 검색하는 일이 생겨버렸다.

열심히 찾다보니 좋은 정보를 찾게되어 내용을 정리해서 올려본다.


PHP 함수중에 in_array, array_search 처럼 배열안에 있는 값을 찾을수 있는 MySql 함수를 찾게 되었다.
MySql함수는 find_in_set 함수 이다.

사용방법은 아래와 같다.


ex)

테이블 컬럼에 있는 값이 1,2,3,4, or test, asd, sql, php 등으로 되어 있을경우 사용을 할수 있는거 같다.


1. select test_ex from dum where find_in_set(1, 데이터 컬럼);

2. SELECT *

FROM test1_tbl a, test2_tbl b

WHERE FIND_IN_SET(b.test2_id, a.test1_data) AND

b.test2_name LIKE CONCAT('%', 'TEST', '%');


회사에서 테스트를 하던중  AUTO_INCREMENT의 시작번호를 변경하는 부분이 필요해서 작업하던중 해당 내용을 남긴다.


## 쿼리

alter table 적용할테이블 AUTO_INCREMENT=시작번호

MySql 작업중 해당 데이터베이스를 개발로 옴기는 문제가 생겼는데..

덤프로 떠서 옴기지 않고 데이터베이스와 테이블만 생성을 해서 처리를 하기로 했다.


데이터베이스의 SQL 추출 : 

show create database 데이터베이스명;

결과 :

+----------------+-------------------------+

| Database        | Create Database          |

+----------------+-------------------------+

| 데이터베이스명  | 데이터베이스 생성 구문   |

+----------------+-------------------------+



테이블의 SQL 추출 : 

show create table 테이블명;

결과 :

+-----------+----------------------+

| Table      | Create Table           |

+-----------+----------------------+

| 테이블명   | 테이블 생성 구문       |

+-----------+----------------------+

오늘 작업을 하던중. DB안에 값을 변경해야될 일이 생겼다.

MySql의 특정 필드값을 변경을 하던 내용이다.


update 테이블명 set 필드명 = replace(필드명,변경할문자,변경문자) where 조건


잊지말자.


+ Recent posts