MySQL基础概念

1、索引        

        索引是一种将数据库中单列或多列的值进行排序的结构。索引可以提高查询的速度。

        索引分为普通索引、唯一索引、全文索引、单列索引、多列索引、空间索引。

        创建索引语句:create [unique|fulltext|spatial] index index_name on table_name(属性[(length)] [asc|desc])

        参数说明:index_name:索引名称

                          table_name:表名

                        可选参数:unique唯一索引,fulltext全文索引、spatial空间索引

                        属性参数:指定索引对应的字段名称。

                        length:可选参数,用于指定索引长度

                        asc和desc:指定数据表的排序顺序

        修改索引语句:alter table table_name add [unique|fulltext|spatial] index index_name(属性名 [(length)] [asc|desc])

        删除索引语句:drop index index_name on table_name

2、视图

        视图是一个虚拟表,从数据库中一个或多个表中导出来的表,内容由查询定义。

        创建视图语句:create view 视图名[(属性清单)] as select 语句 

3、存储过程

        是一组SQL语句的集合,被当做整体存入MySQL服务器。

        创建存储过程:create procedure sp_name ([proc_parameter[...]])

                                        [characteristic...] routine_body

                                参数:sp_name是存储过程的名称,proc_parameter表示存储过程的参数列表,characteristic指定存储过程特性,routine_body是SQL代码内容,可以用begin....end表示SQL代码的开始和结束。

        调用存储过程:call sp_name([parameter[...]]);                   

4、存储函数

        创建存储函数:create function sp_name ([func_parameter[...]])

                                        returns type

                                        [characteristic...] routine_body

                        参数:sp_name是存储函数的名称,func_parameter表示存储函数的参数列表,characteristic指定存储过程特性,routine_body是SQL代码内容,returns type指定返回值的类型。

        调用存储函数:select function_name([parameter[...]])

5、触发器

        由SQL的基本命令事件来触发某种特定操作,这些基本的命令由insert,update,delete等事件来触发某些特定操作。满足触发器的触发条件时,数据库系统会自动执行触发器中定义的程序语句,令某些操作之间的一致性得到协调。

        创建触发器:create trigger 触发器名称 before|after 触发事件 on 表名 for each row 执行语句

                参数:before和after指定触发器执行时间,触发事件值数据库操作触发条件,表名指定触发事件操作表的名称,for each row表示任何一条记录上的操作满足触发事件都会触发该触发器,执行语句指触发器被触发后执行的程序。

        查看触发器:show triggers

        删除触发器:drop trigger 触发器名称

6、事务

        事务由单独单元的一条或多条SQL语句组成,在这个单元中,每条MySQL语句是相互依赖的,整个单独单元是作为一个不可分割的整体,如果单元中一旦每条SQL语句执行失败或生产错误,整个单元将回滚,所有受到影响的数据将返回到事务开始以前的状态,如果单元中的所有SQL语句均执行成功,则事务被执行。

        事务的属性:原子性,一致性,孤立性,持久性。

        

7、事件

        可以作为定时任务调度器,可以实现每秒钟执行一个任务,在某一段时间执行一些语句。

        创建事件:create

                                [definer={user | current_user}]

                                event [if not exists] event_name

                                on schedule schedule

                                [on completion [not] preserve]

                                [enable | disable | disable on slave]

                                [comment 'comment']

                                do event_body;

                参数:definer-可选,定义事件执行时检查权限的用户

                           if not exists-可选,判断要创建的事件是否存在

                           event event_name-必选,事件名称

                           on schedule schedule-必选,定义执行的时间和时间间隔

                           on completion [not] preserve-可选,定义事件是否循环执行

                            enable | disable | disable on slave-可选,指定事件的一种属性

                         comment 'comment'-可选,事件的注释

                           do event_body-必选,指定事件启动时要执行的代码,可以时SQL语句,存储过程或一个计划执行的事件。

        修改事件:alter                 

                                [definer={user | current_user}]

                                event [if not exists] event_name

                                on schedule schedule

                                [on completion [not] preserve]

                                [enable | disable | disable on slave]

                                [comment 'comment']

                                do event_body;

        删除事件:drop event [if exists] event_name

8、系统库:

        1)information_schema:信息数据库,其中保存关于MySQL服务器维护的所有其他数据库的信息,比如数据库名称,数据库表,表字段的数据类型与访问权限等。

                schemata表:提供了当前MySQL实例中所有的数据库信息,show database结果取之于此。

                tables表:提供了关于数据中表的信息。

                columns表:提供了表中的列的信息,详细描述了某张表的所有列以及每个列的信息。

        2)mysql:MySQL的核心数据库,主要负责存储数据库的用户,权限设置,关键字等MySQL自己需要使用的控制和管理信息。

        3)performance_schema:内存数据库,数据放在内存中直接操作的数据库。

        4)sys:通过这个库,可以查询谁使用了最多的资源,基于IP或是用户,哪张表被访问过最多等信息。

        

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值