100.28.227.63님 로그인 해주세요

MY wikix
처음으로
내소개
사진방
공부맨
일기장
영화광
독서광
잡동사니
방명록
위키 페이지
모든 페이지
인기 페이지
변경 페이지
검색하기

Today : 33  Total : 361580
ViewSource | info | diff | files

mysql 

php

  • mysql_num_rows() = 쿼리의 갯수
  • mysql_insert_id() = 쿼리의 아이디

varchar형 숫자 정렬

  • order by CAST(필드명 AS UNSIGNED) varchar 숫자 정렬시

mysql

  • set names euckr = mysql 케릭터셋을 한글로
  • truncate table = 테비블 초기화

테이블 복사

  • insert into ab2 select * from ab
  • select * into ab2 from ab

mysql 외부 접속시 주석처리

#bind-address=127.0.0.1

mysql replace 예제

update <table> set content=replace(content,"<br />", "");

mysql primary key 삭제시

alter table 테이블명 drop primary key

케릭터 셋 변경시

alter table [테이블명] convert to character set [케릭터셋] collate [콜렉션이름];
                       convert to character set utf8 collate utf8_general_ci;

ALTER DATABASE db_name DEFAULT CHARACTER SET charset;
ALTER TABLE table_name DEFAULT CHARACTER SET charset

테이블 만들때.

5.0 이상일 때.. 데이타 베이스

CREATE DATABASE DB명 DEFAULT CHARACTER SET euckr COLLATE euckr_korean_ci;
CREATE DATABASE DB명 DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;

MySQL5.x 에서 MySQL4.x 에 집어 넣을 덤프를 받을시

mysqldump -u 사용자 -p --default--character-set=euckr --compatible=mysql40 디비명 > 파일명.sql

테이블 복구

mysql> analyze table table_name;
+--------------------------+---------+----------+-----------------------------+
| Table                    | Op      | Msg_type | Msg_text                    |
+--------------------------+---------+----------+-----------------------------+
| xxxxxxxxxx_db.table_name | analyze | status   | Table is already up to date |
+--------------------------+---------+----------+-----------------------------+

mysql> repair table table_name;
+--------------------------+--------+----------+-----------------------------+
| Table                    | Op     | Msg_type | Msg_text                    |
+--------------------------+--------+----------+-----------------------------+
| xxxxxxxxxx_db.table_name | repair | status   | Table is already up to date |
+--------------------------+--------+----------+-----------------------------+

테이블에 대한 보고서와 복구를 시도해도 안될경우... 

# myisamchk -r table_name
- recovering (with sort) MyISAM-table '/home/mysql/xxxxxxxxxx/table_name'
Data records: 1650
- Fixing index 1
Key 1 - Found wrong stored record at 822660
- Fixing index 2
- Fixing index 3
- Fixing index 4
Data records: 1637

명령어를 통해서 수정할 수 있음.. %%%
^^ 쵝오~

날자함수

mysql> SELECT DATE_ADD('1998-01-02', INTERVAL 31 DAY);
        -> '1998-02-02'
mysql> SELECT ADDDATE('1998-01-02', INTERVAL 31 DAY);
        -> '1998-02-02'

mysql> SELECT ADDDATE('1998-01-02', 31);
        -> '1998-02-02'

ADDTIME(expr1,expr2) 
ADDTIME() adds expr2 to expr1 and returns the result. expr1 is a time or datetime expression, and expr2 is a time expression. 

mysql> SELECT ADDTIME('1997-12-31 23:59:59.999999',
    ->                '1 1:1:1.000002');
        -> '1998-01-02 01:01:01.000001'
mysql> SELECT ADDTIME('01:00:00.999999', '02:00:00.999998');
        -> '03:00:01.999997'

디비 전체 백업

mysqldump --all-databases > sample.sql

랜덤하게 뽑는 쿼리


일단 그냥 상위 5개만 뽑는 것
 
MS-SQL에서는
SELECT TOP 5 * FROM tTag

mysql에서는
SELECT * FROM tTag Limit 5

-------------------------------------------

Random하게 상위 5개를 뽑는 것

MS-SQL에서는
SELECT TOP 5 * FROM tTag ORDER BY NEWID()

mysql에서는
SELECT * FROM tTag ORDER BY RAND() Limit 5
 

latin1 -> euckr
1. 백업하기
   mysqldump -u{username} -p{password} {dbname} --default-character-set latin1 > {dump}.sql
   여기서 제일 중요한 것이 --default-character-set latin1 입니다.
   이것이 없으면 온전하게 백업이 되지 않으니 여러가지로 어렵습니다.

2. 문자셋 변환하기
    (문제가 되는 것이 보통 이 과정에서 메모장이나 에딕터를 이용하게 되면 깨져서 복원을 할때 에러가 발생합니다.)   
    utf8로 변환 할때 
    iconv -c -f cp949 -t utf-8  원본파일명  > 변환될 파일명.sql
    euckr 이라면 변환 할때 
    iconv -c -f cp949 -t euckr 원본파일명  > 변환될 파일명.sql

조건식을 주어서 sum 값을 가져오는 방식

SUM(B.CLASS_PAY) AS CLASS_PAY, 
       
       
       SUM(
        CASE B.GRADE
        WHEN '11' THEN B.CLASS_PAY
        END
        )AS CLASS_PAY2,


Last : 2011-10-07 16:26:55   Who : 210.98.181.115
Version : v22
8152 hits