当前位置:首页 > CN2资讯 > 正文内容

MySQL服务器功能 mysql服务器作用

1天前CN2资讯


一、服务器:

        1.服务器是一种软件,不是硬件,不是计算机。

        2.不同服务器负责调用不同的文件类型

二、表文件, 数据库,数据库服务器

        1.表文件:

                1)表文件是以".frm"结尾一种文件

                2)存在于服务端计算机硬盘上

                3)以数据行形式进行数据存储的文件

        2.表文件结构:
                                       student.frm

          标题行   sid      sname     sex    age   home

          数据行   10       mike         男      23    河南
                   
                        20       allen         女      22    河北        

        3.数据库:

                开发人员将用于存放表文件的文件夹称为【数据库】

        4.数据库服务器

                一种专门对表文件进行调用和管理的软件

三、SQL命令:

        1.全称,Struct  Query  Language, 结构化查询编程语言

        2.作用,用户通过SQL命令向数据库服务器发送请求,用于对
               表文件进行调用管理
        3.特点,SQL语法结构与中国人日常用语结构非常相似,包含主谓宾

四、数据库服务器分类:

        1.关系型数据库服务器

                管理的表文件彼此之间往往具有隶属关系特征可以完整
           描述一段数据,但是在查询时由于涉及数据较多,因此查询
           速度并不理想

        2.非关系数据库服务器【HashMap(key-value)】

                管理表文件都是独立,无法描述一段完整的数据
           但是由于每次查询的大数据较少,因此查询速度非常快

五、关系型数据库服务器分类:

        1. 甲骨文公司: Oracle , MySql
        
        2. 微软公司  : SqlServer pk MySql

 六、MySql服务器启动与关闭:

        1.通过windows系统帮助启动与关闭MySql服务器

                【开始】-->输入命令【services.msc】进入到windows系统服务器管理窗口

        2.

2.以【管理员身份】通过DOS窗口输入命令,要求MySql服务器启动与关闭

           ***如果需要在DOS窗口中向mysql服务器发送命令,必须配置path环境变量
             path= C:\Program Files (x86)\MySQL\MySQL Server 5.5\bin
 
           ***配置完毕后
               DOS窗口:  net start mysql           启动mysql服务器
                      net stop  mysql           关闭mysql服务器
           ****如果不是以管理员身份来输入上述命令,此时得到【错误5】提示

七、登录MySql服务器命令

               1.命令格式:  mysql -u用户名  -p密码

  八、数据库管理:

           1.MySql服务器管理数据库位置:C:\ProgramData\MySQL\MySQL Server 5.5\data

           2.查看所有的数据库名   show databases;

           3.创建一个数据库       create database 数据库名;

           4.删除一个数据库       drop database 数据库名;

 九、表文件管理:

               1. 查看指定的数据库下所有的表文件名
                                     USE  数据库名;
                                     show tables;

               2.在指定的数据库下创建表文件
                                     use  数据库;
                                     create table 表文件名(
                                         字段名  数据类型名,
                                         字段名  数据类型名  #最后一个字段不要以","
                     
                                     )

               3.删除一个表文件
                                    drop table 表文件名;

               4.查看表文件字段信息
                                    show  create table 表文件名;

               5.为表文件添加字段
                                    alter table 表文件名  add  新字段名  数据类型名;

               6.删除表文件字段
                                    alter table 表文件名  drop 字段名;

十、表文件数据行管理:

               1.插入命令: 负责要求MySql服务器向指定的表文件添加数据行

                         insert into 表文件名(字段名1,字段名2,字段名3)
                 values(值1,值2,'值3');

               2.查询命令: 负责要求MySql服务器将指定的表文件数据行展示

                         select  *  from 表文件名;

               3.删除命令:负责要求MySql服务器将指定的表文件数据行删除

                         delete  from 表文件名; #删除表文件中所有的数据行

                 delete  from 表文件名  where 判断条件; #将满足条件的数据行进行删除

               4.更新命令:负责要求MySql服务器将指定的表文件数据行更新

                          update 表文件名 set 字段名=值,字段名2=值 ;将所有数据行指定字段的值赋值新值

                  update 表文件名 set 字段名=值,字段名2=值 where 判断条件; 将满足条件的数据行字段信息更新

