Search Results for 'MySQL'


3 posts related to 'MySQL'

  1. 2011/03/31 MySQL GUI Tool HeidiSQL Autocommit 안되도록
  2. 2007/05/29 여러가지 명령정리
  3. 2007/05/29 수치 데이타 타입
이번 프로젝트에서 MySQL 5.1 버전에 InnoDB 엔진으로 개발을 진행하는데 매번 GUI Tool 없이
MySQL Client로 접속하는것은 매우 귀찮은 일이라 여겨, 가볍고 무료인 HeidiSQL을 사용하기로 했다.

보통의 Database Client GUI 프로그램들이 GUI 차원에서 AutoCommit 설정을 할 수 있도록 되어 있는 반면
이 HeidiSQL(현재 버전 6.0)은 그런 설정이 없는게 아닌가~
좀, 아쉬웠다.

하지만, 역시 인터넷을 찾아보면 답이 있더라~
Query Edit 창에서 입력해야 하지만, 지원은 되더군.

아래는 예제이다.
set autocommit=false;

insert into t1 (tmp1, tmp2) values ('1','2');
commit;

update t1 set tmp2='3' where tmp1='1';

rollback;


Connection session에만 autocommit 설정을 할 수 있으니, Connection 종료 후
다시 Connection을 맺으면 매번 set autocommit=false; 를 입력해 줘야 한다.

MySQL Client console에서도 동일하게 적용된다는 의미.



2011/03/31 16:53 2011/03/31 16:53

여러가지 명령정리

MySQL 2007/05/29 15:08
mysql> show variables;                                              서버의 variables(설정사항)출력
mysql> show variables like 'have_inno%'                             조건에 맞는 variables만 출력
mysql> show databases;                                              database목록
mysql> show tables;                                                 현재DB의 테이블목록(temporary table은 출력하지 않음)
mysql> show tables from db명;                                       지정된 db명이 소유한 테이블목록
mysql> show tables like 'mem%';                                     조건에 맞는 테이블목록만 출력
mysql> show index from 테이블명;                                    인덱스 보기
mysql> show columns from 테이블명;                                  테이블구조(describe 테이블명, explain 테이블명)
mysql> show table status;                                           현재 DB의 테이블들의 상태(row수,table type,row길이,..)
mysql> show table status from db명;                                 지정된 DB의 테이블들의 상태(row수,table type,row길이,..)
mysql> show create table 테이블명;                                  해당 테이블 생성 SQL문 출력
mysql> rename table 테이블1 to 테이블2;                             테이블명 변경(ALTER TABLE 테이블1 RENAME TO 테이블2)
mysql> rename table 테이블1 to 테이블2, 테이블3 to 테이블4;         rename multiple tables
mysql> rename table db1명.테이블명 to db2명.테이블명;               테이블을 다른 DB로 이동
mysql> alter table 테이블명 add 컬럼명 데이터타입;                  컬럼추가
mysql> alter table 테이블명 del 컬럼명;                             컬럼제거
mysql> alter table 테이블명 modify 컬럼명 컬럼타입;                 컬럼명에 지정된 컬럼타입의 변경
mysql> alter table 테이블명 change old컬럼명 new컬럼명 컬럼타입     컬럼명 변경
mysql> alter table 테이블명 type=innodb;                            테이블type변경
mysql> create table 테이블명(..) type=heap min_rows=10000;          10000row를 수용할 수 있을 만큼 메모리할당(heap type이므로)
mysql> select version();                                            MySQL서버버전 출력
mysql> create table 테이블2 as select * from 테이블1;               테이블1과 동일한 테이블 생성(with 데이터, as는 생략가능)
mysql> create table 테이블2 as select * from 테이블1 where 1=2;     테이블1과 동일한 구조의 테이블 생성(without 데이터, 1=2는 0으로 할수도 있다.)
mysql> insert into 테이블2 select * from 테이블1;                   테이블1의 데이터를 테이블2에 insert


출처 : php.comrja.com

2007/05/29 15:08 2007/05/29 15:08

수치 데이타 타입

MySQL 2007/05/29 15:04

M : 표시할수 있는 최대 사이즈. 최대 255
D : 소수점이하의 숫자 갯수  
- TINYINT[(M)] [UNSIGNED] [ZEROFILL]
  정수형(1 byte)으로 -128부터 127까지. unsigned로 사용시 0부터 255
- SMALLINT[(M)] [UNSIGNED] [ZEROFILL]
  정수형(2 byte)으로 -32768부터 32767까지. unsigned로 사용시 0부터 65535
