- 博客(46)
- 收藏
- 关注
原创 MySQL的复合查询和内外连接
单行子查询是指子查询只返回单列,单行数据;多行子查询是指返回单列多行数据,都是针对单列而言的;多列子查询是指查询返回多个列数据的子查询语句。合并多个select的执行结果,我们可以使用集合操作符union,union all。该操作符用于取得两个结果集的并集,当使用该操作符时,会自动去掉结果集中的重复行。该操作用于取得两个结果集的并集,当使用该操作符时,不会去掉结果集中的重复行、子查询时指嵌入在其他SQL语句中的select语句,也叫嵌套语句。如果左边表和右边表没有匹配的时候,也会显示左边表的数据!
2025-06-04 09:07:15
832
原创 MySQL基本查询
0 row affected: 表中有冲突数据,但冲突数据的值和 update 的值相等。对未知表查询时最好加一条limit1,避免因为表中数据过大,查询全表数据导致数据库卡死。没有order by子句的查询,返回的顺序是未定义的,永远不要依赖这个顺序!返回查询到的数据的平均值,不是数字没有意义。返回查询到的数据的最大值,不是数字没有意义。返回查询到的数据的最小值,不是数字没有意义。返回查询到的数据的总和,不是数字没有意义。ASC为升序排序,DESC为降序排序。返回查询到的数据的数量。
2025-05-27 18:53:43
730
原创 MySQL数据类型
decimal和float很像,但是表示的精度不一样,decimal的精度相较于float更高一些。说明:char(2)可以存放两个字符,可以是字母也可以是汉字,但是不能超过两个。变长的意义是,在不超过自定义范围的情况下,用多少,开辟多少。比如:名字,地址,但是你要保证最长的能存的进去。定长的磁盘空间比较浪费,但是效率高。变长的磁盘空间比较节省,但是效率低。个字节用于记录数据大小,所以说有效字。如果数据确定长度都一样,就使用定长(定长的意义是,直接开辟好对应的空间。用逗号分隔的字符串。
2025-04-13 23:28:30
1303
2
原创 Python中数值计算、表格处理和可视化的应用
同时我们用arr1.shape查数组形状,要注意的是这个并不是函数调用shape后不用加()上面运行结果我们能够看到,创建出的数组类型为<class 'numpy.ndarray'>arr2.resgape()函数是将多个数组按照一比一的个数任意改变格式。我们能够看到第一行是在后面直接衔接,而后面四行直接在原数组上计算。注意:切片中我们采用前包后闭原则,调用0、1、2三个位置的数。arr2.transpose()是将原本的数组转置。
2025-04-13 15:34:31
210
原创 MySQL库的操作和表的操作
说明:当我们创建数据库没有指定字符集和校验规则的时,系统使用默认字符集:utf8,校验规则是:utf8_ general_ ci。utf8_ general_ ci不区分大小写。注:不要随意删除数据库!utf8_ bin区分大小写。
2025-04-06 18:39:11
353
原创 基础语法(1)
a=3a为变量名,当我们创建很多个变量的时候,就可以用名字来进行区分=为赋值运算符,表示把=右侧的数据放到=左侧的空间中变量名由数字字母下划线构成数字不能开头变量名不能和“关键字”重复变量名大小写敏感,要区分大小写变量名使用有描述性的单词来表示,尽量表达出变量的作用一个变量名可以由多个单词构成当变量名包含多个单词的时候,建议使用“驼峰命名法”
2025-03-30 23:29:53
973
原创 C/C++输入输出(1)
getchar()函数返回用户从键盘输入的字符,使用时不带有任何参数。程序运行到这个命令就会暂停,等待用户从键盘输入,等同于使用cin或scanf()方法读取一个字符。getchar()函数原型定义在头文件<cstdio>。因为getchar()返回的是字符类型,所以不会忽略起首的空白字符,总是返回当前读取的第一个字符。如果读取失败,返回常量EOF,由于EOF通常是-1,所以返回值的类型要设为int,而不是char。我们可以直接按Ctrl+z来实现读取失败。
2025-03-05 21:19:36
1336
原创 C++入门(2)
1 #define 常量名 内容代码举例:int main()return 0;1 const 类型 常量名字 = 常量值;cin >> r;cout << "周⻓:" << 2 * PI * r << endl;cout << "⾯经:" << PI * r * r << endl;return 0;增加了程序的可读性。增加了程序的可维护性,如果改变常量的值,只要在定义的部分修改,使用的地方也就随之改变了。常量是不能修改的。
2025-02-26 21:12:42
1231
原创 列表的简介
列表由一系列按特定顺序排列的元素组成。不仅可以创建包含字母表中所有字母、数字或所有家庭成员列表,还可以将任何东西加入列表,其中元素之间可以没有任何关系。在Python中,用方括号表示列表,用逗号分隔其中的元素。
2025-02-03 17:32:45
793
原创 C++入门(1)
在C语言中,使用单括号括起来一个字符,表示字符字面值,比如:‘1’,‘a’,使用双括号括起来多个字符表示一个字符串,比如“abcdef”,“hello world”,字符串中可以有一个或者多个字符,也可以没有任何字符,“”表示空字符串。sizeof操作符的操作数可以是类型,也可以是变量名或者表达式,sizeof的操作数如果不是类型,是表达式的时候,可以省略掉后面的括号。在C语言中头文件的扩展名是.h,但是C++中的用法发生了一些变化,对老式C的头文件保留了扩展名.h,但是C++自己的文件没有扩展名。
2025-01-23 15:29:42
1632
原创 通讯录管理系统
int id;// 编号// 姓名// 手机号(13位 + '\0')// 所在城市// 指向下一个节点的指针} Contact;首先我们正确定义通讯录中的每个数据。4.2创建一个新的联系人结点首先先创建一个新结点newContact,再使用strncpy将指定要复制的字符数量复制到newContact各个数值中。4.3插入联系人// 插入到链表头部else {// 找到合适的位置插入。
2025-01-08 16:02:45
678
原创 栈和队列详解
栈:一种特殊的线性表,其只允许在固定的一端进行插入和删除元素操作。进行数据插入和删除操作的一端称为栈顶,另一端称为栈底。栈中元素遵循先进后出的原则。栈的插入操作叫做进站/压栈/入栈,入数据在栈顶。栈的删除操作叫做出栈。栈的实现一般可以使用数组或者链表实现,相对而言数组的结构实现更优一些。因为数组在尾上插入数据的代价比较小。
2025-01-04 21:21:30
541
原创 链表算法练习
创建新链表,并且建立头尾指针,将原链表不等于val的值尾插到新链表中。注意:在写代码中,最后一定要判断nwetile是否等于零,从而使下一个指针指向NULL,否则就会出现下面的错误,导致最后面与val相同的值没有删除。
2024-12-31 22:38:40
881
原创 数据结构、算法与STL
算法(Algorithm)是指解题方案的准确而完整的描述,是⼀系列解决问题的清晰指令,算法代表着用系统的方法描述解决问题的策略机制。也就是说,能够对一定规范的输入,在有限时间内获得所要求的输出。算法是可以没有输入的,一定要有输出。没有输出的算法是没有意义的。简单来说算法就是一系列的步骤,用来将输入数据转化成输出结果。STL,全称为Standard Template Library(标准模板库),是C++编程语言中不可或缺的一部分,它为程序员提供了高效且灵活的数据结构和算法。
2024-12-30 23:23:09
879
原创 算法复杂度
通过上面我们会发现,有些算法的时间复杂度存在最好、平均和最坏情况。最坏情况:任意输入规模的最大运行次数(上界)平均情况:任意输入规模的期望运行次数最好情况:任意输入规模的最小运行次数(下界)
2024-12-01 23:25:28
1051
原创 自定义类型:联合和枚举
我们可以分析得到:整型变量i和字符变量c占据同一块空间,而c占据的就是i的第一个字节,当我们对c进行修改时,也就是对i第一个字节的修改,所以当我们把c修改为0x55时,i也就跟着改变了。首先我们对un初始化为0,然后进行两次赋值,给i赋值了16进制数11223344,把c赋值为了16进制数55,如果i和c共用相同的空间,那么我们在更改c的时候,i应该也会跟着改变。可以看到,联合体成员的地址是相同的,并且联合体本身也和联合体成员的地址相同,基本上就可以说明,联合体开辟空间时,所有成员共用一块空间。
2024-11-10 14:07:26
1050
原创 自定义类型:结构体
要熟悉对齐规则先找对齐数,在找存放的位置对齐数是以首元素地址,即偏移量为 0 的地址为起始位。每一个结构体成员在找存放的的地址的位置时,都是从偏移量为 0 的地址为起始位开始算起。而不是以上一个结构体成员的末地址为起始位开始算起。如果有数组,则按数组的元素大小和类型去占取。例如:char[ 5 ],五个元素,每个元素大小为1 ,占5个字节。位段中的位指的是二进制的位(bit位)。位段的成员必须是int、unsigned int或signed int,在C99中位段成员的类型也可以选择其他类型。
2024-11-04 07:30:00
911
原创 数据在内存中的存储
是指数据的低位字节内容保存在内存的高地址处,而数据的高位字节内容保存在内存的低地址处。是指数据的低位字节内容保存在内存的低地址处,而数据的高位字节内容保存在内存的高地址处。
2024-10-26 23:49:12
357
2
原创 字符函数和字符串函数
在不同的系统和C语言标准库的实现中都规定了一些错误码,⼀般是放在 errno.h 这个头⽂件中说明 的,C语言程序启动的时候就会使⽤⼀个全⾯的变量errno来记录程序的当前错误码,只不过程序启动 的时候errno是0,表示没有错误,当我们在使用标准库中的函数的时候发生了某种错误,就会讲对应 的错误码,存放在errno中,而⼀个错误码的数字是整数很难理解是什么意思,所以每⼀个错误码都是 有对应的错误信息的。空白字符:空格‘ ’,换页‘\f’,换行‘\f’,回车‘\r’,制表符‘\t’或者垂直制表符‘\v’
2024-10-13 07:00:00
1125
原创 深入理解指针(4)
如果你把函数的指针(地址)作为参数传递给另一个函数,当这个指针被用来调用其所指向的函数时,被调用的函数就是回调函数。回调函数不是由该函数的实现方直接调用,而是在特定的事件或条件发生时由另外的一方调用的,用于对该事件或条件进行响应。qsort是C语言中的一个库函数,这个函数是用来对数据进行排序,size:base指向数组中一个元素的大小,单位是字节。第二部分是对于循环的模拟,根据if的条件判断是否交换。是对于if里条件的函数调用模拟,判断返回的值。base:指向待排序数组的第一个元素的指针。
2024-08-17 13:41:50
468
原创 关于%和\后加字母数字的含义
d—打印整数%s—打印字符串%c—打印字符%f —打印小数如果要得到的结果是小数的话,那么“/”两边至少有一个是整数“/”算出来的是商取模“%”得出来的是余数,就是商在上面,余数在下边。
2024-07-23 10:10:40
564
原创 深入理解指针(1)
上面代码第6行就使用了解引用操作符,*pa的意思就是通过pa中存放的地址,找到指向的空间,*pa其实就是a变量了;上述代码n是不能被修改的,其实n本质是变量,只不过被const修饰后,在语法上加了限制,只要我们在代码中对n进行修改,就报错,没办法直接修改n。在指针中有一种特殊的类型是void*类型的,可以理解为无具体类型的指针(或者叫泛指针),这种类型的指针可以用来接受任意类型地址。这里pa左边写的是int*,*是在说明pa是指针变量,而前面的int是在说明pa指向的是整型(int)类型的对象。
2024-07-22 20:50:43
784
原创 操作符详解
2 1 余数为1。而2进制和10进制也是类似的,只不过2进制的每一位权重,从右向左是:2^0,2^1,2^2…接受一个或者多个操作数:第一个操作数是函数名,剩余的操作数就是传递给函数的参数。、++、--、&、*、+、-、~、sizeof、(类型)对于移位运算符,不要移动负数位,这是个标准未定义的。又下往上依次所得的余数就是10进制转换出的2进制。二进制中最高位的1位被当做符号位,剩余都是数值位。补码得到原码也是可以用:取反,+1的操作。
2024-07-17 17:37:17
987
原创 函数的讲解
1.函数的语法形式ret_type fun_name(形式参数)ret_type是函数返回类型fun_name是函数名括号中放的是形式参数ret_type是用来表示函数计算结果的类型,有时候返回的是void,表示不返回fun_name是为了方便函数函数参数就相当于,工厂中送进去原材料,函数的参数也可以是void,明确表示函数没有参数。如果有参数,要交代清楚参数的类型和名字,以及参数个数。{}括起来的部分被称为函数体,函数体就是完成计算的过程。
2024-06-04 18:38:56
1041
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