数据库
文章平均质量分 86
数据库
后续的诗
这个作者很懒,什么都没留下…
展开
-
MySQL使用C语言连接
连接数据库前,我们需要创建一个MySQL对象参数为null时,函数自动返回一个MySQL对象,如果参数为一个地址,函数会在该地址处帮你完成初始化。MYSQL是 C api中一个非常重要的变量(mysql_init的返回值),里面内存非常丰富,有port,dbname,charset等连接基本参数。它也包含了一个叫 st_mysql_methods的结构体变量,该变量里面保存着很多函数指针,这些函数指针将会在数据库连接成功以后的各种数据操作中被调用。原创 2024-03-31 21:16:13 · 1215 阅读 · 0 评论 -
MySQL用户管理
如果我们只能使用root用户,这样存在安全隐患。这时,就需要使用MySQL的用户管理。原创 2024-03-31 18:34:59 · 580 阅读 · 0 评论 -
MySQL视图
这张表生成之后,我们发现v_ename_dname这张表只有 .frm文件(表信息),没有 .ibd文件(表数据),也证明了我们前面的视图的特性:视图中的数据并不会单独存储在数据库中,其数据来自定义视图时查询所引用的表。我们现在做一个测试,我们在视图中将姓名为WARD的员工的部门名换一个名字,如果原表中的数据也发生了改变,就说明视图的数据会影响到基表。前面说过视图的数据变化会影响到基表,基表的数据变化也会影响到视图。视图的数据变化会影响到基表,基表的数据变化也会影响到视图。我们创建完之后会发现多了一张表。原创 2024-03-31 11:26:14 · 346 阅读 · 0 评论 -
MySQL事务
事务就是一组DML语句组成,这些语句在逻辑上存在相关性,这一组DML语句要么全部成功,要么全部失败,是一个整体。MySQL提供一种机制,保证我们达到这样的效果。事务还规定不同的客户端看到的数据是不相同的。事务就是要做的或所做的事情,主要用于处理操作量大,复杂度高的数据。就需要多条 MySQL 语句构成,那么所有这些操作合起来,就构成了一个事务。一个 MySQL 数据库,存在大量事务在运行,而每条事务至少一条 SQL ,这样如果大家都访问同样的表数据,在不加保护的情况,就绝对会出现问题。原创 2024-03-30 12:09:08 · 2162 阅读 · 0 评论 -
MySQK索引
索引:提高数据库的性能,索引是物美价廉的东西了。不用加内存,不用改程序,不用调sql,只要执行正确的 create index ,查询速度就可能提高成百上千倍。但是天下没有免费的午餐,查询速度的提高是以插入、更新、删除的速度为代价的,这些写操作,增加了大量的IO。所以它的价值,在于。接下来,通过一个案例,来看看索引能提高多少检索效率。1。我们先创建一个有着八百万条数据的表。2。我们要在这八百万条数据中找到指定的一条。可以看到查找的时间大概是4.5秒左右。3。我们建立索引之后再次查找。原创 2024-03-29 16:29:36 · 938 阅读 · 0 评论 -
MySQL内外连接
表的连接分为内连和外连。原创 2024-03-28 21:12:20 · 433 阅读 · 0 评论 -
MySQL复合查询
先看一下几张表结构,接下来的内容都是围绕这几张表来说的。原创 2024-03-26 19:38:19 · 1292 阅读 · 1 评论 -
MySQL内置函数
如果当前数据库存储的是密码,并且是以明文的形式保存的,如果被黑客攻击了,拿到了数据库中所有人的密码,那就麻烦了,针对这种情况,保存密码可以使用md5形成一个32位的数据摘要。-> );mysql> insert into user(name, password) values('张三', 1234);mysql> insert into user(name, password) values('李四', md5('1234'));| 1 | 张三 | 1234 |原创 2024-03-25 16:57:52 · 1574 阅读 · 0 评论 -
MySQL表内容的增删查改
ASC为升序(从小到大)DESC为降序(从大到小)默认为ASC。原创 2024-03-23 22:42:09 · 1043 阅读 · 0 评论 -
MySQL表的约束
为什么要有约束,其实是为了,在上一章中我们说到数据类型其实就是一种约束,比如tinyint类型的取值范围是-128-127,如果超过了这个范围,就直接报错,而不是发生c语言中的截断,这样可以倒逼程序员必须插入合法的数据。原创 2024-03-22 21:10:26 · 1189 阅读 · 0 评论 -
MySQL数据类型
而且出于效率考虑,这些值实际存储的是“数字”,因为这些选项的每个选项值依次对应如下数字:1,2,3,....最多65535个;而且出于效率考虑,这些值实际存储的是“数字”,因为这些选项的每个选项值依次对应如下数字:1,2,4,8,16,32,....最多64个。所以MySQL中的数据一定是合法的,所以数据类型就是一种约束,关于约束的话题,我们下一章再说。set是一个位图结构(从左往右看),第一次我们插入的是2,对应二进制为01,所以是游泳,第二次是3,对应二进制位11,就是登山和游泳。原创 2024-03-21 15:56:22 · 1167 阅读 · 0 评论 -
MySQL表的操作
之前的comment是用户的图片,在修改属性之后,就被覆盖掉了。在birthday字段后面增加一个image_path;我们想把刚刚加的image_path的大小改成20。需要注意的是这样会把comment属性给覆盖掉。原创 2024-03-21 11:26:42 · 374 阅读 · 0 评论 -
MySQL库的操作
创建两个数据库,一个校验集为utf8_general_ci(不区分大小写),一个为utf8_bin(区分大小写),然后我们插入若干字母(有大写和小写),进行比较。如果备份一个数据库时,没有带上-B参数, 在恢复数据库时,需要先创建空数据库,然后使用数据库,再使用source来还原。写入和读取的编码集必须是相同的,就像你使用汉语写了一段信息,使用英文是无法获取这段信息的内容的。查看mytest.sql 文件里的内容,会发现其实把我们整个创建数据库,建表,导入数据的语句。创建一个utf8字符集数据库。原创 2024-03-20 16:52:19 · 510 阅读 · 0 评论 -
MySQL基础
存储数据用文件就可以了,为什么还要弄个数据库?文件的安全性问题文件不利于数据查询和管理文件不利于存储海量数据文件在程序中控制不方便为了解决上述问题,专家们设计出更加利于管理数据的东西——数据库,它能更有效的管理数据。原创 2024-03-19 21:21:46 · 201 阅读 · 0 评论