반응형

안녕하세요 가야태자 @talkit 입니다. 

최근에 postgreSQL을 설치할일이 있어서 참고한 블로그들을 간단하게 정리 해봅니다. 

[DB] postgreSql Centos7에 설치 및 설정하기 :: hyeoneee's blog (tistory.com)

 

[DB] postgreSql Centos7에 설치 및 설정하기

postgresql을 Centos7에 설치해보겠당 근데 서버가 yum이나 library를 인터넷에서 받아오는 환경이 아니어서 tar 파일을 postgresql에서 받아주었다. https://www.postgresql.org/ftp/source/v12.0/ PostgreSQL: File Browser www.

hyeonyeee.tistory.com

설치 문서는 위 글을 참고 했습니다. 

wget https://ftp.postgresql.org/pub/source/v12.5/postgresql-12.5.tar.gz

저도 위 글을 저자 분과 비슷하게 계정에 설치 할일이 있어서 거의 그대로 따라 했습니다. 

단, wget로 받은 프로그램은 위 주소를 사용했습니다. 

https://devlog.jwgo.kr/2018/05/25/getting-start-postgres/#:~:text=%EC%82%AC%EC%9A%A9%EC%9E%90%20%EC%83%9D%EC%84%B1%20psql%20%EC%A0%91%EC%86%8D%20%ED%9B%84%20%EC%8B%A4%ED%96%89%20create%20user,%EC%82%AC%EC%9A%A9%EC%9E%90%EB%AA%85%20with%20superuser%3B%20alter%20user%20%EC%82%AC%EC%9A%A9%EC%9E%90%EB%AA%85%20with%20createrole%3B

 

postgresql을 처음 시작할 때 필요한 간단 명령어 · Tonic

사이트 운영에 도움을 주실 수 있습니다. 고맙습니다. --> postgresql을 처음 시작할 때 필요한 간단 명령어 2018년 05월 25일 초기 설정 postgresql 위치 확인 이 명령으로 경로가 나오지 않으면 여기를

devlog.jwgo.kr

설치후에 실행해야할(?) 몇가지 문제는 위 문서를 따라서 해결 했습니다. 

https://sujinisacat.tistory.com/9

위 문서에서는 postgreSQL과 개발 PC가 서로 달라서 원격에서 접속 할 수 있도록 위 문서를 따라서 수행을 했습니다. 

디비버로 서버 외부에서 접속이 되도록 해 놓은 상태 입니다. 

여러분들도 따라하시면 충분히 하실 수 있을 것으로 생각 됩니다. 

그리고, 혹시나 안되시는 부분이 있으면, 댓글 남겨 주시면 도와 드리겠습니다.

감사합니다. 

반응형
반응형

안녕하세요 가야태자 @talkit 입니다. 

마이에스큐엘/MySQL 데이터베이스 백업하기 / How to backup database for MySQL :: 가야태자의 IT이야기 (tistory.com)

오늘은 위 글에 이어서 복원하기에 대해서 말씀 드리겠습니다. 

데이터베이스를 백업하는 목적은 사고가 났을때나 서버가 고장 났을때 또는 이전 시에 복원하기 위해서 입니다. 

준비물

mysql
백업해둔 sql 파일

복원을 위해서는 위 두가지가 필요 합니다. 

서버 접속

MySQL 서버가 있는 곳에 SSH로 접속을 해야 합니다. 

방화벽 등으로 원격지에서 백업이 가능하도록 해두었으면 윈도우즈용 이나 로컬 리눅스 또는 맥에 해당 프로그램이 있어도 됩니다. 

지금 진행 하고 있는 것은 간단하게 백업하고 복원하는 과정을 설명 드리고 있어서 방화벽과 MySQL 원격 접속에 대해서 조만간 글을 적어 보겠습니다. 

https://talkit.tistory.com/688

 

리눅스/Linux PuTTY로 SSH를 통해서 VMWARE Linux에 접속해보자. How to connect to Linux on VMWARE via SSH with PuTTY

안녕하세요 가야태자 @talkit 입니다. 오늘은 VMWARE에 Ubuntu를 설치 했습니다. VMWARE 켜서 계속 콘솔로만 접속을 할것인가? 이런 의문이 들었습니다. ^^ 그래서 SSH를 통해서 어떻게 접속하게 할지 알

talkit.tistory.com

위 글을 참고 하시면 서버에 접속하는 방법이 있습니다. 

준비물 확인

서버에 접속 하셨으면, 

mysql
ls

위도 명령어를 통해서 해당 준비 물이 있는지 확인 합니다. 

저같은 경우는 파일이 존재하는 것을 확인 했습니다. 

talkit@ubuntu:~$ mysql
ERROR 1045 (28000): Access denied for user 'talkit'@'localhost' (using password: NO)

mysql 명령어도 당연히 있겠지요 

어제와 같은 서버 입니다. ^^

복원하고자 하는 데이터베이스를 생성 합니다. 

mysql -u root -p -e "create database mattermost2"

생성된 데이터베이스를 확인 합니다. 

mysql -u root -p -e "show databases"
talkit@ubuntu:~$ mysql -u root -p -e "show databases"
Enter password:
+--------------------+
| Database           |
+--------------------+
| information_schema |
| mattermost         |
| mattermost2        |
| mysql              |
| performance_schema |
| sys                |
+--------------------+

mattermost2가 생성되어 있습니다. 

저기다가 복원을 해보도록 하겠습니다. 

mysql -u root -p mattermost2 < mattermost.db.sql

복원 명령어는 위와 같습니다. 

덤프 된 sql 파일을 mattermost2 데이터베이스 상에서 실행 하는 겁니다. 

mysql -u 사용자 -p 복원할데이터베이스명 < 복원할SQL파일명.sql

저는 같이 서버에서 작업을 해서 매우 주의 해야 합니다. ^^

mattermost2 DB에 확실히 했는지 보겠습니다. 

확인 되었구요.

실행해 보겠습니다. 

백업 보다는 시간이 좀 더 걸리고 복원이 종료 되었습니다. 

talkit@ubuntu:~$ mysql -u root -p mattermost2 < mattermost.db.sql
Enter password:
talkit@ubuntu:~$

오류가 있을 경우 표준 출력으로 오류를 뱉습니다. ^^

오류를 확인하고 다시 작업하시면 됩니다. 

감사합니다. 

반응형
반응형

안녕하세요 가야태자 @talkit 입니다. 

오늘은 MySQL의 데이터를 어떻게 백업을 할지 고민해 보겠습니다. 

저희가 유지 보수를 하는 다양한 사이트에서 백업을 어떻게 하는지 보겠습니다. 

준비물

mysql cli 도구들

접속하기

서버에서 직접 백업할 경우는 서버에 ssh로 접속을 해야 합니다. 

리눅스/Linux PuTTY로 SSH를 통해서 VMWARE Linux에 접속해보자. How to connect to Linux on VMWARE via SSH with PuTTY :: 가야태자의 IT이야기 (tistory.com)

 

리눅스/Linux PuTTY로 SSH를 통해서 VMWARE Linux에 접속해보자. How to connect to Linux on VMWARE via SSH with PuTTY

안녕하세요 가야태자 @talkit 입니다. 오늘은 VMWARE에 Ubuntu를 설치 했습니다. VMWARE 켜서 계속 콘솔로만 접속을 할것인가? 이런 의문이 들었습니다. ^^ 그래서 SSH를 통해서 어떻게 접속하게 할지 알

talkit.tistory.com

위 글이 도움이 될 것 같습니다. 

준비물이 있는지 확인 하기

mysqldump
mysql

위 두 프로그램이 설치 되어 있는지 확인 하기 위해서 위 명령어를 내려 봅니다. 

저는  putty로 이전에 mattermost를 설치 해둔 서버에 접속을 했습니다. 

