热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

划水小老虎的mysql学习路线

mysql学习路线简介特点架构目录结构下载地址常用命令总结MySql的常用对象存储引擎库information_schemaperformance_schemamysql库的基操分

mysql学习路线

  • 简介
  • 特点
  • 架构
  • 目录结构
  • 下载地址
  • 常用命令总结
  • MySql的常用对象
    • 存储引擎
      • information_schema
      • performance_schema
      • mysql
      • 库的基操
      • 分库
      • 表的基操
      • 什么是表空间
      • 分库分表
    • 字段
      • 字符型
      • 数值型
      • 文本型
      • 逻辑型
      • 时间型
    • 索引
    • 视图
    • 存储过程


简介

mysql是目前最为流行的开源数据库管理系统

特点

特点:

  • 1,多用户,多线程充分利用CPU资源
  • 2,C和C++编写
  • 3,跨平台
  • 4,为多种语言提供了丰富的API
  • 5,优化Sql查询算法
  • 6,即可当做独立应用,也可作为库嵌入至其他软件
  • 7,提供丰富的连接途径 TCP/IP ODBC JDBC
  • 8,提供用于管理,检查,优化的工具
  • 9,轻松处理上千万条记录的大型数据库

架构

在这里插入图片描述

目录结构

源码目录

BUILD:里面包含各个平台,各个编译器下进行编译的脚本; CMakeLists.txt:CMake入口编译文件;
client: 客户端工具,所有客户端工具都在这里,比如mysql,mysqlbinlog,mysqladmin,mysqldump等;
cmake:为CMake编译服务的,这里定义了很多在CMake编译时使用的方法或变量; cmd-line-utils:一些小工具;
config.h.cmake:用于生成编译时配置头文件的.cmake文件;
dbug:提供一些调试用的宏定义,可以很好地跟踪数据库执行到的执行函数、运行栈桢等信息,可以定位一些问题;
extra:包含了用来做网络消息认证的SSL包,并提供了comp_err、resolveip等小工具;
include:MySQL代码包含的所有头文件,这里不包括存储引擎的头文件; libbinlogevents:MySQL 5.7
引擎开始新增的、用于解析Binlog的lib服务; libmysql:用来创建嵌入式系统的MySQL客户端API;
libmysqld:MySQL服务器的核心级API文件,也用来开发嵌入式系统; mysql-test:mysqld的测试工具;
mysys:MySQL自己实现的一些常用的数据结构和算法,比如array,list和hash,以及一些区分不同底层操作系统平台的函数封装,比如my_file,my_fopen等函数,这一类型的函数都以my开头;
mysys_ssl:MySQL中SSL相关的服务;
plugin:包括一些系统内置的插件,比如auth,password_validation等,同时包含了可动态载入的插件,比如fulltext,semisync等;
regex:一些关于正则表达式的算法实现;
scripts:包含一些系统工具脚本,比如mysql_install_db,mysqld_safe及mysqld_multi等;
sql:MySQL服务器主要代码,这里包含了main函数(main.cc),将会生成mysqld可执行文件;
sql-common:存放部分服务器端和客户端都会用到的代码;
storage:所有存储引擎的源代码都在这个目录中,文件夹名一般就是其存储引擎的名称,包括innobase,myisam,blackhole,ndb及perfschema等;
strings:包含很多字符串处理的函数,比如strmov,strappend及my_atof等函数;
support-files:my.cnf示例配置文件及编译所需的一些工具; unittest:单元测试文件目录;
vio:虚拟网络IO处理系统,是对不同平台或不同协议的网络通信API的封装; win:在windows平台编译所需的文件和一些说明;
zlib:zlib压缩算法库;

安装目录

1、bin目录
用于放置一些可执行文件,如mysql.exe、mysqld.exe、mysqlshow.exe等。
2、data目录
用于放置一些日志文件以及数据库。
3、include目录
用于放置一些头文件,如:mysql.h、mysql_ername.h等。
4、lib目录
用于放置一系列库文件。
5、share目录
用于存放字符集、语言等信息。
6、my.ini
是MySQL数据库中使用的配置文件。
7、my-huge.ini
适合超大型数据库的配置文件。
8、my-large.ini
适合大型数据库的配置文件。
9、my-medium.ini
适合中型数据库的配置文件。
10、my-small.ini
适合小型数据库的配置文件。
11、my-template.ini
是配置文件的模板,MySQL配置向导将该配置文件中选择项写入到my.ini文件。
12、my-innodb-heavy-4G.ini
表示该配置文件只对于InnoDB存储引擎有效,而且服务器的内存不能小于4GB。


