데이타베이스내에 해당 테이블이 존제하지 않을때 생성하는 방법
조회 1,689 2026-08-18 등록
로그인하면 의견을 남길 수 있습니다.
아직 의견이 없습니다. 첫 의견을 남겨보세요.
게시글
다른 데이타베이스내에 있는 테이블을 복사하는 방법
다른 "A"디비에있는 "가"테이블을 "B"디비에있는 "가"테이블에 입력하려면insert into 테이블1 select * from 테이블2 where 1 지리문의 확장을 생각해보면된다 이때 해당 A,B디비에 접근하는 방법은 의외로 간단하다 A.가 "A"디비에 있는 "가"테이블 B.가 "B"디비에 있는 "가"테이블 이렇게 접근하면된다 insert into B.가 select * from A.가 where 1 이런 지리문으로 A->B로 입력할수 있다 그런데 이때 PHP소스에서 적용하려면 좀 난감한 부분이 있다 mysql_query($sql,$dbcon_A);이런식으로 A디비에 접근하고 mysql_query($sql,$dbcon_B);B디비에 접근하는데 이걸 어떻게 2개의 디비에 동시에 접속할수 있을까 이다 그런나 의외로 간단한데 root권한으로 접속하면된다 mysql_query($sql,$dbcon_root); 이렇게 접근하면 A.가, B.가에 접근할수 있다
다른 테이블에 있는 내용을 insert 하는 방법
테이블 내의 레코드를 그대로 입력하는 방법 내용을 select 한다음 내용을 insert하면된다 이때 따움표나 이런것때문에 문제가 생길수 있는데 이때를 위해 PHP에선 addslashes() 함수를 사용해서 입력한다 이건 뭐 간단하게 생각하면될문제이다 그러나 소개하고자 하는것은 좀더 효율적으로 처리하기위한 방법이다 지리문 자체에서 insert하는 방법이다 insert into 테이블1 select * from 테이블2 where 1 테이블2에 있는 내용을 테이블1에 insert하는 방법이다 위와 같은 방법으로 하면 속도면이나 프로그램 소스가 현저하게 줄어들게된다 물론 해당 필드명을 하나하나 코딩할 필요도 없다
like 아닌것만 호출하는 법
검색할때 like를 사용한다 그러나 해당 문구가 안들어간 내용을 호출할때 사용하는 방법이다 필드면 !like '%검색문구%' -> 이런식으로 사용할것 같지 만 그렇지 않다 select * from tablename where 1 and !(필드명 like '%검색내용%') 검색내용이 없는 레코드를 호출하게 된다
테이블2개일때 차집합,교집합 구하는 방법
A테이블,B테이블 각각존제할때 A.idx_code -> 1,2,3,4 B.idx_code -> 2,3 일때 B.idx_code값을 빼고 A.idx_code -> 1,4만 호출하는 방법 select * from A where code not in (select idx_code from B) -> 차집합을 구할수 있다 select * from A where code in (select idx_code from B) -> 2,3처럼 교집합 내용을 구할수 있다
2개이상 중복되는 내용을 검색하는 지리문 having
2개이상 중복되는 데이터를 뽑아와야 하는경우가 있다 예를 들어 결제 내역중에 2번이상 결제한 사람을 뽑아오는 경우가 그렇다 select *, count(*) as count1 from 테이블명 where 1 group by 회원아이디필드 having count1 > 2 이렇게 하면 2번이상인 경우를 검색할수 있다
mysql 계정추가및 권한 부여
계정을 생성하게 되면 계정생성과 권한부여를 동시에 이루어집니다 mysql> create database ${ID} ; mysql> use mysql; mysql> grant all privileges on ${ID}.* to ${ID}@localhost identified by '${PASS}' with grant option; mysql> flush privileges;
서브쿼리의 기본
select * from table where 1 and idx_code in (1,2,3,4,5) idx_code값중에 1,2,3,4,5를 가져온다 select * from table where 1 and idx_code not in (1,2,3,4,5) idx_code값중에 1,2,3,4,5아닌것을 가져온다 select * from table where 1 and idx_code in (select sidx_code table1 where 1) 검색된 내역중에 데이타 table1.sidx_code와 table.idx_code가 일치하는 내역만 호출
게시물 작성중에 최근 등록한 사람 아이디별로 노출하기
10명의 사람이 글을 여러게 올려놓았을때 최근에 올린 사람3명을 불러오기 위한 지리문 select distinct(이름) from tablename where and sidx_code='$key_code' order by 날짜 desc
의견 0
로그인하면 의견을 남길 수 있습니다.
아직 의견이 없습니다. 첫 의견을 남겨보세요.