十一、高级插入命令:

               1.一次性向表文件插入多行数据
                      INSERT INTO 表文件名(字段1,字段2,字段3)
              values
              (值1,值2,值3),
              (值10,值20,值30);

               2.简化版插入命令。如果插入数据时每一个字段都能赋值,此时插入命令不需要指定
             字段名,插入值顺序此时需要与表文件字段顺序保持一致

                  insert into 表文件名 values(值1,值2,值3)

               3.数据行备份命令:可以将表A中数据行复制到表B,(表A与表B字段结构完全一致)

                  insert into B  select  * from A

十二、表文件备份命令: 将表文件A进行一份备份,备份生成的表文件B

                         create table B select * from A

十三、mysql服务器字符串类型:

      1.分类: varchar  与   char

      2.区别:【面试】

 

varchar(m): 定长可变字符串 定长: 当前字段可以存储的字符个数是固定的 ename varchar(3) # 3表示ename字段可以存储3个英文字符或则3个中文 可变: ename字段在硬盘上存储字符空间可以根据实际情况进行【缩小】 ename varchar(3) insert into test1 values('abc') #硬盘 【a】【b】【c】 insert into test1 values('ef') #硬盘 【e】【f】 char(m): 定长不可变字符串 定长: 当前字段可以存储的字符个数是固定的 sex char(1) #1表示sex字段可以存储1个英文字母或则1个中文 不可变: sex字段在硬盘上存储字符空间是固定的 sex char(3) insert into test1 values('abc') 【a】 【b】 【c】 insert into test1 values('ef') 【e】 【f】 【空格】 针对char类型字段进行数据读取时,MySql服务器自动将字符串中【结尾处 空格去掉】 如果插入字符串以空格结尾,不要添加到由char类型修饰的字段

十四、 约束:

           1.非空约束: 要求管理的字段不能存储null值

       2.唯一性约束:要求管理的字段存储值不能有重复,但是可以存储null值

       3.主键约束:  管理主键字段,要求主键字段内容不能为null同时也不能出现重复值

       4.外键约束:   管理外键字段,要求外键字段的值应该来自于关联的一方表中主键字段的值
                                    但是可以存储null值

                          ALTER TABLE 多方表
              ADD CONSTRAINT  外键约束对象名  foreign key(外键字段名)
              REFERENCES  一方表(主键字段)

十五、索引(index)

          1.查询速度问题:
                     由于表文件存放数据行会随着时间推移,会越来越多。
             where命令在执行时需要对表文件所有数据行进行遍历
             所以时间越久,数据行越大,where命令执行时消耗时间就会不断增加

          2.索引作用:
                     在表文件数据行增加时候,不会大幅度降低查询语句执行效率
             

          3.索引工作原理:
                      数据1 【100,80,45,50,90,200,17】  17
              数据2 【17,45,50,80,90,100,200】  17
              分别从两组数据得到最小值,通过实验发现
              从【数据2】得到最小值消耗时间相对较少
              从【数据1】进行判断判断时
              首先,将数据进行一次排序
              然后,根据排序顺序定位最小值
              由于【数据2】事先排好了顺序。因此直接
              从第一位抓取数据,避免排序过程,因此执行效率高

              索引工作原理,事先将字段中内容进行排序,在WHERE
              命令进行定位时,避免对表中所有的数据行进行遍历
              将会提升查询速度

          4.索引管理:

                     1)将字段内容交给某个索引进行管理

               create index 索引名  on 表名(字段)

                         2)查询表文件关联的索引

                show index from 表名
                ***在为表文件绑定【主键约束】,【唯一性约束】,【外键约束】时
                   mysql服务器自动将当前字段数据进行排序并交给指定索引管理

                         3)删除表文件指定索引
                DROP INDEX 索引名 ON 表名