下载地址

官方下载地址
安装教程比较简单,自行百度

常用命令总结

MySQL中有很多的基本命令,show命令也是其中之一,在很多使用者中对show命令的使用还容易产生混淆,本文汇集了show命令的众多用法。

  1. show tables或show tables from database_name; – 显示当前数据库中所有表的名称。
  2. show databases; – 显示mysql中所有数据库的名称。
  3. show columns from table_name from database_name; 或show columns from database_name.table_name; – 显示表中列名称。
  4. show grants for user_name; – 显示一个用户的权限,显示结果类似于grant 命令。
  5. show index from table_name; – 显示表的索引。
  6. show status; – 显示一些系统特定资源的信息,例如,正在运行的线程数量。
  7. show variables; – 显示系统变量的名称和值。
  8. show processlist; – 显示系统中正在运行的所有进程,也就是当前正在执行的查询。大多数用户可以查看他们自己的进程,但是如果他们拥有process权限,就可以查看所有人的进程,包括密码。
  9. show table status; – 显示当前使用或者指定的database中的每个表的信息。信息包括表类型和表的最新更新时间。
  10. show privileges; – 显示服务器所支持的不同权限。
  11. show create database database_name; – 显示create database 语句是否能够创建指定的数据库。
  12. show create table table_name; – 显示create database 语句是否能够创建指定的数据库。
  13. show engines; – 显示安装以后可用的存储引擎和默认引擎。
  14. show innodb status; – 显示innoDB存储引擎的状态。
  15. show logs; – 显示BDB存储引擎的日志。
  16. show warnings; – 显示最后一个执行的语句所产生的错误、警告和通知。
  17. show errors; – 只显示最后一个执行语句所产生的错误。
  18. show [storage] engines; --显示安装后的可用存储引擎和默认引擎。

MySql的常用对象

存储引擎


MySQL 库的概念比较简单,主要用于存放表.比较值得深究的是mysql的默认基础库

information_schema

information_schema //信息模式

performance_schema

performance_schema // 性能模式

mysql

mysql // mysql

库的基操

库的基操

分库


表基于库,由行和列组成,用于组织和存储数据结构

表的基操


什么是表空间


分库分表


字段

表中的每一个列我们称其为字段,字段具有自己的属性,如大小类型等等;SQL规范支持五种基本字段类型:

字符型


数值型


文本型


逻辑型


时间型


索引

索引是一个单独的,物理的数据库结构,它依赖于表建立,在数据库中索引使数据库无需对整个表进行扫描,就可以再其中找到所需的数据.

视图

视图是从一张或多张表中导出的表,是用户查看数据表中数据的一种方式,表中包括几个被定义的数据列与数据行,其结构和数据建立在对表的查询基础之上.

存储过程

存储过程是一组为了完成特定功能的sql语句集合,例如查询,插入,删除,更新等!经编译后以名称的形式存储在sql server服务端的数据库中,由用户通过指定存储过程的名字执行,当这个存储过程被调用执行时,这些操作也会同时执行.