talkit@ubuntu:~$ mysqldump
Usage: mysqldump [OPTIONS] database [tables]
OR     mysqldump [OPTIONS] --databases [OPTIONS] DB1 [DB2 DB3...]
OR     mysqldump [OPTIONS] --all-databases [OPTIONS]
For more options, use mysqldump --help
talkit@ubuntu:~$ mysql
ERROR 1045 (28000): Access denied for user 'talkit'@'localhost' (using password: NO)

Command not found로 나오지 않고 옵션을 보여 주거나 오류를 보여 주면 ^^

제대로 설치가 되어 있는 것입니다. 

mysql 은 데이터베이스를 확인하기 위해서 사용합니다. 

mysql -u root -p -e "show databases;"
mysql -u root -p -e "show databases;"
Enter password:
+--------------------+
| Database           |
+--------------------+
| information_schema |
| mattermost         |
| mysql              |
| performance_schema |
| sys                |
+--------------------+

비밀번호를 묻는데 ^^ 비밀번호를 몇번 틀리긴 했지만, 잘 보입니다. 

이제 백업을 해보겠습니다. 

저기서 mattermost라는 데이터베이스를 백업할 계획입니다. 

백업하기

mysqldump -u 사용자 -p --quick 데이터베이스명 > 백업파일명
mysqldump -u root -p --quick mattermost > mattermost.db.sql

저는 아래 명령어를 입력해서 백업을 진행 하겠습니다. 

-- MySQL dump 10.13  Distrib 8.0.32, for Linux (x86_64)
--
-- Host: localhost    Database: mattermost
-- ------------------------------------------------------
-- Server version       8.0.32-0ubuntu0.20.04.2

/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */;
/*!50503 SET NAMES utf8mb4 */;
/*!40103 SET @OLD_TIME_ZONE=@@TIME_ZONE */;
/*!40103 SET TIME_ZONE='+00:00' */;
/*!40014 SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0 */;
/*!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */;
/*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO' */;
/*!40111 SET @OLD_SQL_NOTES=@@SQL_NOTES, SQL_NOTES=0 */;

--
-- Table structure for table `Audits`
--