十六、执行计划(explain)

             1.命令格式:   explian  查询语句

         2.命令作用:  展示当前查询得到结果是否通过索引来进行定位
                        DBA通过执行计划了解在本次查询过程,是否使用预先创建好的索引

             3.执行计划对于查询语句执行效率判断

                         1)在执行计划中,通过type属性展示查询语句执行效率
                 2)执行效率分类:[慢----快]

                     ALL:WHERE对表文件所有数据行进行遍历,才得到了查询结果
                      这种级别查询语句,随着数据行增加导致执行速度大幅度
                      降低(DBA来说,极力避免这种级别查询)

                                 type:WHERE对表文件所有数据行进行遍历,只不过在SELECT
                      抓取字段内容时,从索引中抓取。
                      这种级别虽然在抓取数据速度有所提升,但是依然面对
                      随着数据行增加导致执行速度大幅度(DBA来说,极力避免这种级别查询)

                      select * from emp ;   # all
                      create index ename_index on emp(ename)
                      select ename from emp; #type,此时对于查询速度提升是非常微小

                                 range:WHERE不会对表文件数据行进行遍历,而是直接从索引得到
                       定位的数据行行数,将大幅度提升查询效率。
                       这是DBA进行SQL优化时要保证最低级别。但是这种级别存在[不稳定性]
                       当字段内容发生变化时,导致索引失效
                        explain select * from emp where sal<=1000  # all         14

                    create index sal_index on emp(sal)

                    explain select * from emp where sal<=1000 # range        2

                    ****mysql服务器如果发现从索引得到数据行行数达到了表文件总行数
                        1/3时,此时考虑运行成本问题此时放弃使用索引
                        explain select * from emp where sal<=1250 # all      14
                       
                                  ref:   WHERE不会对表文件数据行进行遍历,而是直接从索引得到
                         定位的数据行行数,同时在这种情况根据定位条件一次只能
                     得到一个数据行,属于比较稳定执行效率.DBA努力达到的优化
                     程度

                                  const: 根据主键字段上索引进行定位,是执行效率最快的。但是
                         在实际使用过程中,几乎不会被用到的。

十七、视图

       1.定义:
                是MySql服务器中一个对象,用于存储查询语句。
        目的提供查询语句使用效率,避免在多处地方
        重复性开发相同查询语句

       2.命令:

                1)将查询语句交给一个视图对象管理

           CREATE VIEW  视图对象名  AS  查询语句

                2)通过视图对象调用管理查询语句

           select *  from 视图对象名
        3.额外功能:
              视图对象存储一个查询语句,同时视图对象拥有对
          当前查询语句关联的表文件操作能力

         1)通过视图对象对关联表文件数据行进行插入
         2)通过视图对象对关联表文件数据行进行删除
         3)通过视图对象对关联表文件数据行进行更新

        4.视图作用:【面试】

              1)提高了查询语句复用性,避免了在多处地方重复进行查询语句开发行为

          2)隐藏业务中涉及表关系,开发人员通过视图进行操作时是不会知道其具体
             操作的表

十八、存储引擎:

        1.定义:
             是MySql服务器对应表文件内容管理方式。目前MySql服务器主要采用
         INNODB,MyIsam

        2.管理命令:

              1)查看MySql服务器支持存储引擎种类

             show engines;

                  2)修改MySql服务器默认存储引擎

           C:\Program Files (x86)\MySQL\MySQL Server 5.5\my.ini下
           default-storage-engine=INNODB  进行修改 myIsam

                  3)设置表文件依赖存储引擎

            show create table 表名;

            alter table 表名  engine=存储引擎

         3.MyIsam存储引擎特征:

              1.在对表文件内容进行修改时,不会进行备份操作。
            提高操作执行效率,但是在操作完毕后无法取消本次操作

                  2.MyIsam存储引擎 使用三个文件存储表文件信息

             test1.frm : 存储表文件字段信息
             test1.myd : 存储表文件数据行信息
             test1.myi : 存储表文件字段关联的索引信息

         4.INNODB存储引擎:

              1.在对表文件内容进行修改时,首先进行一次备份。
            在进行操作,因此执行效率相对较慢。
            但是在执行完毕后,由于有备份存在,可以使用
            备份取消当前操作,增加数据安全性

                  2.INNODB存储引擎,使用一个文件存储表文件信息

             test1.frm: 存储表文件字段信息
                        存储表文件数据行信息
                存储表文件字段关联的索引信息 