- MEDIUMINT[(M)] [UNSIGNED] [ZEROFILL]
  정수형(3 byte)으로 -8388608부터 8388607까지. unsigned로 사용시 0부터 16777215
- INT[(M)] [UNSIGNED] [ZEROFILL]
  정수형(4 byte)으로 -2147483648부터 214748364까지. unsigned로 사용시 0부터
  4294967295
- INTEGER[(M)] [UNSIGNED] [ZEROFILL]
  위의 INT와 같다.
- BIGINT[(M)] [UNSIGNED] [ZEROFILL]
  정수형(8 byte)으로 -922337203685477580 부터 9223372036854775807까지.
  unsigned로 사용시 0부터 18446744073709551615
- FLOAT(precision) [ZEROFILL]
  부동 소수(4,8 byte)  , unsinged는 사용할수 없다. precision은 4또는 8
  FLOAT(4)는 일반적인 FLOAT형이며 
  FLOAT(8)는 DOUBLE형이라고 생각하면 된다.
- FLOAT[(M,D)] [ZEROFILL]
  부동소수 (4byte) , unsigned는 사용할수 없다.
  -3.402823466E+38 에서  -1.175494351E-38, 0 그리고
  1.175494351E-38 에서 3.402823466E+38.
- DOUBLE[(M,D)] [ZEROFILL]
  부동소수 (8byte) , unsigned는 사용할수 없다.
  -1.7976931348623157E+308에서 -2.2250738585072014E-308, 0 그리고
  2.2250738585072014E-308에서 1.7976931348623157E+308.
- DOUBLE PRECISION[(M,D)] [ZEROFILL]
  (8 byte)
- REAL[(M,D)] [ZEROFILL]
  DOUBLE 과 같다.
- DECIMAL(M,D) [ZEROFILL]
  (M byte)unpacked floating-point number, unsigned는 사용할수 없다.
  이것은 각각의 숫자를 CHAR로 저장한다.
- NUMERIC(M,D) [ZEROFILL]
  DECIMAL과 같다.

[b]5.2 문자 테이타 타입[/b]

- CHAR(M) [BINARY]
  문자의 수가 M인 문자열
- VARCHAR(M) [BINARY]
  문자의 수가 최대 M인 문자열
- TINYBLOB
  255 (2^8 - 1)문자.
- TINYTEXT
  255 (2^8 - 1)문자.
- TEXT
  65535 (2^16 - 1)문자.
- BLOB ( Binary Large OBject )
  65535 (2^16 - 1)문자.
- MEDIUMBLOB
  16777215 (2^24 - 1)문자.
- MEDIUMTEXT
  16777215 (2^24 - 1)문자.
- LONGBLOB
4294967295 (2^32 - 1)문자.
- LONGTEXT
4294967295 (2^32 - 1)문자.

[참고 ]
- 모든 문자는 \ 또는 \ 로 묶어 준다.
C에서의 같이 \\는 문자열 안에서 특수한 의미를 가진다.
\0  NULcharacter.
\n  newline character.
\t  tab character.
\r  carriage return character.
\b  backspace character.
\  single quote (`\) character.
\  double quote (`\) character.
\  backslash (`\) character.
\%  `%\ character.  이것은 like문안에서  모든 문자를 의미한다.
\_ A `_\ character. 이것은 like문안에서 한 문자를 의미한다.

[b]5.3 날짜와 시간  데이타 타입[/b]

- DATE
  날짜(3 byte), \1000-01-01\에서 \9999-12-31\.
- DATETIME
  날짜와 시간(8 byte), \1000-01-01 00:00:00\에서 \9999-12-31 23:59:59\.
- TIMESTAMP[(M)] 
  timestamp(4 byte). 유닉스 타임으로 1970년부터 1초단위로 시간을 표시한다.
  \1970-01-01 00:00:00\에서 2037.
  YYYYMMDDHHMMSS => TIMESTAMP(14)
  YYMMDDHHMMSS   => TIMESTAMP(12)
  YYYYMMDD       => TIMESTAMP(8)
  YYMMDD         => TIMESTAMP(6)
- TIME
  시간(3 byte), \-838:59:59\에서 \838:59:59\.
- YEAR
  년도(1 byte), 1901에서 2155, 그리고 0000.

5.5 기타
---------
- ENUM(\value1\,\value2\,...)
  목록, value는 문자형 타입이다. 그리고 여러개의 값중 오로지 한가지의 값만이
  저장 된다. NULL도 가질수 있다. 최고 65535
- SET(\value1\,\value2\,...)
  집합. 0부터 64개까지의 멤버를 가질수 있다.


출처 : database.sarang.net

2007/05/29 15:04 2007/05/29 15:04