MySQL数据库
文章平均质量分 92
MYSQL数据库讲解
随风张幔
这个作者很懒,什么都没留下…
展开
-
MySQL - 第14节 - MySQL使用C语言连接
下面在与MySQL数据库交互时,访问的都是connect_demon数据库,该数据库下有一个user表,表中有三条记录。原创 2023-07-04 22:20:50 · 1403 阅读 · 27 评论 -
MySQL - 第13节 - MySQL用户管理
• 如果一个用户只需要访问MySQL中的某一个数据库,甚至数据库中的某一个表,那么可以为其创建一个普通用户,并为该用户赋予对应的权限,而不让该用户看到数据库中的其他数据,防止该用户对其他数据进行误操作。需要注意的是,MySQL中可以存在同名的用户,只要这些同名用户对应的登录主机不同即可,因为user表中的主键是复合主键,由表中的user列和host列共同承担。• IDENTIFIED BY '密码' (可选):如果用户存在,则在授予权限的同时修改该用户的密码,如果用户不存在,则创建该用户。原创 2023-07-03 23:36:52 · 402 阅读 · 6 评论 -
MySQL - 第12节 - MySQL视图特性
根本原因就是因为视图和基表使用的是同一份数据,将视图中CLARK所在部门的部门名改为HR后,部门表中10号部门的部门名也就变成HR了。当我们要查询每个员工及其对应的部门名称时,需要使用员工表和部门表进行多表查询,并筛选出员工的部门号等于部门的部门号的记录。下面用员工表和部门表作为测试表,员工表中的ename代表的是员工的姓名,deptno代表的是员工所在部门的部门号。部门表中的dname代表的是部门名,deptno代表的是部门的部门号。通过查询员工表,可以看到员工CLARK所在部门的部门号为10。原创 2023-07-03 15:24:11 · 447 阅读 · 6 评论 -
MySQL - 第11节 - MySQL事务管理
• 一致性: 在事务开始之前和事务结束以后,数据库的完整型没有被破坏,这表示写入的资料必须完全符合所有的预设规则,这包含资料的精确度、串联型以及后续数据库可以自发性地完成预定的工作。• Support: 表示服务器对存储引擎的支持级别,YES表示支持,NO表示不支持,DEFAULT表示数据库默认使用的存储引擎,DISABLED表示支持引擎但已将其禁用。• Transactions: 表示存储引擎是否支持事务,可以看到InnoDB存储引擎支持事务,而MyISAM存储引擎不支持事务。原创 2023-06-28 14:51:47 · 2645 阅读 · 23 评论 -
MySQL - 第10节 - MySQL索引特性
• 数据库表中存储的数据都是以记录为单位的,如果在查询数据时直接一条条遍历表中的数据记录,那么查询的时间复杂度将会是O(N)。• 索引的价值在于提高海量数据的检索速度,只要执行了正确的创建索引的操作,查询速度就可能提高成百上千倍。当一张表创建索引后,在数据库底层就会为表中的数据记录构建特定的数据结构,后续在查询表中数据时就能通过查询该数据结构快速定位到目标数据。原创 2023-06-25 16:47:25 · 498 阅读 · 10 评论 -
MySQL - 第9节 - MySQL内外连接
现在要显示SMITH的名字和其所在部门的名称,按照复合查询的做法就是,取员工表和部门表的笛卡尔积,在where子句中指明筛选条件为员工的部门号等于部门的部门号,筛选出每个员工匹配的部门信息,并指明员工姓名为SMITH,筛选出SMITH的信息和其所在部门的信息。给出一张员工表和一张部门表,员工表中的ename代表的是员工的姓名,deptno代表的是员工所在部门的部门号。• 在on子句后指明内连接的条件为员工的部门号等于部门的部门号,保证筛选出来的数据是有意义的。表的连接分为内连接和外连接。原创 2023-06-25 15:51:48 · 981 阅读 · 9 评论 -
MySQL - 第8节 - MySQL复合查询
• 下面给出三张表,分别是员工表(emp)、部门表(dept)和工资等级表(salgrade)。• 雇佣时间(hiredate)• 此等级最低工资(losal)• 此等级最高工资(hisal)• 部门编号(deptno)• 部门编号(deptno)• 雇员编号(empno)• 雇员姓名(ename)• 雇员领导编号(mgr)• 部门名称(dname)• 部门所在地点(loc)• 雇员职位(job)• 工资月薪(sal)• 等级(grade)• 奖金(comm)原创 2023-06-24 16:31:56 · 881 阅读 · 10 评论 -
MySQL - 第7节 - MySQL内置函数
• 这么做的好处主要有两个,第一个好处就是公司内部数据库中存储的不是用户的明文信息,就算用户信息泄露了也不会产生太大影响,第二个好处就是形成的摘要是定长的,这样有利于数据库表结构的设计。在显示评论信息时,如果只想显示评论的日期而不显示评论的时间,可以在查询sendtime字段时,通过date函数截取sendtime的日期部分进行显示。注:对于多字节字符来说,不同编码中一个字符所占的字节个数是不同的,比如utf8中一个字符占用3个字节,而gbk中一个字符占用2个字节。原创 2023-06-23 16:42:09 · 945 阅读 · 8 评论 -
MySQL - 第6节 - MySQL表的增删查改
• 表的增删查改简称CRUD:Create(新增),Retrieve(查找),Update(修改),Delete(删除)。• CRUD的操作对象是对表当中的数据,是典型的DML(Data Manipulation Language)数据操作语言。原创 2023-06-21 17:12:45 · 715 阅读 · 8 评论 -
MySQL - 第5节 - MySQL表的约束
如果要让某个字段不允许为空,在创建表的时候就可以给对应字段设置not null属性。比如我们创建一个班级表,表当中包含班级名和该班级所在的教室,如果插入数据时不想让这两个字段为空,就可以在创建表时给这两个字段设置not null属性。• 但是数据类型的约束很单一,为了更好的保证数据的合法性,从业务逻辑角度保证数据的正确性,MySQL中出现了表的约束,目的就是为了尽可能保证数据安全,减少用户的误操作可能性。• 真正约束字段的是数据类型,如果插入的数据超出了对应数据类型的取值范围,那么数据将会插入失败。原创 2023-06-19 07:04:00 · 320 阅读 · 4 评论 -
MySQL - 第4节 - MySQL数据类型
数据类型的作用:• 决定了存储数据时应该开辟的空间大小。• 决定了如何识别一个特定的二进制序列。• 决定了数据的取值范围。原创 2023-06-17 11:36:46 · 611 阅读 · 4 评论 -
MySQL - 第3节 - MySQL表的操作
可以看到我当前的MySQL默认使用的是InnoDB存储引擎,如果我建表时没有指定使用哪种存储引擎,那么就会默认使用InnoDB存储引擎。• 采用MyISAM存储引擎建表,会产生对应的xxx.frm(表结构)、xxx.MYD(表数据)和xxx.MYI(表索引)文件。• 采用InnoDB存储引擎建表,会产生对应的xxx.frm(表结构)和xxx.ibd(表数据+表索引)文件。数据库创建完毕后选中数据库,在该数据库中创建一个user表,并在建表时指定采用MyISAM存储引擎。• Null表示该字段是否允许为空。原创 2023-06-16 21:12:52 · 789 阅读 · 10 评论 -
MySQL - 第2节 - MySQL库的操作
命令,将数据库的字符集改为gbk,并将数据库的校验规则改为gbk_bin。3.如果创建的数据库名称db_name与mysql的关键字同名,则会创建失败,如果一定要创建,则需要给db_name用反引号引用(反引号是键盘在Esc下面那个键),如下图所示。注:如果没有对MySQL的配置文件进行过修改,则默认的编码格式是utf8,默认的校验规则是utf8_general_ci。1.如果创建数据库时未指明数据库的编码格式或校验规则,则默认使用MySQL配置文件中对应的编码格式或校验规则。原创 2023-06-16 11:27:42 · 1325 阅读 · 4 评论 -
MySQL - 第1节 - MySQL数据库基础
也就是说,MySQL服务器本质是一个网络服务器,我们使用mysql命令连接MySQL服务器时,本质就是MySQL客户端在向MySQL服务器发起连接请求,连接建立成功后MySQL客户端就会将用户输入的SQL语句发送给MySQL服务器,之后MySQL服务器就会根据SQL语句对数据进行对应的操作。4.由于内存数据库的数据存储在内存中,数据库主机掉电后数据就会丢失,因此在数据库服务关闭前通常需要把内存中的数据转储到磁盘上,甚至在内存数据库运行期间,一些数据也会持久化到磁盘存储。原创 2023-06-14 22:36:35 · 760 阅读 · 3 评论 -
MySQL - 第0节 - MySQL在Centos 7环境安装
这里要注意的是yum命令要通过管道读取rpm -qa | grep mysqld所产生的安装包列表,管道会通过标准输入传给yum命令,而yum命令是命令行应该通过argv输入(应该将rpm -qa | grep mysqld所产生的安装包列表依次拼在yum remove命令后面进行卸载),xargs的作用就是从标准输入读到的一行一行的内容一个个的喂给后面的yum进程。使用yum list | grep mysql命令查看yum源列表,如下图所示,从图中可以看出yum源列表中有mysql的yum源。原创 2023-06-14 15:46:28 · 1214 阅读 · 6 评论