推荐阅读
  • 本文介绍了Redis的基础数据结构string的应用场景,并以面试的形式进行问答讲解,帮助读者更好地理解和应用Redis。同时,描述了一位面试者的心理状态和面试官的行为。 ... [详细]
  • Oracle Database 10g许可授予信息及高级功能详解
    本文介绍了Oracle Database 10g许可授予信息及其中的高级功能,包括数据库优化数据包、SQL访问指导、SQL优化指导、SQL优化集和重组对象。同时提供了详细说明,指导用户在Oracle Database 10g中如何使用这些功能。 ... [详细]
  • 计算机存储系统的层次结构及其优势
    本文介绍了计算机存储系统的层次结构,包括高速缓存、主存储器和辅助存储器三个层次。通过分层存储数据可以提高程序的执行效率。计算机存储系统的层次结构将各种不同存储容量、存取速度和价格的存储器有机组合成整体,形成可寻址存储空间比主存储器空间大得多的存储整体。由于辅助存储器容量大、价格低,使得整体存储系统的平均价格降低。同时,高速缓存的存取速度可以和CPU的工作速度相匹配,进一步提高程序执行效率。 ... [详细]
  • 本文介绍了计算机网络的定义和通信流程,包括客户端编译文件、二进制转换、三层路由设备等。同时,还介绍了计算机网络中常用的关键词,如MAC地址和IP地址。 ... [详细]
  • 本文详细介绍了Spring的JdbcTemplate的使用方法,包括执行存储过程、存储函数的call()方法,执行任何SQL语句的execute()方法,单个更新和批量更新的update()和batchUpdate()方法,以及单查和列表查询的query()和queryForXXX()方法。提供了经过测试的API供使用。 ... [详细]
  • 本文介绍了在开发Android新闻App时,搭建本地服务器的步骤。通过使用XAMPP软件,可以一键式搭建起开发环境,包括Apache、MySQL、PHP、PERL。在本地服务器上新建数据库和表,并设置相应的属性。最后,给出了创建new表的SQL语句。这个教程适合初学者参考。 ... [详细]
  • 本文介绍了使用postman进行接口测试的方法,以测试用户管理模块为例。首先需要下载并安装postman,然后创建基本的请求并填写用户名密码进行登录测试。接下来可以进行用户查询和新增的测试。在新增时,可以进行异常测试,包括用户名超长和输入特殊字符的情况。通过测试发现后台没有对参数长度和特殊字符进行检查和过滤。 ... [详细]
  • 本文介绍了Oracle数据库中tnsnames.ora文件的作用和配置方法。tnsnames.ora文件在数据库启动过程中会被读取,用于解析LOCAL_LISTENER,并且与侦听无关。文章还提供了配置LOCAL_LISTENER和1522端口的示例,并展示了listener.ora文件的内容。 ... [详细]
  • Java String与StringBuffer的区别及其应用场景
    本文主要介绍了Java中String和StringBuffer的区别,String是不可变的,而StringBuffer是可变的。StringBuffer在进行字符串处理时不生成新的对象,内存使用上要优于String类。因此,在需要频繁对字符串进行修改的情况下,使用StringBuffer更加适合。同时,文章还介绍了String和StringBuffer的应用场景。 ... [详细]
  • XML介绍与使用的概述及标签规则
    本文介绍了XML的基本概念和用途,包括XML的可扩展性和标签的自定义特性。同时还详细解释了XML标签的规则,包括标签的尖括号和合法标识符的组成,标签必须成对出现的原则以及特殊标签的使用方法。通过本文的阅读,读者可以对XML的基本知识有一个全面的了解。 ... [详细]
  • 本文介绍了RPC框架Thrift的安装环境变量配置与第一个实例,讲解了RPC的概念以及如何解决跨语言、c++客户端、web服务端、远程调用等需求。Thrift开发方便上手快,性能和稳定性也不错,适合初学者学习和使用。 ... [详细]
  • 本文探讨了C语言中指针的应用与价值,指针在C语言中具有灵活性和可变性,通过指针可以操作系统内存和控制外部I/O端口。文章介绍了指针变量和指针的指向变量的含义和用法,以及判断变量数据类型和指向变量或成员变量的类型的方法。还讨论了指针访问数组元素和下标法数组元素的等价关系,以及指针作为函数参数可以改变主调函数变量的值的特点。此外,文章还提到了指针在动态存储分配、链表创建和相关操作中的应用,以及类成员指针与外部变量的区分方法。通过本文的阐述,读者可以更好地理解和应用C语言中的指针。 ... [详细]
  • 利用Visual Basic开发SAP接口程序初探的方法与原理
    本文介绍了利用Visual Basic开发SAP接口程序的方法与原理,以及SAP R/3系统的特点和二次开发平台ABAP的使用。通过程序接口自动读取SAP R/3的数据表或视图,在外部进行处理和利用水晶报表等工具生成符合中国人习惯的报表样式。具体介绍了RFC调用的原理和模型,并强调本文主要不讨论SAP R/3函数的开发,而是针对使用SAP的公司的非ABAP开发人员提供了初步的接口程序开发指导。 ... [详细]
  • 前景:当UI一个查询条件为多项选择,或录入多个条件的时候,比如查询所有名称里面包含以下动态条件,需要模糊查询里面每一项时比如是这样一个数组条件:newstring[]{兴业银行, ... [详细]
  • C++字符字符串处理及字符集编码方案
    本文介绍了C++中字符字符串处理的问题,并详细解释了字符集编码方案,包括UNICODE、Windows apps采用的UTF-16编码、ASCII、SBCS和DBCS编码方案。同时说明了ANSI C标准和Windows中的字符/字符串数据类型实现。文章还提到了在编译时需要定义UNICODE宏以支持unicode编码,否则将使用windows code page编译。最后,给出了相关的头文件和数据类型定义。 ... [详细]
author-avatar
转化术治_953
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有