DROP TABLE IF EXISTS `Audits`;
/*!40101 SET @saved_cs_client     = @@character_set_client */;
/*!50503 SET character_set_client = utf8mb4 */;
CREATE TABLE `Audits` (
  `Id` varchar(26) NOT NULL,
  `CreateAt` bigint DEFAULT NULL,
  `UserId` varchar(26) DEFAULT NULL,
  `Action` text,
  `ExtraInfo` text,
  `IpAddress` varchar(64) DEFAULT NULL,
  `SessionId` varchar(26) DEFAULT NULL,
  PRIMARY KEY (`Id`),
  KEY `idx_audits_user_id` (`UserId`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;
/*!40101 SET character_set_client = @saved_cs_client */;

백업 된 자료의 일부를 보여 드리면 위와 같이 백업 됩니다. ^^

감사합니다. 

다음 글에서는 백업후에 복원하는 방법을 알려 드리겠습니다.

 

반응형
반응형

안녕하세요 가야태자 @talkit 입니다. 

MariaDB를 이용한 Database 사용하기 #003 - Cleint DBeaver 설치하기 https://talkit.tistory.com/569

위 글에서도 설치하는 법을 알려 드렸지만, 동일 할껍니다. 하지만, 버전이 확 바껴서 한번 설치 해보도록 하겠습니다. 

https://dbeaver.io/download/

 

Download | DBeaver Community

Download Tested and verified for MS Windows, Linux and Mac OS X. Install: Windows installer – run installer executable. It will automatically upgrade version (if needed). MacOS DMG – just run it and drag-n-drop DBeaver into Applications. Debian package

dbeaver.io

다운로드 하는  URL은 위에 들어가시면 됩니다. 

저는 윈도우즈에 설치 할꺼여서 윈도우즈 바이너리를 받습니다. ^^

기억하기 쉬운 위치에 잘 받으시면 됩니다. 

다 받으셨으면 더블 클릭해서 설치를 진행 하시면 됩니다. 

윈도우즈에 프로그램 설치는 이제 너무 쉽지요 ^^

다음 누릅니다. 

동의함을 누르시면 됩니다. 

여기도 다음을 누르시면 됩니다. 그러면 권한 획득하시고, 

다음 누르시면 됩니다. 

앞에서 했는데 또 묻네요 ^^

실제로 설치할 패키지를 선택 합니다. 기본적으로 편리하게 사용하기 위해서 DBeaver와 java를 꼭 선택 하십시오.

설치 위치 정하시구요.

윈도우 메뉴도 정하시고 설치 누르시면

설치를 시작 합니다. ^^

이 화면 나오면 마침 누르시면 됩니다. ^^

Dbeaver가 실행 됩니다. 

tip of day는 꺼주시고

저는 아마 upgrade한 것이라 그런 것 같은데 다운로드 하시면 됩니다. 

요렇게 되어 있으면 잘 설치 된 겁니다.

오늘은 여기까지 하고, 

다음 글에서 MySQL 서버와 연결하는 법을 보안 부터 시작 해서 알아 보겠습니다. 

감사합니다. 

 

반응형
반응형

요즘은 ORACLE 관련 글을 계속 적고 있네요.

요즘 사이트에서 사용하고 있는 DB가 ORACLE 이어서 그렇습니다. ^^

1. 오류 발생

오류가 아래와 같이 발생 하더라구요. 

SQL> drop index hr.JHIST_EMP_ID_ST_DATE_PK;
drop index hr.JHIST_EMP_ID_ST_DATE_PK
              *
ERROR at line 1:
ORA-02429: cannot drop index used for enforcement of unique/primary key

2. 오류와 관련 된 테이블 확인 하기 

SQL> column constraint_name format a30;
SQL> select constraint_name from all_constraints where index_owner = 'HR' and index_name = 'JHIST_EMP_ID_ST_DATE_PK';

CONSTRAINT_NAME
------------------------------
JHIST_EMP_ID_ST_DATE_PK

3. Drop Constraint

인덱스를 지우기 전에 Constraint를 먼저 수정 해야 합니다. 

SQL> alter table hr.job_history drop constraint JHIST_EMP_ID_ST_DATE_PK;

Table altered.

4. Drop index

이제 인데스를 지웁니다. 

SQL> drop index hr.JHIST_EMP_ID_ST_DATE_PK;

Index dropped.

오류 없이 잘 지워 집니다. 

잊어 버리지 않으려고 한글로 번역해서 ^^

감사합니다.

원본 출처 : How to Resolve ORA-02429: cannot drop index used for enforcement of unique/primary key - Ed Chen Logic

반응형
반응형

이 쿼리는 가끔 쓸일이 있는데 매번 잊어 버리는 것 같습니다. T.T

GRANT SELECT, DELETE, INSERT, UPDATE ON TARGET_TABLE TO TARGET_USER;

 

권한 주기 명령어는 일단 GRANT 입니다. 

그리고 권한의 내용으로 더 많이 있지만, 기본적으로 데이터 베이스 사용자가 가져야할 권한을 SELECT DELETE INSERT UPDATE가 되겠지요 ^^

TARGET_TABLE은 어느 테이블에 줄 것인가?

TARGET_USER 는 어느 사용자에게 줄 것인가?

입니다. 

문장을 잘 변경해서 사용함시면 되겠습니다. 

감사합니다. 

 

반응형
반응형

안녕하세요 가야태자 @talkit 입니다.

매번 할때마다 잊어버리는 쿼리네요 t.t

 INSERT INTO target_table (col1, col2, col3) SELECT col1, col2, col3 FROM source_table WHERE condition;

위와 같이 하면 되납니다. ^^

SOURCE_TABLE 이 가져올 테이블이고 , TARGT_TABLE 넣을 테이블 입니다.

COL1, COL2, COL3 는 원하는 컬럼을 넣으시면 됩니다.

테이블을 통째로 이동 시키고 싶으시면, WHERE 절은 빼시면 됩니다.

필요한 내용만 가져올 때는 WHERE 절에 원하는 검색식을 넣으시면 됩니다.

감사합니다.

반응형
반응형

오늘은 개발하다가 Oracle 페이징을 어떻게 했지를 잃어 버려서 ^^ 최근에는 MySQL만 계속 사용해서 Limit의 편안함은 ^^ 얼마나 좋은지 모릅니다.

저는 답만 알면 되어서 일단

옛날에는 Rownum 등을 이용해서 뭔가를 많이 해줬던 것 같은데, 프로젝트에서 다른 분들이 해놓은 쿼리를 찾아 보니 ^^

OFFSET 시작카운터-1 ROW FETCH FIRST 원하는줄수 ROWS ONLY

라고 되어 있는 것을 발견 했습니다.

실제로는

OFFET 0 ROW FETCH FIRST 20 ROWS ONLY

였습니다.

그래서 저는 눈치로 필요한 쿼리를 작성 했습니다.

SELECT A,B,C,D FROM TB_TESTPAGE ORDER BY A DESC OFFSET 0 ROW FETCH FIRST 20 ROWS ONLY

처럼 작성 했습니다.

그런데, 조금 상세한 내용이 궁금해서 찾아 봤습니다.

https://programmer93.tistory.com/4

예전 방식의 쿼리 입니다.

https://action713.tistory.com/entry/Oracle-FETCH-%EA%B5%AC%EB%AC%B8-%EC%82%AC%EC%9A%A9%ED%95%98%EA%B8%B0

요즘 방식의 쿼리에 대한 설명입니다.

저는 구현만 하면 되어서 설명 보다는 어떻게 사용했는지를 적었습니다.

하지만, 다른 분들은 친절하게 설명해주셨으니 읽어 보시면 도움이 될 것 같습니다.

감사합니다.

반응형
반응형

최근에 몽고디비를 사용할일이 있었는데 괜찮은  데이터베이스인 것같다. 

그래서 공부도 해볼 겸 몽고디비 아틀라스에 가입해본다. 

Google아이디가 있으면 정말 간단한 것 같다. 

Sign Up with Google 을 클릭 한다. 

그리고, 아이디가 여러개면 선택하고, 하나라면 계속 진행하면 된다. 

그리고 저기에 동의만 해주면 된다. 

이제 가입이 되었다.

그리고 잠시뒤에 다음 페이지로 이동한다. 

위의 정보를 적당하게 수정한다. 나는 위에는 그대로 두고, JavaScript를 이용해서 공부를 할 것이라서 JavaScript 를 클릭 하고 Continue 를 눌렀다. 

나는 무료로 할 것이라서 맨 마지막의 create a cluster / FREE를 클릭 했다. 

 

구글을 좋아해서 구글을 선택했고, 음 아시아에 서울리전이 분명히 있는데 왜 도쿄 밖에 없는 것인가 T.T 그래서 미국 Iowa를 선택 했다.

나머지는 그대로 두고 Create Cluster를 클릭 한다. 

위와 같이 나온다. 

이제 데이터베이스를 만들어 보자 Create your first database user를 클릭 한다. 

친절하게 왼쪽 메뉴의 Database Access 를 클릭하라고 안내해준다. 

위에서 Add New Database User를 클릭 한다. 

그리고 패스워드 방식 그대로 두고, 

첫번째 칸에 아이디 두번째 칸에 비밀번호를 넣어 준다. 

나머지는 일단 그대로 Add User를 클릭 한다. 

위와 같이 아이디가 만들어졌다. 

정말 친절한 시스템이다. 다음으로 White List IP를 지정하는 부분이 나온다. 

왼쪽에서 Network Access를 클릭 한다. 

저기 Add Current IP Address 를 클릭 한다. 

혹시나 아무데서나 접속하게 하고 싶으면 Allow Access Form Anywhare 를 선택하고 Confirm을 클릭 한다. 

나는 일단 내가 있는 곳의 아이피를 일단 하고 추후에 서버 아이피를 추가할 예정이다. 

Confirm 을 클릭 하면 된다. 

조금 있다가 화면에 리스트가 나타나는데 Active로 바뀔때까지 잠시 기다려 준다. 

샘플데이터 로드는 안해도 된다고 되어 있지만, 

일단 해보려고 한다. 

방법은, 왼쪽에서 Cluster를 클릭하고 

 

그림에서 처럼 ...을 클릭 하고, Load Sample Dataset을 선택 한다. 

좀 있다가 지워줘야겠당 T.T

무료로 받은 용량이 500메가인데 이런, 350메가나 된다. ㅎㅎㅎ

일단 마지막 과정인 것 같다. 

역시 왼쪽 메뉴에서 Cluster를 클릭 하고 화면 처럼 Connect를 클릭 한다. 

Compass로 시도 해봤었는데 뭔가가 이상한지 안되네요.

그래서, Connect with the mongo shell을 이용해서 진행 했습니다. 

저기 있는 주소를 클릭 복사 합니다.

그리고 위에 있는 Download mongo shell을 클릭 합니다. 

그리고, 적당한 위치에 압축을 풉니다. 도스 프로그램이므로 접근하기 쉽게 합니다. 

저는 습관처럼 dev  폴더에 풉니다. 

도스창을 열고 cd 압축 푼폴더\bin 에 접근 합니다. 

아까 복사한 주소를 입력하고, 비밀번호를 넣으면 접속 됩니다. 

<dbname>을 적당하게 test 정도로 저는 변경해 주었습니다. 

mongo "mongo+srv://주소/test" --username 생성한username

MongoDB Enterprise 어쩌고저쩌고^^:PRIMARY>

위와 같이 나오면 정상적으로 접속 된 것입니다. 

show databases

를 해보면, 사용할 수 있는 데이터베이스가 보입니다. 

use 데이터베이스명을 하시면 해당 데이터베이스를 사용할 수 있습니다. 

show collections 를 하시면 사용할 수 있는 콜렉션들이 보입니다. 

admin               0.000GB
local               1.220GB
sample_airbnb       0.051GB
sample_analytics    0.009GB
sample_geospatial   0.001GB
sample_mflix        0.040GB
sample_restaurants  0.005GB
sample_supplies     0.001GB
sample_training     0.040GB
sample_weatherdata  0.002GB

저는 아까 넣어둔 샘플들이 보이네요.

use sample_airbnb

show collections  

listingsAndReviews

여기 까지 하면 일단 몽고디비아틀라스를 가지고 작업할 준비가 되었습니다. 

감사합니다. 

반응형
반응형

안녕하세요 가야태자(@talkit) 입니다.

지난주 강좌 소개글은 https://steemit.com/hive-101145/@talkit/2020-05-21-mariadb-database-001 에서 확인하실 수 있습니다.

설치가 되진 않았지만, 설치 준비글에 해당하는 글은 https://steemit.com/hive-101145/@talkit/2020-05-27-mariadb-database-002-1 이글에서 확인할 수 있습니다.

오늘 설치하려는 프로그램은 어제는 서버이고, 오늘은 클라이언트에 해당 합니다.

서버 설치는 주말에 컴을 한번 껏다켜고 진행하도록하고, 클라이언트 부터 시작하겠습니다. 저는, 서버 설치 해둔 것이 있습니다. ^^

원래 MariaDB나 MySQL은 mysql.exe 또는 mysql 이라는 강력한 텍스트 기반의 클라이언트를 제공 합니다.

하지만, SQL이라는 것에 익숙하지 않으면, 또는 저같이 익숙한 사용자도 사용하기가 힘듭니다. ^^

하지만, 저 클라이언트가 공식 클라이언트라서 가장 강력한 것은 사실 입니다.

오늘 제가 소개하고자하는 툴은 DBeaver 라는 툴로, OpenSource 이고, 기업이든, 개인이든 상관 없이 무로ㅛ 입니다. 하지만 NoSQLDB를 사용하고 싶다면 Enterprise 버전을별도로 판매하고 있습니다.

우리가 사용하고자하는 MariaDB, MySQL 일반인들도 만이 들어 보신 Oracle, MS-SQL 등은 RDBMS(관계형데이터베이스관리시스템)으로 커뮤니티 버전으로 충분히 사용가능 합니다.

https://dbeaver.io/

위 주소에 접속하시면, Download 버튼을 클릭하시고,

저기 커뮤니티 버전 중에 Windows 64bit (Installer) 를 다운 받아서 설치 하겠습니다.

저는 이미 설치 되어 있어서 업그레이드 될 것으로 생각 됩니다.

^^

개발툴인 eclipse의 플러그인을 설치하셔도 되지만, 독립적인 버전을 선호 합니다. ^^

예전에는 다운로드가 빨랐는데 오늘은 다운로드가 무자게 늦네요 T.T

저는 일단 다운이 잘 안받아져서 서버를 통해서 다시 다운 받고 있습니다. 이게 더 빠르네요 헉

일단 다운 받으셨으면 실행 하십시오.

실행하실때 오른쪽 마우스 누르셔서 관리자로 실행을 하시고, UAC 동의를 하시는 것이 좋을 것 같습니다.

저는 UAC 동의를 중간에 하니까, 다시 설치 과정이 반복되네요 T.T

저처럼 하지 마시라고 다시 알려 드립니다. ^^

오 왠일로 이소프트웨어는 한국어가 포함되어 있습니다. ^^

하지만, 영어로 설치하시는 것은 권해 드립니다.

앞으로 강의 할때 제 메뉴가 아마 영어 일꺼라서 그렇습니다.

Next

I accept

Next

Next

이때 SQL 파일들은 체크하셔도 좋고, 안하셔도 좋습니다.

Next

Install

설치를 진행 합니다.

Create Desktop Shortcut를 체크는 원하시는대로 하시고, Finish를 클릭하시면 끝입니다.

바탕화면의 숏컷을 누르시거나, 시작 메뉴의 DBeaver 메뉴를 선택하시면 실행이 가능 합니다.

이렇게 실행 됩니다.

일단 정상적으로 실행 되면 이런 모습니다.

오늘은 여기까지 하고, 다음에는 저 클라이언트를 이용해서 여러가지 일들을 해보도로 하겠습니다.

감사합니다.

내일도 즐거운 하루 되십시오.

반응형
반응형

안녕하세요 가야태자(@talkit) 입니다.

지난주 강좌 소개글은 https://steemit.com/hive-101145/@talkit/2020-05-21-mariadb-database-001 에서 확인하실 수 있습니다.

MariaDB는 윈도우즈, 리눅스 매킨토시 등 다양한 OS에 설치가 가능 합니다.

오늘은 윈도우즈에서 설치하는 법을 알아보겠습니다.

https://mariadb.org/download/

위 주소에 가셔서 다운로드 하시면 됩니다.

Download MariaDB Server 링크를 클릭하시고

저위에 세가지 버전 외에도 다양한 버전이 존재 합니다.

저는 최신 버전을 설치하시라고 권해 드립니다.

하지만, RC 보다는 Stable 버전을 설치하시는 것을 권합니다.

그래서 10.4의 다운로드 버튼을 클릭 합니다.

클릭하시면 저것보다는 많은 것이 나옵니다.

저는 오른쪽에 Windows를 클릭 했습니다.

그중에서 mariadb-10.4.13-winx64.msi 을 다운로드 받으십시오.

혹시 윈도우즈가 32비트시면 32비트를 다운 받으셔야 합니다.

클릭하면 다운로드를 시작 합니다.

브라우져 하단에서 실행하시던지, 다운로드 폴더에서 실행하시면 됩니다.

실행하시면 저렇게 나옵니다.

Next

I accept ~ 에 체크하고 Next ^^

여기서도 Next를 누르십시오.

root 패스워드를 넣어 주시면 됩니다.

개인 컴퓨터에 까시는 것이면 쉽게 입력하셔도 되고 보안 생각하시면 어렵게 넣으시면 됩니다.

그리고 밑에 Use UTF8 as default server's character set 은 체크를 하시는 것이 좋습니다.

요즘 대부분 UTF8을 사용하시니까요.

Enable remote는 체크하시면 안됩니다.

보안 관계상 root는 로컬PC에서만, 나중에 Remote가 가능한 계정은 따로 생성하시면 됩니다.

저는 install as server의 체크를 지울 것입니다.

하지만, 컴퓨터에 계속 켜도도 상관 없다고 생각하시는 분은 그대로 두셔도 됩니다.

실제로 서버로 운영하실 분은 체크 하셔야 합니다.

여기서도 그냥 Next 입니다.

Install 눌러 주시면 됩니다.

그러면, 설치를 시작 합니다.

지금 제 컴에서 뭔가를 작업중인데 이게 reboot 되면 안되는데 T.T

나중에 reboot 하면 된다는 소리겠죠 T.T

혹시 저 메시지가 나오면 OK 누르시고 추후에 컴퓨터 한번 껏다 켜셔야 될 것 같습니다.

음 서버 설치가 실패 했습니다.

오늘 제가 노트북에 서버 작업을 하고 있어서 리붓을 하면 안되가지고, 내일 다시 시도 하고 글을 적도록 하겠습니다.

(1)은 혹시나 해서 적었는데 ㅋㅋㅋ 제목대로 되어 버렸습니다.

내일도 즐거운 하루 되십시오.

오늘내용에서는 Download 밖에 못했네요 T.T

감사합니다.

반응형
반응형

안녕하세요 가야태자(@talkit) 입니다. 옛날 부터 쓰고 싶은 글이었는데 한번 적으보려고 합니다.

원래는 MySQL이라는 DB 엔진을 사용했었습니다.

하지만, MySQL이라는 DB가 Oracle이라는 회사에 인수 되었습니다.

그래서 MySQL 커뮤니티 버젼도 사용하지만, MariaDB를 사용하고 있습니다.

재밌는 것은 MySQL이나 MariaDB가 쌍둥이여서 명령어도 동일하다는 겁니다.

심지어 클라이언트도 호환이 가능합니다.

Java라는 프로그램의 DB 드라이브도 호환이 가능 합니다.

오늘은 목차 성격으로 글을 적도로 하겠습니다.

  1. MariaDB Server 설치
    -> 워낙 글을 써놓은 분들이 많으셔서 저는 실습 형태로 그냥 진행하겠습니다.

  2. MariaDB Client 설치
    -> mysql.exe라는 도스 형태의 클라이언트를 사용해도 되지만, DBeaver 라는 클라이언트를 소개 합니다.

  3. MariaDB 계정 설정
    -> root 계정을 그대로 사용해도 되지만, 자신만의 계정을 만들고, Database를 만들어서 사용하는 것이 보안상 좋아서 해당 내용에 대한 설명을 진행 합니다.

  4. SQL 설명
    SELECT, INSERT, UPDATE DELETE 문에 대해서 간략히 소개 합니다.

  5. SQL 실전
    가계부 테이블을 하나 만들고 가계부를 SQL로 같이 만들어 보도록 하겠습니다.

  6. SQL 튜닝
    데이터베이스는 데이터가 늘어나면 느려 집니다. 느려지지 않도록 설계하고, 만들어야겠지만, 설계를 제대로 해도 느려지는 경우가 있어서 SQL을 이용해서 튜닝을 진행 합니다.

요정도의 문서를 만들어 볼생각입니다. 1~2주에 한편정도 출판을 해볼 계획입니다.

감사합니다.

내일도 즐거운 하루 되십시오.

반응형
반응형

글제 목이 너무 거창한데요. 


이것두 다음 팁에 답변을 단 내용입니다.


질문의 내용은 문헌정보학과를 다니는 학생분인데 가면 컴퓨터 과목을 어떤 것을 배우고 데이터베이스는 어렵나요 라는 질문이었습니다. ^^;;


제가 생각해도 답변을 너무 잘 단것 같아서 ㅋㅋㅋ


아래와 같이 달았습니다.



문헌정보학과에서 컴퓨터를 어떤 것을 배우는지는 저도 잘 모르겠습니다만,


데이터베이스는 어렵지 않습니다. ^^;;


그냥, 노트나 용돈 기입장을 생각하시면 됩니다.


저 내용을 컴퓨터로 옮긴다고 생각하고, 노트를 뒤져서 검색할 것을 컴퓨터로 검색을 한다고 생각하시면 됩니다.


좀더 깊이 들어가면 많은 개념을 더 아셔야 하지만,


INSERT 입력

SELECT 조회/출력

UPDATE 수정

DELETE 삭제


이 네개만 잘 쓰시면, 데이터베이스는 쉽습니다. ^^;;


아까 이야기 한대로 용돈 기입장에 용돈 쓴것을 기록 한다 INSERT


몇월 몇일날 썼던 용돈은 얼마인지 찾는다(SELECT)


어제 쓴 내용중에 틀린 부분이 있어서 수정한다.(UPDATE)


오늘 쓴 내용중에 세번째 줄을 지운다.(DELETE)


입니다. ^^;;


교수님께 설명을 잘 들으시면, 될것으로 생각 됩니다.


감사합니다.


여기까지가 답변 글이구요.


조금 더 이야기를 하면, 


데이터베이스는 자료를 다루는  기술과 그 자료를 저장하고 있는 저장소를 함게 이르는 말입니다.


그래서 우선 데이터베이스 서버로 많이 쓰이는 것이


Oracle - 상용입니다.


MySQL - 무료도 되고 상용도 됩니다.


MariaDB - 무료 이지만, 유료로 서비스를 받으실 수 있습니다. MySQL과 동일합니다.  ^^;; 심지어 서로 클라언트가 그대로 호환 됩니다. 


IBM DB2 - 상용입니다.


PostgreSQL - 무료도 되고 상용도 됩니다.


MSSQL - 상용입니다.


위 까지는 외국에서 만들어져 있는 것들이구요.


Cubrid 라는 국산 DB가 있습니다. 마찬가지로 무료와 유료 정책을 함께 가지고 있습니다.


다른 데이터베이스도 있겠지만, 제가 써본 녀석이라서 ^^;


즐거운 하루 되십시오.





반응형
반응형






우선 문자열을 날자(날짜)로 바꾸는 함수는 TO_DATE로 아래 문서를 참조 하십시오.



http://talkit.tistory.com/346



오늘 설명할 함수는 날짜나 숫자를 문자열로 바꾸는 함수이다.


기본적인 사용법은 



TO_CHAR(날자또는숫자[,형식]);



우선 숫자형일 때는 


9 : 숫자지만, 빈자리를 공백으로 채움.

0 : 숫자지만, 빈자리를 0으로 채움.

, : 천단위의 콤마 (외국의 경우 소수점 일 수 있음.)

. : 소숫점 (외국의 경우 천단위를 나타낼 수 있음.)


실제로 123456을 문자열로 치환해 보면,


SELECT TO_CHAR(123456,'999,999,999,999') FROM DUAL


이렇게 하시면 


123,456 이라는 결과를 얻을 수 있습니다.


숫자를 이용해서  PK등을 만들어야 할때 LPAD를 사용해도 되겠지만,


SELECT TO_CHAR(12345, '00000000') FROM DUAL


이렇게 하면


00012345 라는 결과를 얻을 수 있습니다.



이번에는 날짜를 문자열로 치환할때 사용하는 형식 입니다.


YYYY 년

RRRR 년

MM 월

DD 일

HH 시간(12시)

HH24 시간(24시)

MI 분

SS 초


의 형식을 이용해서 원하는 형식으로 치환 할 수 있습니다.


MEMBER Table의 REG_DT 라는 필드가 날짜 형일때 다음과 같이 사용할 수 있습니다.


SELECT TO_CHAR(REG_DT, 'YYYYMMDD HH24:MI:SS') FROM MEMBER;


2017010 09:09:09 식의 결과를 얻을 수 있습니다.



즐거운 한주 되십시오.



반응형
반응형


ORACLE(오라클)에는 날짜를 표시하는 형이 DATE 형 입니다. 


그런데, 문자열로도 날짜를 표시 합니다. 


이때 해당 날짜에서 몇일을 뺀다 든지, 몇일을 더한다든지 또는 몇시간을 빼려면 어떻게 해야할까요.


가장 좋은 방법은 DATE 형으로 바꿔서 DATE 연산을 하는 것이 최선이겠지요 ^^


그래서 사용하는 함수가 TO_DATE 입니다.


사용법은 


TO_DATE(문자열,날짜패턴) 


입니다.


여기서 문자열은 '20161010 11:11:11' 같은 문자로 된 년월일시분초 정보입니다.


날짜 패턴은


YYYY : 4자리 년도


MM : 2자리 월


DD : 2자리 일


HH24 : 24시간 단위 시간


MI : 분


SS : 초


등입니다. 


좀 더 상세 한 내용은 https://docs.oracle.com/cd/B19306_01/server.102/b14200/sql_elements004.htm#i170559 URL에서 확인 하실 수 있습니다. 



실제 위의 문자열을 TO_DATE로 DATE 형으로 변환해 보면 아래와 같습니다. 


SELECT TO_DATE('20161010 11:11:11' , 'YYYYMMDD HH24:MI:SS') FROM DUAL


로 하시면 됩니다.


MySQL STR_TO_DATE 함수는 http://talkit.tistory.com/268 을 참조 하시면 됩니다.


감사합니다.




반응형
반응형


오늘은 ORACLE에서 문자열 길이를 젤 때 사용하는 LENGTH를 설명하려고 합니다.


최근에 우편번호 작업을 한적이 있습니다.


우편번호가 6자리에서 5자리로 바꼈죠 ^^;;


그래서 구 우편번호를 구해서 신 우편번호로 변경해 주는 작업을 했습니다.


그 때 오랫만에 LENGTH 함수를 사용했습니다.


사용 법은 



LENGTH(구하하고자하는 문자열) 



입니다.


우편번호가 여섯 자리이기 때문에 가상의 테이블 MEMBER에 들어 있는 우편번호가 6자리인 회원정보를 가져오는 쿼리 입니다. 그래서 6섯 자리를 5자리로 변환해 줘야겠지요. ^^;


SELECT * FROM MEMBER WHERE LENGTH(ZIPCODE) = 6


위와 같이 하시면, 6자리 우편번호를 가진 MEMBER의 모든 레코드를 가져옵니다.


가끔 기억이 안나기 때문에 적어 둡니다.


즐거운 하루 되십시오.



반응형
반응형





오랫만에 블로그에서 글을 씁니다.


C나 PHP의 경우는 SUBSTR 함수가 문자열의 시작값이 0 입니다.


하지만, 데이타베이스의 경우 보통 ORACLE, MySQL 등에서 사용할 때는 1부터 시작 합니다.



SUBSTR(문자열,시작 Index[, 글자수]);


기본 적인 사용 방법은 위와 같습니다.


저기서 글자 수 넣지 않으셔도 됩니다.


실제로 사용을 해보면,



SELECT SUBSTR('가야태자의IT이야기', 1) FROM DUAL 


위와 같이 하면 모든 문자열을 다 가져 옵니다.



SELECT SUBSTR('가야태자의IT이야', 2,2) FROM DUAL 


두번째 자리부터 2자리를 가져 옵니다.


야태

를 뱉습니다. 


끝으로 시작 인덱스를 -로 넣으셔도 됩니다. 그러면 뒤에서 그 자리수만큰 가져 옵니다.


SELECT SUBSTR('가야태자의IT이야', -3) FROM DUAL 


이렇게 하시면 결과 값은 

   이야기 

를 뱉습니다.


즐거운 하루 되십시오.


감사합니다.



반응형
반응형

카테고리를 무료 소프트웨어에 두느냐 데이타베이스에 두느냐를 놓고 고민을 좀 했습니다. ^^;;


결론은 데이타베이스에 두는 것으로 했습니다.


우선 DbDesigner는 일반적으로 데이타 베이스를 설계하는 문서 중에서 개체관개도 즉 ERD를 그리는 툴입니다.


유명한 툴로 ER-Win 이라는 툴이 있습니다.


저는 주로 Oracle도 사용하긴 하지만, MySQL을 사용하기 때문에 ^^;;


저런 비싼툴을 쓸 필요가 없습니다. ^^;;


그래서 많은 ERD 툴을 사용해봤습니다. Eclipse에 플러그인으로 출시된 버젼도 사용해봤구요.


그런데 저 툴이 가장 좋더라구요 ^^;;


일단 사이트에 방문하셔서 다운로드 하시면 기업이든 개인이든 간에 무료로 사용하실 수 있습니다.


사이트 주소는  http://www.fabforce.net/dbdesigner4/ 입니다.



사이트에 가시면 요렇게 생겼습니다. ^^;;


그리고 저기에 간략한 소개는 디비디자이너는 데이터베이스를 설계하는 비쥬을 시스템이다 라고 되어 있습니다.


그리고, 비슷한 툴을 나열해 놓았는데 제가 말씀 드린 ErWin이라던지, OracleDesigner, IBM Retiaon Rose, DataArchitch 등을 소개하고 있습니다. 


이제 본격적으로 다운로드 하시면 됩니다.


다운로드 페이지에 접근하시려면, 아래로 접근하시면 됩니다.


http://www.fabforce.net/downloads.php


윈도우즈 리눅스 잘 선택하셔서 다운로드 하십시오


저는 윈도우즈용을 다운로드 했습니다.


그리고 설치는 다운로드한 exe 파일을 더블 클릭하셔서 다음(Next)만 계속 누르시면 됩니다. ^^;;



대충 위와 같은 분위기로 생겼습니다. ^^;;



툴은 대충 저기 빨간 네모친 것들 가장 많이 사용합니다.


데이터 베이스를 설계 하시는 분이라면 관계에 대해서 아실 것으로 생각 됩니다. ^^;;


여기에 DB에서 ERD 추출 ERD를 DB스크립트로 만들기 등이 가능 합니다.








반응형
반응형




이번에는 CUBRID를 사용하는 프로젝트에서 NULL 처리할  일이 있어서 적어 둡니다.


CUBRID 의 경우 


IFNULL 을 사용할 수 있습니다.


IFNULL(필드명 또는 값, NUL일때원하는표현)


IFNULL(sample, 0)


sample 이라는 필드가 NULL이면 0으로 표현 입니다.


그리고 또한가지 


COALESCE(필드명 또는 값, NULL일때원하는표현)


COALESCE(sample,0)


IFNULL과 동일한 기능입니다.


그리고 CUBRID 외에 다른 데이터 베이스들은 


MySQL 

ifnull(필드,처리할 값)


Oralce
NVL(필드,처리할 값)


MSSQL

ISNULL(필드,처리할 값)

MySQL과 Oracle MSSQL에서 각각 NULL처리를 담당하는 함수들입니다.

전 주로 오라클을 써서 NVL로 알았는데요

다 다르네용 T.T


반응형
반응형




오늘 개발을 하다가 MySQL에서 Blob 값이 insert 되지 않는다는 것이었습니다.


그래서 구글링을 했구요 ^^;;


CAST 함수를 통해서 해결 할 수 있었습니다.


CAST(변수명 as 타입형태 )


요렇게 쓰시는 함수 입니다.


예를 들어서 숫자를 문자로 변환 하려면


처음에 제가 이렇게 했습니다.


CAST(1000 as varchar(10))


이렇게 했더니 ^^;;


오류가 났습니다.


varchar 형은 타입으로 올수가 없습니다. ^^;;


저것을 고친 것은 


CAST(1000 as char(10))


으로 사용하시면 됩니다.


여러분들이 저같은 실수를 하지 않기를 바랍니다.


좀 더 자세한 설명은 아래 URL을 이용해 주십시오.


https://dev.mysql.com/doc/refman/5.0/en/cast-functions.html#function_cast


감사합니다.


반응형
반응형

오랫만에 짧은 블로깅 하나 하겠습니다.


요즘 수집기를 개발 하고 있는데 ^^;;


그 수집기에서 블로그나 트위터 등에서 가져오면 날짜를 정리할 일이 있습니다.


Java의 Date를 사용해도 되겠지만,  ^^;;


MySQL의 Function으로도 해결 가능합니다.


그게 바로 str_to_date 입니다.


일단 제가 주로 수집 하는 애들은


Wed, 22 Jul 2015 11:26:50 +0900



자료가 위와 같이 되어 있습니다.


저것을  MySQL의 SELECT 문으로 바꾸면


SELECT str_to_date('Tue, 01 Sep 2015 10:28:18 +0900' , '%a, %d %b %Y %H:%i:%s +%x') 


%a : 요일 약어


%d 날짜


%b 월의 약어


%Y 4자리 년도


%H 24시간제 시간

%i 분

%s 초

+는 그냥 값에 있는 것입니다.

%x는 그외 입니다.(아래에 URL에 있는 것들중 없는 것입니다. 실제 값에서는 우리가나의 표준시를 나타내기 위해서 +0900을 표시하고 있습니다.)


위와 같이 하면 됩니다.


감사합니다.


그리고, 

https://dev.mysql.com/doc/refman/5.5/en/date-and-time-functions.html#function_date-format


포맷이 틀려 졌을때 위의 URL에 가시면 저 포맷에 관한 이야기가 나옵니다. 


반응형
반응형
안녕하세요
빅데이터 커뮤니티 운영자입니다

오는 2012년 7월 9일(월)에 제1회 빅데이터 오픈소스 플랫폼 기술세미나를 개최합니다
빅데이터 기술 분야의 저변화와 대중화를 위해 오픈소스 하둡 및 R에 대한 전문적인 강의를 준비하였습니다
이번에는 제1회이기 때문에 NIPA 공개SW역량프라자의 지원을 통해 제29회 Open Technet을 주관하게 되었습니다

아마도 국내에서는 하둡 관련 전문 강의를 들을 수 있는 자리가 그동안 없었을 것입니다
빅데이터 커뮤니티에서 왕성하게 활동하고 계시는 장교수님의 하둡 강의를 듣고, 빅데이터 분석의 꿈을 키워 보시기 바랍니다







-> 참가신청하기


관심 있으신 분들은 위의 링크를 클릭하셔서 

참가 신청 하십시오..

세미나는 무료이고, 빅데이터에 관련된 많은 도움이 될 것으로 기대 하고,

저는 이미 신청 했습니다. ^^;;



반응형
반응형


블로그를 티스토리로 옮기면서 제일 먼저한 작업이 SQLite의 번역이었습니다.


요즘 너무 바빠서 못하고 있었습니다. 요건 핑계일 가능성이 다 분하다는 ^^;;


그래서 그때 약속 드린대로 우선 SQLite의 데이터 형에 관해서 부터 다시 번역을 시작 합니다.


모든 SQL database 엔진들은 (SQLite 외의 모든 SQL database  엔진, 현재까지 우리가 알고 있는) 정적, 엄격한 타입을 이용한다. 


정적 타입과 함께, 값의 데이터 타입(테이터형)은 그것의 컨텐이너가 결정한다. 특별한 칼럼 값을 정장하는 


SQLite는 좀더 일반적인 동적 타입 시스템을 사용한다. SQLite에서 값의 데이터타입(데이터형)은 값과 관계가 있다. 그것의 컨텐이너와는 관계가 없다. SQLite의 동적 타입 시스템은  거꾸로 좀더 의미상으로 다른 데이터베이스 엔진의 일반적인 정적 타입 시스템과 호환 된다. 정적 타입의 데이터베이스 들 상에서 일하듯이 SQL 문장은 SQLite에서 같은 방식으로 동작한다.


그러나, SQLite에서 동적 타입은 전통적인 엄격한 타입 데이터베이스들에서 불가능한 것듯을 허락한다.



Most SQL database engines (every SQL database engine other than SQLite, as far as we know) uses static, rigid typing. With static typing, the datatype of a value is determined by its container - the particular column in which the value is stored.

SQLite uses a more general dynamic type system. In SQLite, the datatype of a value is associated with the value itself, not with its container. The dynamic type system of SQLite is backwards compatible with the more common static type systems of other database engines in the sense that SQL statement that work on statically typed databases should work the same way in SQLite. However, the dynamic typing in SQLite allows it to do things which are not possible in traditional rigidly typed databases.



앞으로 아래 글들에 대한 번역을 진행 하도록 하겠습니다.



1.0 Storage Classes and Datatypes

2.0 Type Affinity

3.0 Comparison Expressions

4.0 Operators

5.0 Sorting, Grouping and Compound SELECTs

6.0 Collating Sequences


저는 차례만 있도록 편집 했다고 생각학 잊고 있었는데 

헉 전문이 나갔네요 T.T




반응형
반응형

ADODB를 사용하시는 분들은 다 아시겠지만,

제가 ADODB를 잘 사용하지 않아서 적어 둡니다.

어제 오늘 삽질을 좀 했거든용

adFloat라는 DataType이 없네용

T.T

아래 표에 따르면 adDouble로 변경해 주어야 합니다.


DataType Enum Value Access SQLServer Oracle
adBigInt 20   BigInt (SQL Server 2000 +)  
adBinary 128   Binary
TimeStamp
Raw *
adBoolean 11 YesNo Bit  
adChar 129   Char Char
adCurrency 6 Currency Money
SmallMoney
 
adDate 7 Date DateTime  
adDBTimeStamp 135 DateTime (Access 97 (ODBC)) DateTime
SmallDateTime
Date
adDecimal 14     Decimal *
adDouble 5 Double Float Float
adGUID 72 ReplicationID (Access 97 (OLEDB)), (Access 2000 (OLEDB)) UniqueIdentifier (SQL Server 7.0 +)  
adIDispatch 9      
adInteger 3 AutoNumber
Integer
Long
Identity (SQL Server 6.5)
Int
 
Int *
adLongVarBinary 205 OLEObject Image Long Raw *
Blob (Oracle 8.1.x)
adLongVarChar 201 Memo (Access 97)
Hyperlink (Access 97)
Text Long *
Clob (Oracle 8.1.x)
adLongVarWChar 203 Memo (Access 2000 (OLEDB))
Hyperlink (Access 2000 (OLEDB))
NText (SQL Server 7.0 +) NClob (Oracle 8.1.x)
adNumeric 131 Decimal (Access 2000 (OLEDB)) Decimal
Numeric
Decimal
Integer
Number
SmallInt
adSingle 4 Single Real  
adSmallInt 2 Integer SmallInt  
adUnsignedTinyInt 17 Byte TinyInt  
adVarBinary 204 ReplicationID (Access 97) VarBinary  
adVarChar 200 Text (Access 97) VarChar VarChar
adVariant 12   Sql_Variant (SQL Server 2000 +) VarChar2
adVarWChar 202 Text (Access 2000 (OLEDB)) NVarChar (SQL Server 7.0 +) NVarChar2
adWChar 130   NChar (SQL Server 7.0 +)  

* In Oracle 8.0.x - decimal and int are equal to number and number(10).


출처 - http://www.w3schools.com/ADO/ado_datatypes.asp

반응형
반응형
MySQL

ifnull(필드,처리할 값)


Oralce
NVL(필드,처리할 값)


MSSQL

ISNULL(필드,처리할 값)

MySQL과 Oracle MSSQL에서 각각 NULL처리를 담당하는 함수들입니다.

전 주로 오라클을 써서 NVL로 알았는데요

다 다르네용 T.T




반응형
반응형
오랫만에 데이타베이스 분류에 글을 쓰네요 ^^;;

MSSQL MySQL Oracle을 번갈아 가면서 쓰다보니

햇깔리는 경우가 있어서 적어 둡니다. ^^;;



MSSQL

SELECT  필드명 + 필드명 + 필드명 FROM 테이블명

SELECT  필드명 +'내용'+ 필드명 FROM 테이블명

MySQL

SELECT CONCAT(필드명,필드명,필드명) FROM 테이블명

SELECT CONCAT(필드명,'내용', 필드명) FROM  테이블명

ORACLE

SELECT 필드명 || 필드명 || 필드명 FROM 테이블명

SELECT 필드명 || '내용' || 필드명 FROM 테이블명


반응형
반응형
오늘도 한 3시간 삽질을 했습니다.

프로그램을 한본 짰는데....

목록 프로그램인데

목록에 DATA가 안나오는 겁니다. ^^;;

T.T

분명히 smartSQL plus에서

DATA를 입력 했는데 말이죠

그런데 한 2시간쯤 뒤에

밑에 직원이

과장님 테이블 만들어 주세요

그리고, 값두 좀 넣어 주세요

라고 이야기를 했는데


그래서 제가 한것 하고 똑같이

값을 넣었습니다. ^^;;


그쪽에서도 안나온다는 것이 아니겠어요

혹시나 해서

smartSQL plus에서

SQL 창하나 더 열고

Commit;



이제 보인다는 겁니다.

혹시나 해서 제 목록 프로그램으로 갔습니다.



보이는 겁니다.


T.T

맨날 MySQL에 Informix만 다루다가

오랫만에 오라클을 다뤘더니

Commit

잊지 말자 Commit




반응형

'DATABASE > ORACLE' 카테고리의 다른 글

[ORACLE] 문자열 길이를 구해보자 LENGTH  (0) 2016.12.07
[ORACLE] 문자열을 잘라보자 SUBSTR  (0) 2016.12.06
[ORACLE] LPAD 함수  (2) 2009.07.24
[ORACLE] RPAD 함수  (0) 2009.05.24
[ORACLE] 트리구조 만들기  (0) 2009.05.23
반응형

예전에 쓰던 Oracle 클라이언트 입니다.

무료 이구요 국내에서 개발 된 제품입니다.

델파이로 만드시고 계시고

개발자 분이

회사에서 상용툴을 사주기전에 개발 하셨다가

계속 쓰시는게 편해서

개발을 계속 하고 계신답니다.

주소를 계속 잊어 버려서  적어 둡니다.

Oracle은

Toad

Golden 등  훌륭한 툴들이 많지만

무료이고 국산툴을 이용 합니다.

http://huikyun.tistory.com/210

http://smartsql.tistory.com/

최근에 제가 oracle을 다시 쓸일이 있어서 smartsql을 구하러 사이트에 방문했는데

아래 주소가 사라져서 받을 수 있는 사이트를 갱신해 둡니다. ^^;;

반응형
반응형
2009/05/24 - [DATABASE/ORACLE] - [ORACLE] RPAD 함수


사용법 : LPAD(변수,길이,변형자);

예)  SELECT LPAD('KOREA', 8, '*') FROM DUAL;
RESULT >>>>>>
***KOREA

좌측에 자리수 만큼 채워줍니다.

RPAD에서 써먹었던 예구용 ^^;;

LPAD는 솔직히

저 예 보다는

예2) SELECT LPAD('1', 8,'0') FROM DUAL
RESULT >>>>>>
00000001

