avatar
文章
114
标签
43
分类
35

Home
Tags
Categories
Music
港乐Live Show
Eden Mo Blog
搜索
Home
Tags
Categories
Music
港乐Live Show

Eden Mo Blog

MySQL数据库学习笔记(五):MySQL数据类型与约束条件
发表于2024-11-10|数据库MySQL基本理论|数据库
MySQL数据类型 整型 整数类型 占字节数 范围 TINYINT 1 SMALLINT 2 MEDIUMINT 3 INT、INTEGER 4 BIGINT 8 整型可选属性 1. MySQL5.7以下属性:ZEROFILL MySQL5.7及之前版本的整型带位宽显示,表示负数(含符号位)占的位宽长度,当输出整数需要统一位宽时(不足位宽以0填充高位,超出位宽则不影响),可以使用ZEROFILL保留字修饰数据(此时类型字段转变成UNSIGNED无符号)。 12salary int,id int(5) ZEROFILL -- 123输出00123,123456仍然输出123456; 但MySQL在8.0以上已经不建议使用位宽显示。 2. 无符号UNSIGNED 使用UNSIGNED修饰表示其是无符号数,对应范围应该是0——2^{占位数}-1,例如TINYINT对应0——255; 1id TINYINT UNSIGNED -- 或者其他int类型 ...
MySQL数据库学习笔记(四):数据库/表的DDL与数据的DML
发表于2024-11-08|数据库MySQL基本理论|数据库
此前仅介绍了最常用的数据的查询操作,属于数据的DML(数据操作语言),此外还有增删改操作,同属于DML。此外需要先了解数据库、表的结构定义,也即数据库、表的增删改,属于DDL(数据定义语言)。DDL直接决定数据库、表、索引、视图等结构,不能回滚(或备份回滚),而DML是针对数据的增删改查,可以回滚(关闭自动commit)。 数据库的DDL 数据库的创建 数据库、表、字段都有命名规则,数据库、表名长度不能大于30个,变量不能超过29个,且只能包含63种字符(大小写字母52种,数字0到9,下划线_),且命名不能重复,使用保留字需要着重号; 创建一个数据库 当同名数据库存在不会重复创建、不会报错,以字符集utf8(低版本MySQL可能默认非utf8,建议显式指定) 1CREATE DATABASE IF NOT EXISTS mytest1 CHARACTER SET 'utf8'; 查看数据库创建信息 1SHOW CREATE DATABASE mytest1; 输出 123CREATE DATABASE `mytest1` #名称/*!40100 ...
数据结构算法题目(六):优先队列专题
发表于2024-10-25|C/C++数据结构数据结构题目|数据结构与算法
优先队列 优先队列是相对于普通队列而言的,普通队列是一种FIFO结构,优先队列能够按照元素的优先级进行排序,使优先级高的元素先出队。C++提供了一种数据结构priority_queue来定义优先队列,可见其在数据结构和算法上是有用的,例如排序、数据压缩、prim/Dijstra优化算法等。 优先队列可以使用数组、链表、二叉堆实现,二叉堆的出队、入队复杂度是O(logn),因此一般选择二叉堆作为优先队列底层实现,本文旨在记录手写一个二叉堆(大根堆、小根堆)实现优先队列底层基本操作,包含调整、构建二叉堆、排序、插入、删除等,在数据结构与算法(三):查找与排序算法基本实现了前三种操作。 大小根堆(大小顶堆) 在堆排序文章基本描述了两种结构,为了给数组排序,通过i、2i+1、2i+2数组位置元素进行讨论,结构上是一种树的重构,大根堆是根结点>=子结点,小根堆是根结点<=子结点,增序排序使用大根堆,增序排序是小元素下滤的过程,最后留在根结点的是最大的元素,再与最后的小结点交换,继续递归下滤。降序排序则是大元素下滤的过程,留在根结点的是最小元素。排序实际上是不断排除最大/最小元 ...
MySQL数据库学习笔记(三):单行函数与多行函数
发表于2024-10-23|数据库MySQL基本理论|数据库
函数 大量的MySQL数据处理函数(取自尚硅谷公开资料)。 1. 数值函数 函数名 作用 ABS(x) 返回x的绝对值 SIGN(X) 返回X的符号。正数返回1,负数返回-1,0返回0 PI() 返回圆周率的值 CEIL(x),CEILING(x) 无论正数负数,向大于x一侧最近整数取整 FLOOR(x) 无论正数负数,向小于x一侧的最近整数取整 LEAST(e1,e2,e3…) 取最小值 GREATEST(e1,e2,e3…) 取最大值 MOD(x,y) 返回X除以Y后的余数 RAND() 返回0~1的随机值 RAND(x) 返回0~1的随机值,其中x的值用作种子值,相同的X值会产生相同的随机数 ROUND(x) 四舍五入,只保留整数 ROUND(x,y) x四舍五入,保留y位小数 TRUNCATE(x,y) 返回数字x截断为y位小数的结果 SQRT(x) 返回x的平方根。当 ...
数据结构算法题目(五):动态规划问题的一维压缩算法
发表于2024-10-20|C/C++数据结构数据结构题目|数据结构与算法
之前放在数据结构算法题目(二):回溯、贪心、动态规划与图论略显臃肿,现在单独拎出来,记录了动态规划的一维压缩问题,有一些问题二维解法更加直观(大部分),但是有些解法一维解法更加简便(例如组合总和Ⅴ),而且一维解法性能往往更高,希望能加深理解。 二维解法理解参考上文或卡哥原文,本文基本不会记录从0进行二维递推。 规律 一维化的遍历顺序是有基本规律的,例如遍历顺序是如何的、是否需要记录上一层值,本文涉及的问题主要有以下: 当前值来自左边和正上方,从上到下、从左往右更新,注意第一列初始条件是否适合一维化。(机器人走方格图的不同路径问题)。 当前值来自正上方dp[i-1][j]和左上方dp[i-1][j-n],例如01背包问题:从上往下、从右往左遍历。 为什么01背包是从右往左遍历:一直的写法是遍历种类i,i每循环一次,代表dp[j]更新一次,代表i个物品自由组合,和二维dp数学意义一致;遍历j代表遍历背包容量,要从右往左遍历,是因为j大,代表背包容量大,j较小的值得到的最大价值一定是j值大的最大价值的子集问题。例如j=2和j=4,j=2的最大价值组合,也一定包含在j= ...
MySQL数据库学习笔记(二):多表查询与子查询
发表于2024-10-19|数据库MySQL基本理论|数据库
表间数据关系 一个数据库可以有很多表,表和表之间数据记录可能存在联系,MySQL定义了若干种关系,包括一对一、一对多、多对多和自我引用。 一对一(少用):两张表主键完全一对一,例如学生的成绩表、学生的身份证表,二者主键(学生)一一对应,没有额外的对象。 一对多(常见):一张表的对象作为另一张表的主键,或称另一张表多个外键指向当前表的主键。例如部门表和员工表,客户和订单表、分类和商品表。(心中默念:一个部门有多个员工,一个员工不能多个部门;一个客户多个订单,一个订单不可能多个客户......就是一对多) 多对多:默念不过关就是多对多。 自我引用:本表中创建一个外键,外键指向本表的主键。例如现在数据库记录了若干个回复评论的人,现在创建一个"回复对象"字段(外键),那么回复对象一定指向原来回复评论的人(主键),就是一种自我引用关系。 逐表查询与笛卡尔积错误 假设现在具有一对多关系的部门表和员工表,现在需要通过员工姓名,查找其部门名称;首先查询员工表通过姓名查询部门id,从部门表通过部门id查找部门name: 1234567SELECT department_idFRO ...
MySQL数据库学习笔记(一):概述与基本SELECT语句
发表于2024-10-12|数据库MySQL基本理论|数据库
数据库相关概念 数据库(Database,DB):本质是一个文件系统,保存了一系列有组织的数据。 数据库管理系统(Database Management System,DBMS):操作和管理数据库的大型软件,用户通过此访问和管理数据库数据。 结构化查询语言(Structure Query Language,SQL):数据库交互语言。 关系型与非关系型数据库 RDBMS RDBMS(RDBMS,Relational~):最古老的数据存储形式,使用二维表格的形式(行、列)来存储数据。 优点:支持复杂查询和事务处理(加锁等)、数据以表格形式存储,表间可以建立关系(多表查询)。 缺点:扩展性较差、大数据处理性能较弱,难以存储非结构化数据。 常用关系型数据库:MySQL、Oracle、SQLites等 非关系型数据库 键值型数据库:按Key-Value形式存储,Key是唯一标识符,查找速度极快。但是不支持条件过滤,如果不清楚具体数据位置,就要遍历所有的键,消耗性能,经典的使用场景是作内存缓存。最流行的键值型数据库——Redis。 其他:文档数据库、搜索引擎数据库(倒排索 ...
Stanford CS144 For Computer Network(三):Lab1 Stitching substrings into a byte stream
发表于2024-09-19|计算机网络C/C++计算机网络项目Linux|Stanford CS144
Lab1 Stitching substrings into a byte stream Lab1实验手册: https://vixbob.github.io/cs144-web-page/assignments/lab1.pdf(2021 Fall) 部分实验目的和内容摘抄自手册。 在Lab0的Warm up实验,我们完成了一些小实验,它们来自应用层的协议,例如过时的telnet协议,邮箱发送的smtp协议等,通过coding,完成了两个简单设计,包括简单的TCP的socket传输,以及实现一个deque的读写缓冲区; 进入Lab1——Lab4,我们将逐步实现一个TCP协议:Lab1的任务是实现一个流重组器;互联网TCP下层的所有协议,例如IP、以太网协议等均不会提供可靠的传输服务,可靠传输服务依靠TCP服务实现。数据报的传输是一种分组转发,如何将切片数据报重组成一个完整、无误的数据报,是TCP协议要实现的重要依靠。 实验目的 实现一个类,这个类就是实现流重组的类,初始定义如下,为了直观,删除了所有注释并改写中文注释如下: 12345678910111213cla ...
数据结构算法题目(四):攀登者杯
发表于2024-09-07|C/C++数据结构数据结构题目|数据结构与算法
贪心算法篇 1. 划分数组为连续数字的集合 给你一个整数数组 nums 和一个正整数 k,请你判断是否可以把这个数组划分成一些由 k 个连续数字组成的集合。 如果可以,请返回 true;否则,返回 false。 输入:nums = [3,2,1,2,3,4,3,4,5,9,10,11], k = 3 输出:true 解释:数组可以分成 [1,2,3] , [2,3,4] , [3,4,5] 和 [9,10,11]。 哈希表+贪心算法 假设数据可被划分多个连续数组,就从单个连续数组构造开始。哈希表统计各元素个数,nums[i]到nums[i]+k-1尝试构造k个数(因此num[i]应该有序),并且消耗个数,只有哈希表个数全为0,才可能划分成功。 1234567891011121314151617181920212223class Solution {public: bool isPossibleDivide(vector<int>& nums, int k) { sort(nums.begin(),nums.e ...
计算机网络基础理论:自底向上方法
发表于2024-08-29|计算机网络计算机网络理论|计算机网络理论
记录了计算机网络相关基础知识,参考书是谢希仁教授的《计算机网络》(第八版)以及美国Jim Kurose和Keith Ross所著的《计算机网络:自顶向下方法》(陈铭 译),前者是国内大学常用的计算机网络教材,注重历史发展、基础理论、常用的协议细节等描述,后者是网络应用领域的权威教材,横向技术内容比较全面,在国内也很受欢迎,贴两个大佬整理好的读书笔记: 计算机网络-自顶向下方法 GuoYi:《计算机网络-自顶向下方法》笔记 无论是哪本教材,经典的网络协议和理论是绕不开的,因为初次接触计算机网络是自底向上的逻辑,这个影响了笔者的一些逻辑接受方式。本文旨在从网络底层开始记录这些重要的理论,计算机网络发展的近半个世纪,各层的协议已经比较垄断,了解太多古老且边缘协议帮助不大,本文对于计网的入门应该是比较完整的体系。 计算机网络概述 互联网两个基本特点:连接性与共享 发展三个阶段 ARPANET向互连网发展;单个分组交换到互连网络;1983年TCP/IP成为阿帕网标准协议,不同系统可以在该协议上进行通信,形成互联网。 形成三级结构互联网;主干网、地区网、企业网(校园网); ...
1…456…12
avatar
Eden
不做前端所以博客不漂亮,纯免费授权码来自公众号:归零者星的日与夜
文章
114
标签
43
分类
35
Follow Me
公告
文章任何错误、疏漏、建议麻烦请联系博主qq邮箱2436444815@qq.com
最新文章
C++ 11 新特性总结(五):tuple元组类型2025-07-02
【sem_timedwait问题解决】系统时间向前跳变导致sem_timedwait长久阻塞2025-06-30
boost库开发笔记(二):boost::asio异步网络编程2025-06-15
C++ 11 新特性总结(四):enable_from_this/shared_from_this2025-06-12
boost库开发笔记(一):boost::json使用与序列化2025-06-10
分类
  • C20
  • C++ Qt开发7
  • C/C++14
  • CPP18
    • C++ Generic Programming3
    • C++ boost库开发2
  • FPGA2
    • verilog2
标签
Modern C++ Design Markdown语法 CMake Effective C++ C++高阶 数据结构与算法 MathType快捷键 Git基本使用 Linux扩容 3D目标检测 Stanford CS144 C++ Qt Qt网络编程 C++ Generic Programming OpenCV json序列化 C++基础 设计模式 ASIO异步编程 线程池 Protobuf 计算机网络理论 高等数学 格式化输出 MCU开发 C++11 新特性 Linux Private Content CSAPP boost库笔记 Vivado IP核 数据库 内存管理理论 奇奇怪怪的实现 引导程序 vim使用 网络编程 ZeroMQ 信号与系统 进程与线程
归档
  • 七月 20251
  • 六月 20256
  • 五月 20253
  • 四月 20254
  • 三月 20256
  • 二月 20255
  • 一月 20257
  • 十二月 20248
网站资讯
文章数目 :
114
本站总字数 :
488.5k
本站访客数 :
本站总访问量 :
最后更新时间 :
©2023 - 2025 By Eden
框架 Nodejs|你忘掉理想 只能忙于生活吗
粤公网安备 44010602011738号|粤ICP备2023072610号
搜索
数据库加载中