WEB/MySQL 12

[MySQL] 스토리지엔진 innoDB와 MyiSAM

데이터 접근의 방식이 다르다. InnoDB와 MyiSAM이외에도 Cluster(NDB), Archive, Federated등의 타입이 있다. MyiSAM은 Full-Text 인덱스를 지원하고 인덱스에 메모리 캐시를 지원하지만트랜잭션은 미지원, 컬럼의 변경이나 삭제 등등의 기능은 좋지 못하지만 데드락은 예방할 수 있다. InnoDB는 ACID 트랜잭션을 지원하지만 MyiSAM보다 로드가 느리다.데이터 압축이 불가능하지만 에러복구기능이 있다 Cluster(NDB)트랜잭션 지원, 매우 빠른 속도, PK사용시 최상의 속도 Archive5.0부터 추가된 엔진, 자동 데이터 압축이 되지만 Insert와 Select만 가능하고타 엔진보다 공간 절약이 좋다 Federated5.0부터 추가되었으며 분산 데이터베이스 환경..

WEB/MySQL 2015.03.19

[MySQL] left join on 다른 테이블의 데이터를 가져올때

union이나 union all과는 다르게 a테이블에서 b테이블의 내용을 가져오고자 할때 사용한다. 가령, A테이블에 code, price가 있고 B 테이블에 A에 상응하는 code, name이 있다고 가정할대 기준점이 B테이블이라고 하자. $sql = "select b.*, a.price from B_table as b left join A_table on (b.code = a.code) where b.name = '뽀로로'"; $result = mysql_query($sql); 위와 같이 테이블을 지정하고 on ( 조건 )을 입력해서 사용한다.

WEB/MySQL 2012.02.16

[MySQL] 테이블 초기화, 테이블 비우기

작업하다보면 auto_increment 등이 걸려있어 초기화를 해야할 경우가 있다. 데이터를 삭제하다보면 위와같은 상황인 경우 idx번호등등이 공란이 생기기 때문에 테이블을 삭제한후 새로 작성해야 하는 경우가 생기는데 쉽게 테이블을 초기화 할수 있다. truncate `tblName`; tblName 대신 table명을 실행하면 초기화된다. 초기화하기전엔 데이터의 중요성을 다시 한번 확인하기 바란다.

WEB/MySQL 2012.01.02

[MySQL] REPLACE 사용법, 문자열 치환방법

php를 거치지 않고 직접 쿼리로 문자열을 치환할때 사용한다. php의 str_replace를 써도 무방할때가 많지만 치환할 상대가 변수로 대응해야 할때가 아니라면 쿼리에서 직접 수정하는것이 더 좋다. $sql = "update tblName set fieldName = REPLACE(fieldName, " ", ""); where 이후 조건문이 없기때문에 tblName 테이블의 전체에 fieldName필드의 공백을 없애는 쿼리문이다. 이 역시 숙지하면 좋다. @_@

WEB/MySQL 2011.05.24