본문 바로가기

데이터베이스

DB자료형 mysql, 오라클, mssql 1. 자료형의 종류 [mssql2000] bigint 8바이트 64비트 부호 있음 int 4바이트 32비트 " smallint 2바이트 16비트 " tinyint 1바이트 8비트 " decimal(p,s) 실수표현 p: 전체자리수 , s는 소수점 부분의 길이 numeric(p,s) " money 8바이트 64비트 통화 단위 1/10000의 정확성을 가짐 smallmoney 4바이트 32비트 " [oracle] number 10바이트 80비트 부호있음 , 기본이 10바이트 number(n) 바이트 지정, n은 바이트 숫자 number(p, s) 실수표현 p: 전체자리수, s는 소수점 부분의 길이 [mysql] : 가장 많음 .ㅠ.ㅠ tinyint 1바이트 정수 smallint 2바이트 정수 mediumin.. 더보기
mysql my.cnf 설정 하기 / mysql 최대 접속자 수 늘리기 my.cnf 설정 하기 1.my.cnf 설정 + key_buffer_size : 성능에 많은 영향을 주는 설정이다. 키버퍼는 인덱스블락에서 사용하는 버퍼의 크기이며 인덱스가 많은 테이블에서 insert, delete릐 작업이 많다면 증가해 주는 것이 좋다. + max_connections : 동시 접속자수이다. 적당량으로 사용하는 것이 좋다. 너무 과하면 좋지 않다. + table_cache : 모든 쓰레드에서 열 수 있는 테이블 숫자이다. + join_buffer_size : full-join에서 사용하는 버퍼의 크기아다. full-join을 많이 사용하는 경우 늘려주는 것이 좋다. (왠만하면 인덱스를 사용한 조인을 하는 것이 속도가 빠르다) + max_join_size : 최대 조인의 크기이다. 크기.. 더보기
mysql 한글(euc-kr 설정) # vi /etc/my.cnf (windows : [MYSQL_PATH]/my.ini 편집) [client] default-character-set=euckr [mysqld] language=[MYSQL_PATH]/share/korean init_connect = SET collation_connection=euckr init_connect = SET NAMES euckr default-character-set=euckr collation-server=euckr default-collation=euckr_korean_ci [mysqldump] default-character-set=euckr [mysql] default-character-set=euckr # service mysqld restart my.. 더보기
mysql Cent Os 방어벽 허용 설정법 *설정 파일을 열기 [root@localhost ~]# vi /etc/vsftpd/vsftpd.conf # Firewall configuration written by system-config-securitylevel # Manual customization of this file is not recommended. *filter :INPUT ACCEPT [0:0] :FORWARD ACCEPT [0:0] :OUTPUT ACCEPT [0:0] :RH-Firewall-1-INPUT - [0:0] -A INPUT -j RH-Firewall-1-INPUT -A FORWARD -j RH-Firewall-1-INPUT -A RH-Firewall-1-INPUT -i lo -j ACCEPT -A RH-Firewall-.. 더보기
Mysql 리플리케이션 복원 방법 1. 마스터가 종료되는 경우 ( 서버다운, DB리스타트) (1) 마스터의 디비 reset master (근래 쌓여있는 로그들은 삭제) (2) 연결된 모든 슬라브 재시작 slave stop (종료)->reset slave(근래 쌓여있는 로그들은 삭제)->slave start(시작) 2. 슬라브가 종료되는 경우 ( 서버다운, DB리스타트) (1) 슬라브 재시작 slave stop (종료)->reset slave(근래 쌓여있는 로그들은 삭제)->slave start(시작) 3. 연결이 끊어진 경우 (보통 슬라브에서 에러) (1) 슬라브가 한대인 경우 Show slave status문을 실행해서 일단 에러 메시지를 확인하고 따로 기록한다. [1] 마스터의 디비 reset master (근래 쌓여있는 로그들은 삭.. 더보기
[MYSQL] 날짜함수를 이용한 데이터 가져오기 (date_add, date_sub) date_add와 date_sub의 종류는 second - 초를 추가 합니다 (interval 1 second) minute - 분을 추가 합니다. (interval 1 minute) hour - 시간을 추가 합니다.(interval 1 hour) day - 일을 추가 합니다.(interval 1 day) month - 달을 추가 합니다.(interval 1 month) year - 년을 추가 합니다.(interval 1 year) minute_second - 분과 초를 추가 합니다.(interval "1:1" minnute_second) hour_minute - 시간과 분을 추가 합니다.(interval "1:1" hour_minute) year_month - 년과 월을 추가 합니다.(interval .. 더보기
MySQL 문법 , API , MySQL (자료형) 정리 MySQL 문법 정리 MySQL 에도 일반적인 산술연산자, 논리연산자, 비교연산자, 문자열 비교함수, 형 변환 연산자, 흐름제어 함수, 수학함수, 문자열 함수, 날짜 및 시간 함수등 많은 함수가 존재한다. 그러나 우리는 그러한 함수를 다 알 필요가 없다. 우리의 목적은 본격적으로 MySQL 을 활용하는데 있지 않고, PHP를 통해 MySQL에 접속하고 데이터를 저장, 수정, 삭제, 검색 등의 명령을 내리는 방법을 익히는 데 있기 때문이다. 이러한 기능을 익히기 위해서는 MySQL에서 기본적이면서도 핵심적인 몇 가지 SQL문법만 익히면 된다. CREATE DATABASE 데이타베이스 생성 DROP DATABASE 데이타베이스 삭제 CREATE TABLE 테이블 생성 SHOW TABLE 생성된 테이블보기 S.. 더보기
[MySQL] NOW() 함수와 SYSDATE() 함수 현재의 시간을 구하는 2개의 함수가 있다. NOW() SYSDATE() 차이점은 무엇일까? 아래의 쿼리를 보면 알수 있다. SELECT NOW(), SLEEP(2), NOW(); SELECT SYSDATE(), SLEEP(2), SYSDATE(); 짐작이 되는가? 결과를 보자.. SELECT NOW(), SLEEP(2), NOW(); 2010-09-30 14:18:35 0 2010-09-30 14:18:35 SELECT SYSDATE(), SLEEP(2), SYSDATE(); 2010-09-30 14:18:35 0 2010-09-30 14:18:37 그렇다.. SYSDATE는 함수가 실행되는 순간의 시간이고, NOW는 쿼리가 실행되는 순간의 시간이다. 간단한 차이지만, SYSDATE를 사용할때 발생할수 .. 더보기
mssql mysql oracle 자료형, 숫자형 , 텍스트형 필드 모음 1. 자료형의 종류 [mssql2000] bigint 8바이트 64비트 부호 있음 int 4바이트 32비트 " smallint 2바이트 16비트 " tinyint 1바이트 8비트 " decimal(p,s) 실수표현 p: 전체자리수 , s는 소수점 부분의 길이 numeric(p,s) " money 8바이트 64비트 통화 단위 1/10000의 정확성을 가짐 smallmoney 4바이트 32비트 " [oracle] number 10바이트 80비트 부호있음 , 기본이 10바이트 number(n) 바이트 지정, n은 바이트 숫자 number(p, s) 실수표현 p: 전체자리수, s는 소수점 부분의 길이 [mysql] : 가장 많음 .ㅠ.ㅠ tinyint 1바이트 정수 smallint 2바이트 정수 mediumin.. 더보기
MYSQL 텍스트파일의 데이터를 특정 테이블에 저장하기 ### 텍스트파일의 데이터를 특정 테이블에 저장하기 1) 텍스트파일의 데이터를 특정 테이블에 저장하기 - mysqlimport MYSQL의 mysqlimport유틸리티를 이용하면 리눅스 쉘상태에서 한번의 명령으로 특정 텍스트 파일의 전체내용을 MYSQL의 특정 데이터베이스의 특정 테이블에 입력을 할 수가 있다. 이 방법은 텍스트파일에 저장되어 있는 크기가 작은 전체 데이터들을 특정 데이터베이스에 편리하게 입력하기 위한 방법으로 주로 사용되고 있다. 아래는 mysqlimport를 사용하는 형식이다. 사용 형식 : mysqlimport -u MYSQL사용자 -p 데이터베이스명 텍스트파일명 위의 형식과 같이 실행하면 "텍스트파일명"에 저장되어 있는 데이터가 "데이터베이스명"의 특정 "테이블"의 데이터로 입력된.. 더보기
mysql_stmt_execute() 예제소스!! int mysql_stmt_execute(MYSQL_STMT *stmt Return Values Zero if execution was successful. Nonzero if an error occurred. Errors CR_COMMANDS_OUT_OF_SYNC Commands were executed in an improper order. CR_OUT_OF_MEMORY Out of memory. CR_SERVER_GONE_ERROR The MySQL server has gone away. CR_SERVER_LOST The connection to the server was lost during the query. CR_UNKNOWN_ERROR An unknown error occurred #defi.. 더보기
mysql c언어 api라이브러리 사용법 MySQL C API 1) my_ulonglong mysql_affected_rows(MYSQL* mysql) INSERT, UPDATE, DELETE 등의 query로 영향을 받은 ROW의 수를 리턴한다. 2) void mysql_close(MYSQL* mysql) 서버와의 연결을 종료한다. 3) void mysql_data_seek(MYSQL_RES* result, unsigned int offset) result에서 임의의 ROW에 접근을 하도록 하는 함수이다. offset이 row의 번호를 나타낸다. 0이면 처음 ROW, mysql_num_rows( result ) - 1 은 마지막 row를 나타낸다. 4) unsigned int mysql_errno(MYSQL* mysql) 가장 최근에 mysq.. 더보기
mysql 백업/복구 mysql 백업 복구 백업 mysqldump -u [user_name] -p [백업할 db_name] > [외부로 저장할 파일명] >mysqldump -u ijyzzang -p ijyzzang > ijyzzang0702.sql password: 복구 mysql -u [user_name] -p [백업할곳 DB_NAME] < ijyzzang0702.sql >mysql -u ijyzzang -p ijyzzang < ijyzzang0702.sql 한글 깨짐 mysql -u [ID] -p --default-character-set=euckr [디비이름] < [백업파일이름] *.sql 파일의 CHARSET 확인 테이블의 구조라든지 데이터만 뽑아내고 싶을 때도 있다. 테이블 구조만 백업하고 싶다면 mysqldump .. 더보기
My Sql 다운로드 사이트 여기 드러가서 다운로드^^ http://dev.mysql.com/downloads/mysql/ 더보기
[ORACLE/MYSQL] 인서트 자동증가, AUTO_INCREMENT, CREATE SEQUENCE MySql에는 테이블생성시 AUTO_INCREMENT만 추가해주면 자동증가가 설정되서 편합니다. 오라클은 MySql처럼 편리하진 않지만, 시퀀스를 생성해주고 그값을 조회해서 자동증가를 이용할 수 있습니다. 어쩌면 유지보수면에선 오라클같은 형식이 낳을지도...ORACLE CREATE TABLE TESTTABLE ( IDX NUMBER(10), INDEX2 NUMBER(10) NOT NULL, CONSTRAINT PK_TESTTABLE PRIMARY KEY(IDX) ); CREATE SEQUENCE SEQ_TESTTABLE START WITH 1 INCREMENT BY 1 MAXVALUE 99999 CYCLE NOCACHE; INSERT INTO TESTTABLE ( IDX, INDEX2 ) VALUES (.. 더보기
mysql 외래키 설정법 문법은 다음과 같다. [CONSTRAINT symbol] FOREIGN KEY (index_col_name, ...) REFERENCES table_name (index_col_name, ...) [ON DELETE {CASCADE | SET NULL NO ACTION | RESTRICT}] [ON UPDATE {CASCADE | SET NULL NO ACTION | RESTRICT}] 사용 예제이다. ALTER TABLE board_free -- 설정할 테이블 ADD FOREIGN KEY (mem_no) -- 테이블에 FK 컬럼 REFERENCES members(mem_no)-- FK 연결이 되는 테이블과 PK 컬럼 ON DELETE RESTRICT -- 기본설정으로 자식에서 부모를 삭제 불가 ON U.. 더보기
mysql 외부접속 허용!! mysql이 외부로도 서비스가 가능하게 하려면, 몇 가지의 확인사항과 그 외에 추가적인 설정을 해야 할 필요가 있습니다. mysql이 설치된 서버의 운영체제를 명시해주시지 않아서, 유닉스 계열 운영체제라 가정하고 설명드리겠습니다. #1. 우선, 기본적으로 mysql 은 tcp 3306 번 포트를 통해 서비스를 제공합니다. 따라서, 외부에서 DB에 접근할 수 있도록 하기 위해서는 서버의 tcp 3306 번 포트가 방화벽에 막혀 있지는 않은지 확인해야 하며 만약 막혀 있을 경우 열어주어야 합니다. iptables -L 명령으로 차단/허용 리스트 조회가 가능합니다. 만약 포트가 막혀 있을 경우, # iptables -I INPUT -p tcp --dport 3306 -j ACCEPT 명령으로 열어주시면 됩니다.. 더보기
데이터베이스 기본 명령어 모음 #1. 테이블 생성 create table customer (customer_name char(20), customer_street char(30), customer_city char(30), primary key(customer_name)); create table branch (branch_name char(15), branch_city char(30), assets numeric(16, 2), primary key(branch_name)); create table account (account_number char(10), branch_name char(15), balance numeric(12, 2), primary key(account_number)); create table depositor .. 더보기