rrdb

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
- 키워드는 대소문자를 구별하지 않습니다.
- 문자열은 작은 따옴표(')로 구분되며, 따옴표를 포함시킬 때는 2개를 겹칩니다.
- 식별자는 단순 텍스트르로 구성해도 되고, 큰 따옴표(")로 구분해도 됩니다.
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
}
```
```
테이블 수정
- ALTER TABLE [ IF EXISTS ] name
action
- ALTER TABLE [ IF EXISTS ] name
RENAME [ COLUMN ] columnname TO newcolumn_name
- ALTER TABLE [ IF EXISTS ] name
RENAME TO new_name
action은 다음 중 하나입니다.
- ADD [ COLUMN ] columnname datatype [ column_constraint [ ... ] ] # 향후 [IF NOT EXISTS] 신택스 추가 필요
- DROP [ COLUMN ] column_name # 향후 [ IF EXISTS ] 신택스 추가 필요
- ALTER [ COLUMN ] columnname [ SET DATA ] TYPE datatype
- ALTER [ COLUMN ] column_name SET DEFAULT expression
- ALTER [ COLUMN ] column_name DROP DEFAULT
- ALTER [ COLUMN ] column_name { SET | DROP } NOT NULL
```