MySQL 프로그래밍 > db

본문 바로가기
사이트 내 전체검색

db

MySQL 프로그래밍

페이지 정보

작성자 서방님 댓글 0건 조회 166회 작성일 12-04-09 14:34

본문

1. 참고링크 [Bottom] [Top]

  • MySQL http://www.mysql.com

    2. MySQL 사용법 [Bottom] [Top]

    2.1. MySQL 관리 [Bottom] [Top]

    • 줄 번호 보이기/숨기기
      -- DB 를 변경한다. (information_schema : DB 구조 정보)
      USE information_schema;
      
      -- 전체 DB 또는 해당 DB, 테이블의 모든 컬럼 정보를 출력한다.
      SELECT * FROM `COLUMNS` [WHERE [`TABLE_SCHEMA` = '{DB 이름}'] AND [`TABLE_NAME` = '{테이블 이름}']];
      

    2.2. 기본 SQL 정리 [Bottom] [Top]

    2.2.1. 테이블 [Bottom] [Top]

    • 생성
      • 컬럼 최대 개수 : 테이블 당 4,096

      • 행 최대 크기 : 65,535 Bytes

      줄 번호 보이기/숨기기
      CREATE TABLE {테이블 이름} (
              {필드 이름} {데이타 타입} [NOT NULL] [DEFAULT 기본값] [AUTO_INCREMENT]
              {, {필드 이름} {데이타 타입} [NOT NULL] [DEFAULT 기본값]}*
              [, PRIMARY KEY ({필드 이름} [, {필드 이름}, ...])]
              [, UNIQUE KEY {키 이름} ({필드 이름})]
      )
      
    • 수정
      줄 번호 보이기/숨기기
      ALTER TABLE {테이블 이름}
              -- 필드 추가
              ADD [COLUMN] {필드 이름} {데이타 타입}
              -- 필드 이름, 속성 변경
              CHANGE [COLUMN] {기존 필드 이름} {새 필드 이름} {데이타 타입}
              -- 필드속성 변경
              MODIFY [COLUMN] {필드 이름} {데이타 타입}
              -- 필드 삭제
              DROP [COLUMN] {필드 이름}
      
    • 삭제
      줄 번호 보이기/숨기기
      DROP TABLE {테이블 이름}
      
    • 테이블 이름 변경
      줄 번호 보이기/숨기기
      RENAME TABLE {현재 테이블 이름1} TO {새로운 테이블 이름1}
              [, {현재 테이블 이름2} TO {새로운 테이블 이름2}, ... ];
      

    2.2.2. 데이터 [Bottom] [Top]

    • 검색
      줄 번호 보이기/숨기기
      SELECT [DISTINCT] {필드 이름} [, {필드 이름}, ...]      -- DISTINCT : 데이타의 중복 제거
              FROM {테이블 이름} [, {테이블 이름}, ...]
              [WHERE {검색 조건}]
              [ORDER BY {필드 이름} [ASC | DESC] [, {필드 이름} [ASC | DESC], ...]]
              [GROUP BY {필드 이름} [, {필드 이름}, ...]]     -- 그룹 검색
              [HAVING {검색 조건}]                           -- 그룹에 대한 조건
      
      • 검색 조건
        • BETWEEN ~ AND : 정해진 수치 영역에 포함된 값 검색
        • [NOT] IN ({값} [, {값}, ...]) : 나열된 값에 대한 선택적 검색
        • LIKE '[%]값[%]' : 값이 포함된 문자열 검색 ("%" - 모든문자, "_" - 한문자)
        • IS [NOT] NULL : NULL 값에 대한 검색
        • LIMIT [{개수1}, ] {개수2} : 개수1 에서 개수2 까지 레코드를 검색
    • 삽입
      줄 번호 보이기/숨기기
      INSERT INTO {테이블 이름} [({필드 이름} [, {필드 이름}, ...])]
              VALUES ({필드 값} [, {필드 값}, ...])
      
    • 수정
      줄 번호 보이기/숨기기
      UPDATE {테이블 이름}
              SET {필드 이름} = {필드 값} | {수식} [, {필드 이름} = {필드 값} | {수식}, ...]
              [WHERE {검색 조건}]
      
    • 삭제
      줄 번호 보이기/숨기기
      DELETE FROM {테이블 이름} [WHERE {검색 조건}]
      

    2.2.3. 저장 프로시저 / 저장 함수 [Bottom] [Top]

    3. MySQL 팁 [Bottom] [Top]

    3.1. 문자열 처리 [Bottom] [Top]

  1. 정규표현식을 이용한 검색
    줄 번호 보이기/숨기기
    SELECT * FROM {테이블 이름} WHERE {필드 이름} REGEXP '{정규표현식}'
    

