关于我的项目-实现一个数据库~

肝了一周终于把大作业肝完啦~
一时手抖,让俺秀一波成品吧~
鉴于是大作业,而且踏踏是速成,存在许多已知或未知的bug,代码就不上传啦,,,说好了不上传,不要打我哈 在这里插入图片描述








DBMS实现

已实现:

  • create database xxx -->创建一个库(文件夹)

  • use xxx -->使用创建的文件夹,
    此时会生成一个logs文件夹和一个日志文件(日志文件命名为 当前时间+UUID第四部分);每次使用/更换数据库都会新创建日志文件

  • 创建一个表并实现简单的增删改查

  • RandomAccessFile 能实现不同类型的读写操作

SQL语句:(目前测试的可正确执行的语句,多一个空格少一个空格都可能不正确,,,,)
泥萌可以借鉴一下踏踏的思路哦在这里插入图片描述

root-123123-1-Select,Create,Insert,Update,Delete
adm-666666-0-Select,Delete,Create
abc-111-0-Select,Delete,Insert,Create
admin-123-0-Select,Create,Insert,Update,Delete,Create                  
//通过用户名密码登录,不同用户有不同等级和权限


create database 111
use 111
create table stu1 ( sname String(9), age int(4), class String(4), grade double(8));	  

Insert INTO stu1 (sname,age,class,grade) values ('张11',16,'2019',95);       //没有赋值的设为默认值
Insert INTO stu1 (sname,class,grade) values ('张12','2019',85);                  //整形默认值0
Insert INTO stu1 (sname,age,class) values ('张13',17,'2019');                     //double默认 0.0
Insert INTO stu1 (sname,age,grade) values ('张14',18,65);                         //字符串默认“”
Insert INTO stu1 (sname,age,class,grade) values ('张15',15,'2020',65);

select * from stu1 where age < 18;                          //可判断①字符串相等、       ②整形/浮点型大于、小于、等于、不等于
select  sname, age, grade from stu1 where class = '2019';

DELETE FROM stu1 WHERE sname = '张11';
select * from stu1;

UPDATE stu1 SET class = '2000' WHERE grade > 75;
select * from stu1;

评论区可以讨论呀~
在这里插入图片描述
有问题评论区见,在踏踏还能回忆起来的前提下会帮助解答哒~

谨以此博客为熬了一周才肝出来的大作业画一个句号~
好的,我可以提供一个简单的实现数据库增删改查的项目示例。 首先,我们需要选择一个数据库管理系统(DBMS),例如 MySQL、PostgreSQL 或者 MongoDB。在本示例中,我们将使用 MySQL。 接下来,我们需要创建一个数据库一个数据表。我们可以使用 MySQL 命令行或者 GUI 工具,例如 MySQL Workbench 来创建。 创建数据库: ```sql CREATE DATABASE mydatabase; ``` 创建数据表: ```sql CREATE TABLE users ( id INT(6) UNSIGNED AUTO_INCREMENT PRIMARY KEY, name VARCHAR(30) NOT NULL, email VARCHAR(50) NOT NULL ); ``` 现在我们已经创建好了数据库数据表,接下来我们需要编写一个连接数据库的脚本。在本示例中,我们将使用 Node.js 和 `mysql2` 模块来连接和操作 MySQL 数据库。 ```javascript const mysql = require('mysql2'); // 创建连接 const connection = mysql.createConnection({ host: 'localhost', user: 'root', password: 'password', database: 'mydatabase' }); // 连接数据库 connection.connect((err) => { if (err) throw err; console.log('Connected to MySQL database!'); }); // 查询数据表 connection.query('SELECT * FROM users', (err, results, fields) => { if (err) throw err; console.log(results); }); // 关闭连接 connection.end((err) => { if (err) throw err; console.log('Disconnected from MySQL database!'); }); ``` 接下来,我们可以编写一个函数来实现增删改查操作: ```javascript // 插入数据 function createUser(name, email) { const sql = `INSERT INTO users (name, email) VALUES ('${name}', '${email}')`; connection.query(sql, (err, result) => { if (err) throw err; console.log(`User ${name} has been created!`); }); } // 更新数据 function updateUser(id, name, email) { const sql = `UPDATE users SET name='${name}', email='${email}' WHERE id=${id}`; connection.query(sql, (err, result) => { if (err) throw err; console.log(`User ${name} has been updated!`); }); } // 删除数据 function deleteUser(id) { const sql = `DELETE FROM users WHERE id=${id}`; connection.query(sql, (err, result) => { if (err) throw err; console.log(`User with ID ${id} has been deleted!`); }); } // 查询数据 function getUsers() { const sql = 'SELECT * FROM users'; connection.query(sql, (err, results, fields) => { if (err) throw err; console.log(results); }); } ``` 现在,我们可以在脚本中调用这些函数来实现增删改查操作: ```javascript // 创建用户 createUser('John Doe', 'john@example.com'); // 更新用户 updateUser(1, 'Jane Doe', 'jane@example.com'); // 删除用户 deleteUser(1); // 查询用户 getUsers(); ``` 这就是一个简单的实现数据库增删改查的项目示例。当然,实际的项目中需要考虑更多的安全性和性能问题。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

卅拓

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值