rrdb

GitHub license

Rust-based RDB

not complete


설치

cargo install rrdb


기본 사용법

Server

```

스토리지 초기화

cargo run --bin rrdb init

서버 실행

cargo run --bin rrdb run ```

Client

psql -U rrdb -p 55555


Syntax

  1. 키워드는 대소문자를 구별하지 않습니다.
  2. 문자열은 작은 따옴표(')로 구분되며, 따옴표를 포함시킬 때는 2개를 겹칩니다.
  3. 식별자는 단순 텍스트르로 구성해도 되고, 큰 따옴표(")로 구분해도 됩니다.

Database

```

데이터베이스 리스트업

SHOW DATABASES; ```

```

데이터베이스 생성

CREATE DATABASE "database name"; ```

```

데이터베이스 삭제

DROP DATABASE "database name"; ```

```

데이터베이스 변경

ALTER DATABASE "from name" rename to "to name"; ```

```

데이터베이스 변경

USE "database name"; or \c "database name"; ```

Table

```

테이블 목록 조회

SHOW TABLES ```

```

테이블 상세정보 조회

DESC "table name" ```

```

테이블 생성

(table_constraint는 차후 추가할 예정입니다.)

CREATE TABLE [ IF NOT EXISTS ] "table name" ( [ { "column name" datatype [ columnconstraint [ ... ] ] } [, ... ] ] )

column_constraint는 아래 형태 중 하나입니다.

(CONSTRAINT나 CHECK, UNIQUE, REFERENCES 등은 차후 추가할 예정입니다.)

{ NOT NULL | NULL | DEFAULT defaultexpr | PRIMARY KEY indexparameters } ```

```

테이블 수정

  1. ALTER TABLE [ IF EXISTS ] name action
  2. ALTER TABLE [ IF EXISTS ] name RENAME [ COLUMN ] columnname TO newcolumn_name
  3. ALTER TABLE [ IF EXISTS ] name RENAME TO new_name

action은 다음 중 하나입니다.

  1. ADD [ COLUMN ] columnname datatype [ column_constraint [ ... ] ] # 향후 [IF NOT EXISTS] 신택스 추가 필요
  2. DROP [ COLUMN ] column_name # 향후 [ IF EXISTS ] 신택스 추가 필요
  3. ALTER [ COLUMN ] columnname [ SET DATA ] TYPE datatype
  4. ALTER [ COLUMN ] column_name SET DEFAULT expression
  5. ALTER [ COLUMN ] column_name DROP DEFAULT
  6. ALTER [ COLUMN ] column_name { SET | DROP } NOT NULL ```