3.2. 숫자 처리 [Bottom] [Top]

  1. 자동 증가값(AUTO_INCREMENT 속성) 확인 방법
    줄 번호 보이기/숨기기
    -- 테이블 이름을 생략하면 해당 DB 의 모든 테이블 정보가 출력된다.
    SHOW TABLE STATUS [LIKE '{테이블 이름}'];
    
  2. 자동 증가값을 임의적으로 삽입하기
    • MS-SQL 과 같이 특별한 옵션 조작이 필요없고 자동 증가값을 임의값으로 입력하면 된다.
    • 참고> INSERT 문 사용법이 MS-SQL 과 다르다.

      • INSERT 문에서 자동 증가값 필드를 제외한 다른 필드들을 나열해야 하는 불편함이 있다.
    • 자동 증가값 초기화 방법
      1. ALTER TABLE 문 사용
        줄 번호 보이기/숨기기
        -- 자동 증가값 초기화
        ALTER TABLE {테이블 이름} AUTO_INCREMENT = {초기값};
        
      2. TRUNCATE TABLE 문 사용
        줄 번호 보이기/숨기기
        -- 테이블 데이터 및 정보까지 삭제된다.
        TRUNCATE TABLE {테이블 이름};
        
        -- MySQL 버전에 따라 다르게 동작한다.
        --  a. 5.0 이상: 데이터만 삭제
        --  b. 5.0 미만: 데이터 삭제, 자동 증가값 초기화
        DELETE FROM {테이블 이름};
        

    3.3. 저장 프로시저/함수 [Bottom] [Top]

    1. 저장 프로시저/함수 목록 보기 (관리 정보)

      줄 번호 보이기/숨기기
      -- MySQL 문법
      SHOW { PROCEDURE | FUNCTION } STATUS [ LIKE 'pattern' | WHERE {조건식} ]
      
      -- 예제1> 전체 목록 보기
      SHOW PROCEDURE STATUS;          -- 테이블 구조
      SHOW PROCEDURE STATUS \G;       -- 텍스트
      
      -- 예제2> 해당 프로시저/함수 보기
      SHOW PROCEDURE STATUS LIKE '{프로시저 이름}';         -- 테이블 구조
      SHOW PROCEDURE STATUS LIKE '{프로시저 이름}' \G;      -- 텍스트
      
      -- 예제3> 조건식으로 목록 보기
      SHOW PROCEDURE STATUS WHERE {조건식};              -- 테이블 구조
      SHOW PROCEDURE STATUS WHERE {조건식} \G;           -- 텍스트
      
    2. 저장 프로시저/함수 코드 보기 (기본 정보)

      줄 번호 보이기/숨기기
      -- MySQL 문법
      SHOW CREATE { PROCEDURE | FUNCTION } {프로시저 이름}
      
      -- 예제1> 프로시저 코드 보기
      SHOW CREATE PROCEDURE {프로시저 이름};                -- 테이블 구조
      SHOW CREATE PROCEDURE {프로시저 이름} \G;             -- 텍스트
      
    3. 저장 프로시저/함수의 컴파일된 코드 보기

      줄 번호 보이기/숨기기
      -- MySQL 문법
      SHOW { PROCEDURE | FUNCTION } CODE {프로시저 이름}
      
      -- 예제1> 프로시저의 컴파일된 코드 보기
      SHOW PROCEDURE CODE {프로시저 이름};
      

      3.4. DB 쿼리 최적화 [Bottom] [Top]

      1. DB 쿼리 개수 제한하기
        줄 번호 보이기/숨기기
        -- 처음부터 개수까지 결과 받는다.
        SELECT * FROM {테이블 이름} LIMIT {개수};
        
        -- 쿼리 결과 중 해당 범위(시작 ~ 끝)의 결과만 받는다.
        SELECT * FROM {테이블 이름} LIMIT {시작}, {};
        

      3.5. 필드 추가 [Bottom] [Top]

      • 특정 위치에 필드 추가 방법
        줄 번호 보이기/숨기기
        -- 테이블의 처음에 필드 추가
        ALTER TABLE {테이블 이름} ADD {필드1 이름} {데이타 타입} [기타 조건] FIRST;
        
        -- 필드2 다음에 필드1 추가
        ALTER TABLE {테이블 이름} ADD {필드1 이름} {데이타 타입} [기타 조건] AFTER {필드2 이름};
        
        -- 테이블의 마지막에 필드 추가
        ALTER TABLE {테이블 이름} ADD {필드1 이름} {데이타 타입} [기타 조건];
        

      4. MySQL C 프로그래밍 [Bottom] [Top]

      4.1. MySQL 초기화 및 연결/해제 [Bottom] [Top]

      • 줄 번호 보이기/숨기기
           1 // 헤더 파일 선언
           2 #include <mysql.h>
           3 
           4 // 라이브러리 링크
           5 #pragma comment( lib, "libmysql.lib" )
           6 
           7 // 변수 선언
           8 MYSQL   g_mysql;
           9 MYSQL * g_pDB_Connection;
          10 
          11 // STEP 1: MySQL 초기화
          12 mysql_init();
          13 // STEP 1-1: MySQL 옵션 설정
          14 mysql_options();
          15 
          16 // STEP 2: MySQL 연결
          17 mysql_real_connect();
          18 
          19 ...
          20 
          21 // STEP 4: MySQL 연결 해제
          22 mysql_close();
          23 
        

      4.2. DB 쿼리 [Bottom] [Top]

      • DB 쿼리 후 결과 받기
        줄 번호 보이기/숨기기
           1 // 변수 선언
           2 MYSQL_RES * pSql_Result = NULL;
           3 MYSQL_ROW   sql_Row;
           4 
           5 // STEP 1: SQL 쿼리 실행
           6 mysql_real_query();
           7 
           8 // STEP 2: SQL 쿼리 결과 저장
           9 mysql_store_result();
          10 
          11 // STEP 3: SQL 쿼리 결과의 Row 갯수
          12 mysql_num_rows();
          13 
          14 // STEP 4: Row 단위의 SQL 쿼리 결과 가져오기
          15 mysql_fetch_row();
          16 
          17 ...
          18 
          19 // STEP 5: SQL 쿼리 결과 해제
          20 mysql_free_result();
          21 
        
      • DB 쿼리만 처리
        줄 번호 보이기/숨기기
           1 // STEP 1: SQL 쿼리 실행
           2 mysql_real_query();
           3 
           4 // STEP 2: SQL 쿼리가 처리된 Row 객수
           5 mysql_affected_rows();
           6 
        

      4.3. 기타 [Bottom] [Top]

댓글목록

등록된 댓글이 없습니다.

Total 464건 12 페이지
게시물 검색

회원로그인

접속자집계

오늘
135
어제
225
최대
1,347
전체
154,894
Latest Crypto Fear & Greed Index

그누보드5
Copyright © 서방님.kr All rights reserved.