이런식으로 써먹기 위한 것입니다. ^^;;

보통 제어번호 같은거 만들때 시퀀스로 순번을 만들고

char로 값을 채워넣는데 그때 0을 채워 주려면 프로그램을 써야 하지만,

DB에서 lpad를 사용하면 끝입니다.

^^;;

가끔 까먹어서 ^^;;

그리고, 이 글은 ㅋㅋㅋ

낚시성 글이기도 합니다.

요즘 유입 키워드에 RPAD가 있어서 ^^;;

ㅎㅎㅎ



반응형

'DATABASE > ORACLE' 카테고리의 다른 글

[ORACLE] 문자열을 잘라보자 SUBSTR  (0) 2016.12.06
[삽질기] 잊지말자 Commit 명령  (0) 2010.01.15
[ORACLE] RPAD 함수  (0) 2009.05.24
[ORACLE] 트리구조 만들기  (0) 2009.05.23
[ORACLE] 오라클 계정 만들기  (0) 2009.05.21
반응형
1호점에서 가져왔습니다.

우선 APM 설치에 관한 이야기는 인터넷 상에 너무나 많이 나와 있음으로 여기서는 다루지 않음을 밝혀 둔다

우선 APM 즉 Apache PHP MySQL을 운영하고자하는 두대의 서버에 모두 설치한다.

