https://github.com/neuodev/sql
Simple relational database written in Rust.
https://github.com/neuodev/sql
Last synced: 10 months ago
JSON representation
Simple relational database written in Rust.
- Host: GitHub
- URL: https://github.com/neuodev/sql
- Owner: neuodev
- Created: 2022-08-30T02:53:02.000Z (almost 4 years ago)
- Default Branch: master
- Last Pushed: 2022-09-07T03:30:01.000Z (almost 4 years ago)
- Last Synced: 2025-03-02T07:02:46.823Z (over 1 year ago)
- Language: Rust
- Size: 169 KB
- Stars: 3
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# SQL
Simple relational database written in **Rust**.
## Todo
1. Add supported types
2. Fix side effects of altering the table columns
## Commands
### Database
1. Create new database
```sql
CREATE DATABASE ;
```
2. Drop database
```sql
DROP DATABASE ;
```
3. Switch database
```sql
USE DATABASE ;
```
### Tables
1. Create table
```sql
CREATE TABLE (
column1 datatype,
column2 datatype,
column3 datatype,
....
);
```
2. Drop table
```sql
DROP TABLE ;
```
3. Truncate table
```sql
TRUNCATE TABLE ;
```
4. Alter table
- ADD Column
```sql
ALTER TABLE table_name
ADD datatype;
```
- DROP COLUMN
```sql
ALTER TABLE table_name
DROP COLUMN column_name;
```
- ALTER/MODIFY COLUMN
```sql
ALTER TABLE table_name
ALTER COLUMN column_name datatype;
```
### Queries
#### Select
```sql
SELECT column1, column2, ...
FROM table_name;
```
```sql
SELECT * FROM table_name;
```
#### Insert
```sql
INSERT INTO table_name (column1, column2, column3, ...)
VALUES (value1, value2, value3, ...);
```
```sql
INSERT INTO table_name
VALUES (value1, value2, value3, ...);
```
#### Update
```sql
UPDATE table_name
SET column1 = value1, column2 = value2, ...
WHERE condition;
```
#### Delete
```sql
DELETE FROM table_name WHERE condition;
```
## Supported Data Types
```rs
pub enum DataType {
// Numeric datatypes
INTEGER,
INT,
FLOAT,
DEC,
// String datatypes
TEXT,
VARCHAR(usize),
ENUM(Vec),
// Bools
BOOLEAN,
BOOL,
}
```