[PostgreSQL] 테이블 조작

psql로 접속

sudo su – postgres

psql -U postgres DB이름

이렇게 하면 콘솔이 DB이름이 됨. 이제 여기서 할 일을 하면 되는데..

  • \h를 입력하면 사용할 수 있는 SQL을 보여주고
  • \?를 입력하면 사용할 수 있는 psql 커맨드를 보여준다.
  • 그리고 쿼리를 실행하려면 세미콜론으로 끝내면 된다.

컬럼 타입 변경하기

ALTER TABLE 테이블이름 ALTER COLUMN 컬럼이름 TYPE 원하는타입;

예) Comment 테이블의 comment 컬럼 타입을 text로 변경하기

ALTER TABLE Comment ALTER COLUMN comment TYPE text;

테이블 목록 출력

\dt

테이블 스키마 확인

\d 테이블이름

DB 목록 확인

\l (엘)

MySQL 인코딩 설정 바꾸기

MySQL 설정 파일을 변경하여 인코딩 변경하기 => UTF8기반으로 쓰기위한 Mysql 세팅방법
DB 생성할 때 인코딩 옵션 주기 =>

UTF8을 쓰기 위한 MySQL 테이블 및 데이터 취급 방법

create database test DEFAULT CHARACTER SET utf8 collate utf8_general_ci

HSQL 데이터베이스 Persistent 모드와 In-Memory 모드

메모리 모드로 DB를 사용하면 속도도 빠르고 설정도 간단하지만 서버가 꺼지면 영속성이 보장되지 않습니다. 설정은 다음과 같이 합니다.

db.driver=org.hsqldb.jdbcDriver
db.url=jdbc:hsqldb:mem:db이름
db.username=sa
db.password=

Persistent 모드로 사용하려며 hsql db를 구동하고 끄는 작업을 할 스크립트를 만들어 사용하거나 일일히 매번 손으로 타이핑을 해야 하지만 웹 서버가 껐다 켜져도 영속성이 보장 됩니다. 설정은 다음과 같이 합니다.

db.driver=org.hsqldb.jdbcDriver
db.url=jdbc:hsqldb:hsql://localhost/db이름
db.username=sa
db.password=

Ant를 사용한 hsql 시작/종료 스크립트는 다음과 같습니다.

    <target name=”HSQL 데이터베이스 시작”>
        <java classname=”org.hsqldb.Server” classpathref=”base-classpath” fork=”true”>
            <arg value=”-database.0″ />
            <arg value=”data/task” />
            <arg value=”-dbname.0″ />
            <arg value=”task” />
        </java>
    </target>

    <target name=”HSQL 데이터베이스 종료”>
        <sql driver=”${db.driver}” classpathref=”base-classpath” password=”${db.password}” url=”${db.url}” userid=”${db.username}”>
             SHUTDOWN;
            </sql>
    </target>

MySQL DB의 데이터를 CSV파일로

참조 : http://forums.digitalpoint.com/showthread.php?p=3472783

SELECT * INTO OUTFILE ‘YOUR_FILE.CSV’
FIELDS TERMINATED BY ‘,’ OPTIONALLY ENCLOSED BY ‘”‘
LINES TERMINATED BY ‘\n’
FROM YOUR_TABLE;

이런 SQL을 날리면 되더군요. MySQL Administrator에서 해당 기능을 찾다가 안보이길래 구글에서 검색했더니 금방 나오네요.ㅋ;

CSV파일은 Window를 사용중 이시라면
C:\Program Files\MySQL\MySQL Server 5.0\data\”해당 DB 명의 폴더”\
안에 만들어집니다.