DB 서버를 사용하고자 하는 곳을 정하고 DNS를 설정한다.

웹서비스를 하고자 하는 서버를

www.yourdomain.com 과 yourdomain.com

을 할당하고

DB 서버로 사용하고자하는 서버를

db.yourdomain.com 을 할당한다.

내가 APM을 두대다 설치하라고 한 이유는 간단하다.

우선 한대는 MySQL 서버를 운영할 필요가 없지만 MySQL의 라이버러리와 클라이언트가 필요하다

그리고, 한대는 Apache + PHP가 필요 없지만

요즘 내가 mysql 클라이언트로 MySQL을 운영할 자신이 없기 때문이다.

그래서 phpMyAdmin을 설치하기 위해서는 APM 환경이 돌아가야한다.

그래서 운영하고자 하는서버 두대 모두 APM을 설치하라고 한 것이다.

그럼 설치는 끝났다고 생각하겠다.

그리고, Apache(http) 데몬과 MySQL 데모인 각각의 서버에 제대로 떠 있다고 생각하겠다.

그럼 아까 말한대로 phpMyAdmin을 db.yourdomain.com 서버에

http://www.phpmyadmin.net/

를 방문해서 다운 최신 버전으로 받은 후 설치해라.

설치라고 해야 간단하다.

우선 압축 파일을 받아서

