前往小程序,Get更优阅读体验!
立即前往
发布
社区首页 >专栏 >零基础小白如何30天掌握MySQL?

零基础小白如何30天掌握MySQL?

作者头像
方才编程_公众号同名
发布2024-12-30 14:07:03
发布2024-12-30 14:07:03
6800
代码可运行
举报
文章被收录于专栏:方才编程方才编程
运行总次数:0
代码可运行

本文转载自:https://fangcaicoding.cn/article/72

官方文档:https://dev.mysql.com/doc/refman/8.0/en/

Hello,我是方才。《系统学MySQL系列》不仅仅适用于零基础的小白,对有一定经验但没有深入了解过mysql原理的伙伴,也能帮助其建立一个完整的知识图谱。

知识图谱

本系列完整的知识图谱如下,后续方才会参考该图谱,持续输出相关的内容,如果你最近刚好在学习Mysql,记得关注哟。

image-20241226210223546

对于没有基础的新手来说,看这个图谱会很懵逼,因为对“数据库”没有一个认知。

就好比你让一个连汽车是什么,都没有概念的”部落人“去学习驾驶汽车;他是无从下手的、一脸懵逼的。

所以,今天,我们就先理解下,什么是数据库?

什么是数据库

大白话理解下:数据库就是按照一定的规则和结构,把数据组织起来,方便快速查找、添加、修改和删除的软件程序。

再用小学生都能听懂的话理解下(直接看AI的回答了,嘿嘿):

image-20241227165223844

几个关键字对应着理解下,就很清晰了:

  • 按一定的规则和结构:比如说大盒子、抽屉、贴标签;
  • 把数据组织起来:把玩具放进对应标签的抽屉中;
  • 方便快速增删改查:玩具的存放、拿去等等。

基于这个理解,其实稍微有点编程基础的伙伴,就可以自己开发一个数据库系统(和mysql、Oracle这种比较起来,只是实现的功能很简单,增删改查效率很低而已)。

简单实现个数据库

方才就直接让AI,使用JavaScript实现了一个即简版的数据库,它包含了增删改查(CRUD)的基本功能。这个“数据库”将使用一个对象来存储数据,其中每个属性代表一个“表”,每个“表”中的数据将以数组的形式存储。

代码语言:javascript
代码运行次数:0
复制
class SimpleDB {
    constructor() {
        this.db = {};
    }

    // 增加记录
    insert(table, record) {
        if (!this.db[table]) {
            this.db[table] = [];
        }
        this.db[table].push(record);
    }

    // 查询记录
    find(table, query) {
        returnthis.db[table].filter(record => {
            for (let key in query) {
                if (record[key] !== query[key]) {
                    returnfalse;
                }
            }
            returntrue;
        });
    }

    // 更新记录
    update(table, query, updateData) {
        const records = this.find(table, query);
        records.forEach(record => {
            for (let key in updateData) {
                record[key] = updateData[key];
            }
        });
    }

    // 删除记录
    remove(table, query) {
        this.db[table] = this.db[table].filter(record => {
            for (let key in query) {
                if (record[key] === query[key]) {
                    returnfalse;
                }
            }
            returntrue;
        });
    }
}

// 使用示例
const db = new SimpleDB();

// 插入数据
db.insert('users', { id: 1, name: '方才', age: 25 });
db.insert('users', { id: 2, name: '方才呀', age: 30 });

// 查询数据
console.log(db.find('users', { name: '方才' })); // 查找名为【方才】的用户

// 更新数据
db.update('users', { id: 1 }, { age: 26 }); // 更新ID为1的用户的年龄

// 删除数据
db.remove('users', { id: 2 }); // 删除ID为2的用户

// 查看更新后的数据
console.log(db.db);

这个一个简单的数据库就实现了,提供基本的CRUD操作:

  • insert(table, record):向指定的表中插入一条记录。
  • find(table, query):根据查询条件在指定的表中查找记录。
  • update(table, query, updateData):根据查询条件更新指定表中的记录。
  • remove(table, query):根据查询条件删除指定表中的记录。

运行的效果:

代码语言:javascript
代码运行次数:0
复制
[ { id: 1, name: '方才', age: 25 } ]
{ users: [ { id: 1, name: '方才', age: 26 } ] }

是不是很简单,哈哈。

其实MySQL数据库也是类似是的,只是底层管理数据的数据结构更加复杂,数据文件间的组织更加复杂,增删改查的语法糖更多而已。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2024-12-27,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 方才编程 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 知识图谱
  • 什么是数据库
  • 简单实现个数据库
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档