MySQL
文章平均质量分 96
记录MySQL的学习
七凌、
一点一点进步
展开
-
【MySQL】事务的写写并发
行锁,就是针对数据表中行记录的锁。比如事务A更新了一行,而这时候事务B也要更新同一行,则必须等待事务A的操作完成之后才能进行更新行锁是锁住单个记录的锁,防止其他事务对其update、delete的操作,在RR和RC隔离级别中都支持。行锁是通过锁住索引来实现的在多个事务并发更新数据的时候,都是要在行级别加独占锁的,这就是行锁。转载 2024-04-08 19:12:33 · 60 阅读 · 0 评论 -
【MySQL】使用C语言连接数据
对象中保存着一行数据,这一行数据中可能包含多个字符串,对应就是这行数据中的多个列信息,因此MYSQL_ROW本质就是。建立好链接之后,获取英文字符是没有问题,但是如果是获取中文则是乱码,因为MySQL默认连接的编码格式采用。而对数据库中的数据进行查询操作时,除了需要知道有没有成功,还需要获取查询结果。编译运行我们的代码,发现确实向表中新插入了两条数据,并且数据没有乱码。当我们对数据库中的数据进行增删改操作时,我们只关心操作有没有成功。为了确保我们能够正常的将库引入进我们的代码中,我们可以先使用。原创 2024-02-20 08:30:00 · 1511 阅读 · 8 评论 -
【MySQL】用户管理
由于我们创建的这个用户可以从任意地方登录,因此如果你在Windows下也安装了MySQL,那么就可以在Windows的cmd窗口进行远程登录。上面的三个字段也是最重要的字段,所以以后我们进行查看用户相关的信息时,为了避免刷屏可以使用部分字段进行显示。需要注意的是,MySQL中可以存在同名的用户,只要这些同名用户对应的登录主机不同即可,因为。如果用户存在,赋予权限的同时修改密码,如果该用户不存在,就是创建用户。下的表,发现普通用户只能看到经过授权的表,或者数据库。表中存储的就是MySQL中用户相关的信息。原创 2024-02-16 08:30:00 · 1333 阅读 · 16 评论 -
【MySQL】视图
视图是一个虚拟表,其内容由查询定义。同真实的表一样,视图包含一系列带有名称的列和行数据。下面用员工表和部门表作为测试表,员工表中的ename代表的是员工的姓名,deptno代表的是员工所在部门的部门号。如下:部门表中的dname代表的是部门名,deptno代表的是部门的部门号。原创 2024-02-07 08:30:00 · 990 阅读 · 4 评论 -
【MySQL】深入理解隔离性
如果修改一下SQL的执行顺序,在两个终端各自启动一个事务后,直接先让左终端中的事务对表中的信息进行修改并提交,然后再让右终端中的事务进行查看,这时右终端中的事务就直接看到了修改后的数据。查询时应该进行当前读还是快照读,则是由隔离级别决定的,在读未提交和串行化隔离级别下,进行的都是当前读,而在读提交和可重复读隔离级别下,既可能进行当前读也可能进行快照读。RR级别下快照读只会创建一次Read View,所以RR级别是可重复读的,而RC级别下每次快照读都会创建新的Read View,所以RC级别是不可重复读的。原创 2024-02-03 08:30:00 · 931 阅读 · 4 评论 -
【MySQL】事务管理
事务就是一组DML语句组成,这些语句在逻辑上存在相关性,这一组DML语句要么全部成功,要么全部失败,是一个整体。MySQL提供一种机制,保证我们达到这样的效果。事务还规定不同的客户端看到的数据是不相同的。事务主要用于处理操作量大,复杂度高的数据。比如转账就涉及多条SQL语句,包括查询余额(select)、在当前账户上减去指定金额(update)、在指定账户上加上对应金额(update)等,将这多条SQL语句打包便构成了一个事务。原创 2024-01-31 09:00:00 · 1373 阅读 · 14 评论 -
【MySQL】索引
数据库表中存储的数据都是以记录为单位的(也就是一行数据),如果在查询数据时直接一条条遍历表中的数据记录,那么查询的时间复杂度将会是ONO ( N )ON。索引的价值在于提高海量数据的检索速度,只要执行了正确的创建索引的操作,查询速度就可能提高成百上千倍。当一张表创建索引后,在数据库底层就会为表中的数据记录构建特定的数据结构,后续在查询表中数据时就能通过查询该数据结构快速定位到目标数据。索引虽然提高了数据的查询速度,但在一定程度上也会降低数据增删改的效率。原创 2024-01-28 08:30:00 · 1216 阅读 · 10 评论 -
【MySQL】内外连接
表的连接分为内连和外连。原创 2024-01-25 08:30:00 · 1757 阅读 · 12 评论 -
【MySQL】 复合查询
通过下面的练习能够评估你的SQL查询的基本功。雇员信息表数据库文件部门编号(deptno),部门名称(dname),部门所在地点(loc)。等级(grade),此等级最低工资(losal),此等级最高工资(hisal)。1.1 查询工资高于500或岗位为MANAGER的员工,同时要求员工姓名的首字母为大写的J1.2 查询员工信息,按部门号升序而员工工资降序显示1.3 使用年薪进行降序排序1.4 显示工资最高的员工的名字和工作岗位我们发现这样的SQL是能够满足我们的要求的,但是这样写法有一些散乱,我们其实原创 2024-01-20 08:00:00 · 1104 阅读 · 10 评论 -
【MySQL】内置函数
strcmp函数用于逐字符按照ASCII码比较两个字符串的大小,两个字符串大小相等返回0,前者大返回1,后者大返回-1。:例如现有如下成绩表,要求以“恭喜XXX,你的语文是XX分,数学是XX分,英语是XX分!”的格式显示成绩表中的信息。:当有些时候我们发现数据库中的字符,有的乱码有的正常显示我们就可以通过这种方式进行排查是否是字符集出了问题。该函数的使用很简单,我们只要将我们想要拼接的字符串放进该函数中就行了,此外。: 对于多字节字符来说,不同编码中一个字符所占的字节个数是不同的,比如。原创 2024-01-17 08:00:00 · 1229 阅读 · 12 评论 -
【MySQL】聚合函数与分组查询
注意本题目要求的是数学成绩的个数,不是数学成绩的值,这意味着我们需要对相同的数学成绩的值进行先去重,然后再进行聚合统计,对于去重我们可以使用。:聚合函数用来计算一组数据的集合并返回单个值,通常用这些函数完成:个数的统计,某列数据的求和,某列数据的最大值,最小值,或者是平均值。不知刚才你注意到没,前面我们进行聚合统计时都是在对整张表进行聚合统计,但是有时我们想要对不同的情况进行分别统计。函数是没有办法达到我们想要的目的的,但是如果我们先对班级中的男女生进行分组,然后又分别进行聚合统计,使用。原创 2024-01-12 09:00:00 · 2495 阅读 · 22 评论 -
【MySQL】表的增删改查
表的增删查改简称CRUD:Create(新增),Retrieve(查找),Update(修改),Delete(删除)。CRUD的操作对象是对表当中的数据,是典型的DML语句(Data Manipulation Language 数据操作语言)。原创 2024-01-08 09:00:00 · 1259 阅读 · 18 评论 -
【MySQL】表的约束
但是最好创建表时就指定好主键,不然在表的使用过程中,当我们想要为某一列设置主键时但是这一列已经出现了重复数据了,这时我们设置主键就会失败,除非将重复的数据给删除掉然后再添加主键。向表中插入第一条记录时如果没有指明自增长字段的值,那么自增长字段的值默认将会从1开始,后续向表中插入记录时如果也不指明自增长字段的值,那么自增长字段的值就会依次递增。查看表中插入的数据可以看到,表当中有重复的IP地址,也有重复的端口号,但是不会出现IP和端口均重复的,这就是复合主键的作用!原创 2023-12-26 10:00:00 · 1377 阅读 · 18 评论 -
【MySQL】MySQL的数据类型
而且出于效率考虑,这些值在MySQL内部实际存储的是“数字”,因为这些选项的每个选项值依次对应如下数字:1,2,4,8,16,32,…该设定只是提供了若干个选项的值,最终一个单元格中,实际只存储了其中一个值;创建一个表,表当中包含用户id和用户性别gender,其中gender的类型可以指定为1位bit类型,因为性别只有男和女两种取值,使用1个比特位来表示用户的性别就可以节省空间。查看表中的内容,发现合法的数据被成功的插入了,非法的数据直接被拒绝插入,说明MySQL不会为我们的整形进行截断转换。原创 2023-12-22 10:00:00 · 1104 阅读 · 14 评论 -
【MySQL】表的操作
可以看到我这里当前的MySQL默认使用的是InnoDB存储引擎,当我建表时没有指定使用哪种存储引擎,那么就会默认使用InnoDB存储引擎。可以看到在新增列之前插入表中的两条记录对应的image_path值为NULL,因此新增列后可能还需要对原来插入的记录进行修改。在创建表之前我们要先有一个数据库,并且使用这个数据库,这里我们创建一个db1的数据库并使用。不是简单的修改,而是覆盖式的修改,所以如果我们还要保留注释的话就要再修改时加上。表示将该列新增到哪一列之后,如果想要将新增的列放到第一列,可以将。原创 2023-12-15 10:00:00 · 350 阅读 · 15 评论 -
【MySQL】MySQL库的操作
如果备份一个数据库时,没有带上。原创 2023-12-11 09:00:00 · 450 阅读 · 12 评论 -
【MySQL】MySQL数据库基础
是按照数据结构来组织、存储和管理数据的仓库,是一个长期存储在计算机内的、有组织的、可共享的、统一管理的大量数据的集合。原创 2023-12-05 10:00:00 · 438 阅读 · 17 评论