본문 바로가기

전체 글

(189)
Mysql 트랜잭션 사용하기 [ 트랜잭션 이란 ? ] 어떤 작업을 수행할 때 작업이 실패하더라도 이 잘못된 작업이 실질적으로 수행해야 할 작업에는 영향을 미치지 않도록 하는 기능이다. 예를 들어서, 내가 계좌이체를 승인하는 버튼을 눌렀을 때 정전이 일어났을 경우 이미나의 통장에서는 돈이 빠져나간 상태이고 상대방에게는 이체가 되지 않은 상황이 발생하게 된다. 그럼 이 돈은 어떻게 되는 것 일까요? 이러한 문제가 발생하지 않도록 해주는 기능을 트랜잭션이라고 할 수 있겠습니다. mysql에서의 트랜잭션은 버전 3.23.x 버전부터 지원가능 합니다. 그러므로 3.22.x 버전 사용자를 트랜잭션을 사용할 수 없게 되어있습니다. 3.23.x 버전에서 트랜잭션기능을 사용하기 위해서는 버클리대학에서 만든 버클리 DB를 설치해야 합니다. 이 버클리..
Mysql 테이블 Join 간단히 말하면 join은 두개 이상의 테이블로부터 필요한 데이터를 연결해 하나의 포괄적인 구조로 결합시키는 연산이다. 예를 들어, 한 컴퓨터 제조업자가 자신의 데이터를 능률적으로 관리하기 위한 데이터베이스가 필요하다고 하자. 이 데이터들은 주문, 고객, 생산과 같은 어떤 일관성있는 개념과 관련된 각각의 데이터들이 모여 다양하고 간결한 테이블들을 이룰 것이다. 테이블을 생성한 후에는, 다양한 예를 들어 데이터베이스에서 가장 많이 사용되는 join의 조작법에 대해 설명하겠다. 첫번째 테이블은 제조업자가 분류한 다양한 타입의 PC들의 데이터로 구성될 것이다. ---------------------------------------------- mysql> create table pcs ( -> pid INT, ..
MySQL VIEW 사용법 CREATE VIEW MySQL 5 버전 이후 부터는 VIEW를 사용할 수 있다.아래와 같은 구조의 테이블 tData1, tData2 를 생성했다.(여기서 tData1 과 tData2 의 참조관계는 없으며 이해를 돕기 위해 작성한 테이블이다.)-- Data1 테이블 작성 CREATE TABLE tData1 ( idx int(10) unsigned NOT NULL auto_increment, nMoney int(10) NOT NULL default '0', nDate int(10) NOT NULL, PRIMARY KEY (idx) ) ENGINE=MyISAM DEFAULT CHARSET=utf8; -- Data2 테이블 작성 CREATE TABLE tData2 ( idx int(10) unsigned NO..
Index 정의 INDEX의 의미? RDBMS에서 검색속도를 높이기 사용하는 하나의 기술이입니다.INDEX는 색인입니다. 해당 TABLE의 컬럼을 색인화(따로 파일로 저장)하여 검색시 해당 TABLE의 레코드를 full scan 하는게 아니라 색인화 되어있는 INDEX 파일을 검색하여 검색속도를 빠르게 합니다.이런 INDEX는 TREE구조로 색인화합니다. RDBMS 에서 사용하는 INDEX는 Balance Search Tree 를 사용합니다.실제로는 RDBMS 에서 사용되는 B-Tree 는 B-Tree 에서 파생된 B+ Tree 를 사용한다고 합니다. 참고로 ORACLE이나 MSSQL에서는 여러종류의 TREE를 선택하여 사용가능하다. INDEX의 원리? INDEX를 해당 컬럼에 주게 되면 초기 TABLE생성시 만들어진 ..
MySQL Data Type 데이터 타입 MySQL 은 다양한 데이터 타입을 제공합니다. 아래 표를 보시면 데이터 형 , 범위 그리고 데이터 크기를 보실 수 있습니다. 데이터 타입은 실제 입력하는 데이터 형에 맞추어서 최소한의 크기로 잡아 주어야 합니다. 아래 표를 보시면 데이터 형과 그 값의 범위 그리고 크기에 대해서 보실 수 있습니다. MySQL에서 지원하는 데이터 형(MySQL DataTypes) 형태데이터형범위크기숫자형TINYINT-128 ~ 128 , 0 ~ 2551 ByteSMALLINT-32768 ~ 32767 , 0 ~ 655352 ByteMEDIUMINT-8388608 ~ 8388607, 0 ~ 167772153 ByteINT, INTEGER-2147483648 ~ 2147483647, 0 ~ 42949672954 ..
[MYSQL] timestamp 와 datetime의 차이 TIMESTAMP(타임스탬프)와 DATETIME 타입의 차이 datetimetimestamp 날짜 범위1000-01-01 00:00:00 ~ 9999-12-31 23:59:591970-01-01 09:00:00 ~ 2037-12-31 23:59:59 저장 형태문자형숫자형 저장 크기8Byte4Byte 자동 입력X CURRENT_TIMESTAMP 지원 타임스탬프 시작일시가 1970-01-01 00:00:00 이라고 나와있는 경우가 많은데 PHP에서 실제 mktime으로 확인해 본 결과 1970-01-01 09:00:00 부터 시작이 됨.타임스탬프는 current_timestamp를 지원하기 때문에 DB자료 입력시 자동날짜 입력이 되기때문에 작성일 항목에 이용하기 적합하다.
CentOS 에서 파이썬 2.6 설치 1. 다운로드 http://www.python.org/ftp/python 에서 2.6.5 디렉토리를 click하여 Python-2.6.5.tgz을 다운로드한다.2. 압축 해제 tar xvf Python-2.6.5.tgz3. compile cd Python-2.6.5 su ./configure –prefix=/opt/python2.65 –with-threads –enable-shared make4. 설치 make install5. symbolic link ln -s /opt/python2.65/bin/python /usr/bin/python2.656. library 설정 cat >> /etc/ld.so.conf.d/opt-python2.65.conf /opt/python2.65/lib [enter를 누름]..
CentOS 게스트확장설치 본 문서는 "CentOS 리눅스 구축관리 실무" 서적의 VirtualBox 부분으로 책의 분량이 많아 내용에 포함하지 않은 부분이다. 버추얼 박스상에 CentOS 리눅스를 설치했다면 기본적인 해상도는 800x600이다. 그런데 나는 1024x768이상의 해상도를 사용하고 싶다. 그리고 클립보드와 공유폴더를 공유하고 싶다. 이럴때는 버추얼 박스의 게스트인 CentOS 리눅스상에 게스트 확장을 설치하면 된다. 설치는 아주 간단하며, 설치후 재부팅하면 적용된다. 1. 설치는 아래 그림과 같이 VirtualBox의 장치 메뉴에서 가장 아래에 보이는 "게스트 확장 설치"를 클릭하면 게스트 확장용 이미지가 /media 디렉토리 아래로 마운트 된다. 2. 일반유저로 로그인 되어 있는 상태에서 su - 명령으로 roo..