계정에 올리고 웹서비스를 할 수 있는 곳의 root로 옮기고

tar xzvfp phpMyAdmin.version.tar.gz

이렇게하면 풀리는 모습이 보이면서 압축이 풀릴 것이다.

그리고

mv phpMyAdmin.version phpMyAdmin

해서 디렉토리 명을 원하는대로 변경한다.

나는 프로젝트 자체를 존중하기 때문에 프로젝트 명을 디렉토리명으로 쓴다. 버전 까지 쓰고 싶지만 웹에서 접근할때 좀 힘들어서 ^^;;

cd phpMyAdmin

vi config.inc.php

최근 버전 부터 아래 옵션이 생겼다.

$cfgPmaAbsoluteUri = ' http://db.yourdomain.com/yourdir/phpMyAdmin/';

(yourdir)은 없다면 적지 않아도 된다.

그러니깐 이 옵션은 phpMyAdmin을 서비스할 완벽한 URL을 적어 두는 곳이다.

죽 내려보면

$cfgServers[$i]['host'] = 'localhost'; // MySQL hostname


$cfgServers[$i]['auth_type'] = 'http'; // Authentication method (config, http or cookie based)?

여기서 잠깐 auth_type은 원래 config라고 되어 있다 MySQL 자체의 인증을 사용하기 위해서 나는 http를 선택했다.


