Simple relational database written in Rust.
- Add supported types
- Fix side effects of altering the table columns
-
Create new database
CREATE DATABASE <DB_NAME>;
-
Drop database
DROP DATABASE <DB_NAME>;
-
Switch database
USE DATABASE <DB_NAME>;
-
Create table
CREATE TABLE <TABLE_NAME> ( column1 datatype, column2 datatype, column3 datatype, .... );
-
Drop table
DROP TABLE <TABLE_NAME>;
-
Truncate table
TRUNCATE TABLE <TABLE_NAME>;
-
Alter table
- ADD Column
ALTER TABLE table_name ADD <COL_NAME> datatype;
- DROP COLUMN
ALTER TABLE table_name DROP COLUMN column_name;
- ALTER/MODIFY COLUMN
ALTER TABLE table_name ALTER COLUMN column_name datatype;
- ADD Column
SELECT column1, column2, ...
FROM table_name;
SELECT * FROM table_name;
INSERT INTO table_name (column1, column2, column3, ...)
VALUES (value1, value2, value3, ...);
INSERT INTO table_name
VALUES (value1, value2, value3, ...);
UPDATE table_name
SET column1 = value1, column2 = value2, ...
WHERE condition;
DELETE FROM table_name WHERE condition;
pub enum DataType {
// Numeric datatypes
INTEGER,
INT,
FLOAT,
DEC,
// String datatypes
TEXT,
VARCHAR(usize),
ENUM(Vec<String>),
// Bools
BOOLEAN,
BOOL,
}