- 博客(30)
- 收藏
- 关注
原创 【MySQL】表的约束
本文介绍了MySQL中的空属性约束、主键与唯一键的概念及区别。空属性约束包括NOT NULL约束和DEFAULT约束,分别限制列不能插入NULL值和为忽略的列提供默认值。文章解释了空值、空字符串和没有数据的区别,并说明MySQL会自动为未指定值的列填充NULL。对于主键和唯一键,主键保证记录的唯一性,而唯一键保证特定列中数据的唯一性。两者可以同时存在,但主键只能有一个,而唯一键可以有多个。这些约束共同确保数据库数据的完整性和一致性。
2025-10-18 12:11:16
906
原创 【MySQL】数据类型
摘要:本文详细介绍了MySQL中的常见数据类型,包括整数类型(tinyint、smallint等)、位类型(bit)和浮点数类型(float、double)。重点讲解了整数类型的有符号/无符号范围、数据约束特性,以及bit类型按ASCII码显示的机制。通过具体示例演示了浮点数类型的精度控制、四舍五入规则和范围限制。文章强调MySQL通过严格的数据类型约束确保数据合法性,为数据库设计提供了重要指导。
2025-10-04 14:04:36
950
原创 【windows】笔记本电脑外接显示器
本文介绍了Windows 11系统下外接显示器的设置方法及常见问题解决方案。文章提供了详细的图文指引,帮助用户快速完成多显示器配置。
2025-10-03 12:24:54
4372
原创 【MySQL】MySQL环境搭建
本文介绍了在CentOS 7.6系统下安装MySQL:全新环境快速安装。全新环境安装部分详细说明了获取官方Yum源、安装lrzsz工具、配置MySQL Yum源及解决秘钥过期问题的步骤过程。全文重点讲解了如何通过Yum源快速安装MySQL 5.7版本,并验证安装是否成功的检查方法。需注意的是,为简化学习曲线,所有操作均使用root用户权限,初期练习时直接使用root账户操作MySQL。
2025-10-01 17:45:21
916
2
原创 【Windows】如何管理电脑磁盘文件,保持简洁
本文介绍了如何有效管理电脑磁盘文件,避免杂乱无章的情况。建议在磁盘根目录创建不超过10个分类文件夹(如重要文件、软件、游戏、代码等),并用数字前缀排序。安装软件时需注意:1)手动选择安装路径到对应分类文件夹;2)修改QQ等软件的默认下载路径到指定文件夹;3)保持文件夹命名简洁统一。关键原则是安装软件时仔细选择路径,避免C盘拥挤,同时建立清晰的文件分类体系。使用者可根据个人需求调整分类方案,从而保持磁盘整洁有序。
2025-09-30 22:45:07
1421
1
原创 【Linux】Linux环境搭建
本文介绍了使用云服务器搭建Linux环境的推荐方法。主要内容包括:1)Linux环境搭建的三种方式,推荐使用云服务器(如腾讯云、阿里云等),因其便捷且可直接外网访问;2)购买云服务器的配置建议(2核2G,3M带宽),并演示了阿里云服务器的设置流程;3)使用XShell远程登录Linux服务器的步骤,包括获取公网IP、管理员账户信息及密码设置。通过云服务器搭建环境可节省时间成本,适合学习和项目部署。
2025-09-30 19:06:07
687
4
原创 【MySQL】库与表的操作
本文介绍了MySQL数据库的基本操作,包括库和表结构的常见管理命令。主要内容分为两大部分:1. 库的操作:查看数据库、创建数据库、删除数据库、修改数据库、使用数据库2. 表结构操作:创建表、查看表、修改表,文章特别强调了数据库操作中的注意事项,如谨慎执行删除和修改操作,并详细说明了字符集和校验规则的重要性及其设置方法。每个操作都配有清晰的语法说明和具体示例,便于理解和实践。
2025-05-18 15:48:00
504
原创 【Linux】基本指令(下)
本文摘要介绍了Linux系统中常用的压缩与解压指令,包括zip/unzip和tar的基本用法,以及文件传输相关命令(sz/rz/scp)。主要内容涵盖: 压缩与解压指令:zip(带-r参数递归压缩目录)、unzip(-d指定解压路径)、tar(-czf压缩/-xzf解压) 文件传输方法:本地与云服务器PS1服务器互载(sz/rz命令)、Linux机器间传输(scp命令) 实用工具:bc计算器、uname查看系统信息、history查看命令历史、以及Shell工作原理
2025-04-26 19:15:47
539
原创 解决 Xshell 8 窗口置顶问题
习惯用微信截图的朋友可能会遇到这个 Xshell 总在窗口最顶端的问题。Xshell 8 软件的窗口"总在最前面"的快捷键同样是。只需要如图取消勾选即可解决。
2025-04-22 21:23:34
790
原创 【软件测试】论坛系统测试报告
论坛系统主要实现了以下几个功能:注册、登录、查看帖子详情、发布帖子、回复帖子、发私信、修改个人信息,修改密码等功能。针对该论坛系统项目的注册页面、登录页面、论坛首页、帖子详情页、新帖编辑页、我的帖子页、个人中心共7个页面,进行功能测试,以及通过Selenium编写自动化测试脚本进行自动化测试,保证了项目各模块功能的稳定性,提高用户使用体验,以及对论坛系统的满意度。主要使用的测试工具:selenium、jmeter、postman、Chrome主要涉及的测试类型:功能测试、自动化测试、性能测试。
2025-04-11 19:49:24
1374
原创 【Windows】D盘的存储方式
针对D盘文件杂乱的问题,建议采用分类系统管理。在D盘根目录创建不超过10个带编号的文件夹(如0_ImportantFile、1_MyFile等),按功能分类存储重要文件、软件、游戏等。每个软件类文件夹内设置"000000"子文件夹存放安装包,安装时将软件装入对应名称的文件夹。重点是将QQ/微信等软件的默认下载路径统一指向9_DefaultStorage,并保持分类逻辑一致。通过这种层级化管理,既能确保重要文件安全备份,又能使D盘保持整洁有序。用户可根据实际需求调整分类名称和编号顺序
2024-10-10 15:16:17
1992
1
原创 C++中的拷贝构造函数传参时无穷递归的问题
首先:为了解决C++中的自定义类型,值拷贝时调用两次析构函数的问题,当自定义类型的对象进行传参的时候,就会调用拷贝构造。这样就形成了无穷无尽的调用拷贝构造函数。
2024-09-21 20:57:26
433
1
原创 【C语言进阶】文件操作
磁盘上的文件是文件。但是在程序设计中,我们一般谈的文件有两种:程序文件、数据文件(从文件功能的角度来分类的)。FILE*类型的文件指针,这个指针被抽象成数据流。fclose传参传文件指针就可以了,fclose(pf);的含义就是关闭pf所指向的文件信息区对应的文件。pf = NULL;但是fclose函数不会把文件指针置空,后面依然需要手动将文件指针置空。这里可以类比:动态开辟空间后,free释放空间时,也不会把指针置空,如果不手动将指针置空,该指针将成为野指针。功能函数名适用于字符输入函数。
2024-03-22 18:19:53
1263
1
原创 【C语言进阶】升级版通讯录
动态申请的空间需要指针来维护,所以我们把原来的data数组,改成PeoInfo* 类型的data指针,这样待会就可以使用malloc函数动态申请空间,用data指针来维护,并且当通讯录需要扩容的时候,我们可以使用realloc函数调整malloc动态申请的空间的大小。这是之前讲过的简易版通讯录的test函数中的代码,我们可以看到,先是创建了一个Contact类型的con变量,con的内部就有data指针,紧接着就调用了初始化函数,看来我们应该从初始化函数下手了。再过去的文章里,我们讲过了简易版通讯录。
2024-03-18 18:19:37
1031
1
原创 【C语言进阶】动态内存管理
malloc和free都声明在 stdlib.h 头文件中//动态开辟size个字节空间这个函数向内存申请一块连续可用的空间,并返回指向这块空间的指针。如果开辟成功,则返回一个指向开辟好空间的指针。如果开辟失败,则返回一个NULL指针,因此malloc的返回值一定要做检查。返回值的类型是 void*,所以malloc函数并不知道开辟空间的类型,具体在使用的时候使用者自己来决定。如果参数 size为0,malloc的行为是标准是未定义的,取决于编译器。这里需要说明。
2024-03-16 13:47:21
1058
1
原创 【C语言进阶】自定义类型
int age;//这时,我们就可以把不同类型的元素放在结构体里,解决我们的问题}p1;//在最后可以直接创建结构体变量//结构体声明最后要加上分号,不要忘记//也可以声明完结构体类型,再定义结构体变量//初始化:定义变量的同时赋初值。int data;}n1 = {10, {"zhangsan","男",20}, NULL};//结构体嵌套初始化struct Node n2 = {20, {"lisi","女",19}, NULL};//结构体嵌套初始化。
2024-03-15 22:01:29
1125
1
原创 【C语言进阶】通讯录(简单版)
增加联系人删除联系人修改联系人查找联系人显示所有联系人退出通讯录contact.h —— 函数和类型的声明contact.c —— 函数的实现test.c —— 测试通讯录假设通讯录中可以存放100个人的信息。每个人的信息包括:姓名、年龄、性别、电话、住址。这时,每个人的信息可以设计为一个结构体,
2024-03-14 17:19:10
3841
1
原创 【C语言进阶】模拟实现memmove函数
我们是不是可以得到一个结论,当destination指向的空间的起始地址,也就是destination指针指向的位置,也就是destination指针在source指针的左侧的时候,我们采取从后向前拷贝的方式或许更加靠谱一些。我们可以发现,从后向前同样发生了覆盖,只是这一次拷贝3把5覆盖的时候,5已经提前拷贝到7的位置去了,尽管被覆盖,但是并没有发生数据的丢失。拷贝的话,就会导致前面的数据被覆盖,当想把3拷贝到原来5的位置去的时候,我们可以发现3已经被前面拷贝的1给覆盖了。
2024-03-11 22:15:10
1003
1
原创 数据在内存中的存储
我们首先创建了一个int n整型变量,存入了一个9,这个9是以整型的形式存储到内存中的,第一个printf输出的是%d,所以n的值依然为9,这里从内存中拿取数据的方式,也是以整型的形式拿出来的,当&n并且强制类型转换成float*时,再解引用,我们发现他打印%f,并不是我们想象的9.000000,这一次我们从内存中拿取数据的方式则是以浮点数的形式拿出来,他的结果就发生了变化,简单的讲就是 (-1)^S 来表示浮点数的符号,M就是浮点数的二进制表示形式 ,第一个printf,肯定输出的是9,这毫无疑问。
2024-03-01 15:27:03
488
1
原创 初学者容易搞不懂的知识大汇总
想得到中间一位:123/10%10=2 (123/10=12,12%10=2)想得到最后一位:123%10=3。右移分为算数右移和逻辑右移(一般都采用算数右移)算数右移:右边丢弃,左边补原来符号位的数字。反码 = 原码 符号位不变,其他位按位取反。% 取模操作符的两个操作数必须都是整数,左移只有一种情况:左边丢弃,右边补0。按位与&→计算二进制,用补码来进行计算。正数的原反补都相同,负数的则需要计算。逻辑右移:右边丢弃,左边补0。例如有一个整数123,有0同时为0 全1为1。
2024-02-29 18:58:56
456
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