$cfgServers[$i]['user'] = 'youruser'; // MySQL user
$cfgServers[$i]['password'] = 'yourpass'; // MySQL password (only needed

위와 같은 옵션들이 존재할 것이다.

저것을 여러분들에게 맞게 변경해라.

그리고 저장하고 vi를 닫아라.

저장했으면 이제 웹브라우져에서

http://db.yourdomian.com/phpMyAdmin/

에 접근해 보자

그러면 ID와 PW를 묻는다.

이때 root 아이디와 PW를 넣고 접근한다.

지금 부터 우리는 계정을 생성할 것이기 때문이다.

phpMyAdmin에 접근 했으면

이제 mysql 데이타 베이스에 접근 해라.

그리고 user 테이블로 이동한다.

그리고 추가 버튼을 누른다.

Host 에 www.yourdomain.com 의 아이피를 적어라

IP주소는 nslookup www.yourdomain.com

이라고 하면 알 수 있다.

그리고 userid에 당신이 원하는 아이이들 적고

password에 함수를 선택한다 PASSWORD 함수를 선택하고 옆에 빈칸에 자신이 원하는 비밀번호를 적는다.

그리고, 보통은 아래의 모든 값을 N으로 하고 db를 설정하는 것이 좋다

하지만, 나는 원격 root 성격의 아이디를 만들겠다.