十九、事务(transaction)

        1.介绍:
            事务是MySql服务器提供一个管理对象,用于对当前表文件备份进行管理

        2.使用:

start transaction; #通知MySql服务器提供一个事务对象,这个事务对象对接下来操作产生所有备份进行管理 delete from emp where deptno=30 # 生成emp.bak delete from dept where deptno=30 #声明dept.bak rollback; #通知mysql服务器将本次操作中所有备份信息覆盖到表文件,来取消本次操作 commit; #通知mysql服务器将本次操作中生成所有备份信息进行删除,称之为提交操作


    你可能想看:

    扫描二维码推送至手机访问。

    版权声明:本文由皇冠云发布,如需转载请注明出处。

    本文链接:https://www.idchg.com/info/23229.html

    分享给朋友:

    “MySQL服务器功能 mysql服务器作用” 的相关文章

    RackNerd VPS服务测评:性价比高、稳定性强的主机商推荐

    在当今的网络世界中,选择合适的主机商显得尤为重要。我最近体验了RackNerd这家提供VPS服务的主机商,想和大家分享一些我的观点。RackNerd因其性价比高而广受好评,这让我在决定购买前进行了详细的测评。我会从多个角度来探讨RackNerd的各方面表现。 RackNerd不仅在价格上拥有明显优势...

    iHerb优惠码使用指南:最大化你的购物折扣

    在现代生活中,网络购物已经成为很多人日常消费的一部分,尤其是像iHerb这样的电商平台,提供了丰富的天然保健品和生活必需品。对于我们消费者来说,iHerb优惠码就是一个能够让购物更加实惠的绝佳工具。 iHerb优惠码是一种特殊的代码,用户在结账时输入这些代码,就可以享受相应的折扣。无论是新用户还是老...

    主机类型与高性能配置详解,选择最适合你的主机方案

    主机的定义与分类 什么是主机? 当我们谈论“主机”这个词时,通常指的是计算机系统,特别是在网络环境中提供服务或资源的设备。我个人觉得主机不仅仅是实体的机器,而是指在网络中扮演着重要角色的一种技术资源。它可以执行各种任务,从存储数据到托管网站,再到运行应用程序,主机的功能几乎无所不包。可以想象,主机就...

    全面解析UDP攻击:类型、影响及有效防御策略

    在当今网络环境中,UDP攻击是一个话题无法忽视的安全隐患。它是一种常见的网络攻击形式,通常会给目标服务器带来严重的资源消耗。为了更好地理解这一现象,我们不妨简单回顾一下UDP协议的特性,以及攻击者是如何利用这一协议实施攻击的。 UDP,即用户数据报协议(User Datagram Protocol)...

    强制结束占用短裤:高效解决文件锁定问题的方法与工具

    强制结束占用短裤这一概念听起来可能有些陌生,但在计算机操作系统中,它扮演着一个非常重要的角色。当一个文件或进程被占用时,我们常常会发现自己无法删除、移动或修改这些文件。这时,强制结束的必要性就显而易见了。通过强制结束占用,我们可以有效地解除阻碍,重新获得对文件的掌控。 对于普通用户来说,主动解除文件...

    AMD EPYC 7002处理器:高性能与高能效的完美结合

    我一直对AMD EPYC 7002系列处理器充满兴趣。这款处理器是AMD公司最新推出的服务器处理器,确实让人感到兴奋。基于现代的Zen 2架构,这款处理器融合了先进的7nm制程工艺,投放市场后便以其高性能和高能效著称。随着数据中心和云计算需求的不断增加,EPYC 7002系列成了一个热议的话题,来看...