그래서 아래의 값들을 모두 Y를 선택하기를 원한다.

그럼 모두 선택했으면 실행 버튼을 눌러서

아이디를 생성한다.

이대로 두면 MySQL은 방금 생성한 아이디를 제대로 인식하지 못한다.

그래서 셀렉트 바에서 - 를 선택해라.

그리고, 옆 화면을 주시하면 MySQL 재시동 이라는 링크가 보일 것이다.

클릭해라.

그럼 이제 부터 www.yourdomain.com에서 db.yourdomain.com의 MySQL 데이타 베이스에 접근이 가능해 졌다.

그럼 이제 web 서버를 설정하러 가보자

웹서버에는 Apache만 구동한다. MySQL은 구동하지 않는다.

이유는 간단하다. 원격으로 DB 서버를 구성해 두었기 때문이다.

MySQL은 클라이언트로만 사용할 것이다.

그럼 아까 받아 둔 phpMyAdmin을 역시 www.yourdomain.com의 서비스 디렉토리에 설치한다.

압축을 풀고 디렉토리를 변경하는 과정 까지는 같고 콘피그 파일을 설정하는 방법이 조금 다르다.

다음과 같이 따라하면 된다.

vi config.inc.php

$cfgPmaAbsoluteUri = ' http://www.yourdomain.com/yourdir/phpMyAdmin/';

(yourdir)은 없다면 적지 않아도 된다.

그러니깐 이 옵션은 phpMyAdmin을 서비스할 완벽한 URL을 적어 두는 곳이다.

죽 내려보면

$cfgServers[$i]['host'] = 'db.yourdomain.com or dbs.erv.er'.sip'; // MySQL hostname

여기서 여러분은 눈치가 빠른 사용자라면 눈치 챌 것이다.

php 등에서 mysql 접속함수를 쓰면서 다음과 같이 해 줘야 된다는 것을

mysql_connect("db.yourdomain.com or db.yourdomain.com or dbs.erv.er'.sip", "yourid", "yourpw");

이렇게 말이다. 이것 외에는 다른 점이 없다.


$cfgServers[$i]['auth_type'] = 'http'; // Authentication method (config, http or cookie based)?

여기서 잠깐 auth_type은 원래 config라고 되어 있다 MySQL 자체의 인증을 사용하기 위해서 나는 http를 선택했다.


$cfgServers[$i]['user'] = 'youruser'; // MySQL user
$cfgServers[$i]['password'] = 'yourpass'; // MySQL password (only needed

여기서 아까 우리가 생성한 원격서버의 root 계정의 정보를 적어라

당신이 만든 아이디와 패스워드를 말이다. db 서버의 root 계정이 아니고 새로 만든 아이디를 의미한다.

그리고 저장하고 vi를 닫아라.

저장했으면 이제 웹브라우져에서

http://www.yourdomian.com/phpMyAdmin/

저렇게 접근하고 아까 적은 아이디와 패스워드를 넣으면 db.yourdomain.com 에서 본 것과 동일한 환경이 나타날 것이다.

여기까지 끝냈으면 보안을 위해서 일단, db.yourdomain.com의 Apache 서버는 내려라 MySQL은 두고 말이다.

그리고 우리는 이제 www 도메인만 사용한다.

http://www.yourdomian.com/phpMyAdmin/

이곳에 접근해서 원격 슈퍼유져 아이디는 당신만이 기억하고 또는 당신 보스와 함께 하지만, 앞으로 접근할 다른 사람들의 아이디는 db와 성격에 맞게 잘 만들어서 써야한다.

이부분은 더이상 설명하지 않겠다.

이렇게 하면 원격으로 Web 서버와 DB서버를 분리해서 운영할 수 있다.

허접한 글이긴 하지만 여러분들께 많은 도움이 되었으면 하는 바램이다.
반응형

+ Recent posts