一、 初识MySQL
1、概念
mysql是一个开放源代码的数据库管理系统(DBMS),它是由MySQL AB公司开发、发布并支持的。MySQL是一个跨平台(Windows、Linux、MacOS)的“开源关系型”数据库管理系统,广泛地应用在Internet上的中小型网站开发中。
2、什么是数据库
数据库(DataBase,DB)是一个长期存储在计算机内的,有组织的、有共享的、统一管理的数据集合。它是一个按照数据结构来存储和管理数据的“计算机软件系统”,即数据库包含两层含义:存储数据的“仓库”以及数据管理的方法和技术。
3、表
行被称为记录,是组织数据的单位;列被称为字段,每一列表示记录的一个属性。
4、数据类型
数据类型决定了数据在计算机中的存储格式,代表不同的信息类型。如整型,浮点型,精确小数型,二进制数据类型,日期|时间数据类型、字符串类型。
5、主键
主键(Primary Key)又称主码,用于“唯一”地标识表中的每一条记录。可以定义表中的一列或多列为主键。不能重复不能为空!
6、数据库系统
l 数据库:用于存储数据的地方,存储数据的容器。
l 数据库管理系统(DataBase Management System,DBMS):用于管理数据库的软件,如MySQL、Oracle。
l 数据库应用程序:为了提高数据库系统的处理能力所使用的管理数据库的软件补充,如Navicat For MySQL。
L5 :User1 user2 user3
L4:应用程序
L3:数据库管理系统(MySQL、Oracle、DB2、SQLServer)
L2:操作系统(Windows、Unix、Linux、MacOS)
L1:硬件(Dell、HP、Lenove)
示意图如上图所示
7、SQL语言
对数据库进行“查询”和“修改”操作的语言叫做SQL(Structured Query Language)
l 数据定义语言(DDL)DROP CREATE ALTER 等语句
l 数据操作语言(DML)INSERT UPDATE DELETE语句
l 数据查询语言(DQL)SELECT 语句
l 数据控制语言(DCL)GRANT REVOKE COMMIT ROLLBACK等语句
8、数据库访问接口
- ODBC(Open Database Connectivity )开发数据库互联,最大特点,统一管理所有的数据库。
- JDBC(Java Data Base Connectivity)Java数据库连接。
9、什么是MySQL
MySQL是一个小型关系型数据库管理系统,与其他大型数据库管理系统(例如Oracle、DB2、SQL Server等)相比,MySQL规模小、功能有限、但是它体积小、速度快、成本低且它具备的功能对稍微复杂的应用来说已经够用,以上特性使得MySQL成为世界上最受欢迎的“开源数据库”!
10、客户机-服务器软件
主从式架构(Client-server-model)或客户端-服务器(Client\Server)结构简称C/S结构,是一种网络架构,通常在该网络架构下的软件称为客户端(Client)和服务器(Server)。
11、MySQL版本
l MySQL Community Server(社区版):该版本完全免费,但官方不提供技术支持。
l MySQL Enterprise Server(企业版服务器)能够以高性价比为企业提供数据仓库应用,支持ACID事物处理。需付费,官方提供技术支持。
l MySQL Cluster 主要用于架设集群服务器,需要在社区版或者企业版的基础上使用。
MySQL命名机制
- 主版本号
- 发行级别
- 发行系列的版本号
- MySQL5.7是最新开发的稳定(GA)发布系列
12、MySQL的优势
- 速度:快
- 价格:MySQL对于个人来说是免费的
- 容易使用:复杂程度低、易于学习
- 可移植性:Windows、Linux、Unix、MacOS等主流操作系统平台使用
- 丰富的接口:C、C++、Java、Perl、php、Python、Ruby等语言的API
- 支持查询语言:MySQL可以利用标准的SQL语法和支持ODBC的应用程序
- 安全性和连接性:加密传输并且是网络化的,可在任何地方访问,提高数据共享效率
13、MySQL5.7的新功能
- 1. 支持JSON(Java Script Object Notation的缩写)是一种存储信息的格式,可以很好地代替XML。从5.7.8开始支持JSON。
- 性能和可拓展性,改进的InnoDB可拓展性和临时表性能,实现更快的网络传输和大数据加载
- 改进复制以提高可用性的性能,多源复制,多从线程增强,在线GTIDs和增强的版同步复制
- 性能模式提供更好的视角,增添了许多新的监控功能
- 安全
- 优化
- GIS,
14、MySQL工具
MySQL服务端实用工具
l Mysqld
l Mysqld_safe
l Mysql.server
l Mysql_install_db
MySQL客户端实用工具
l Mysql
l Mysqlbinlog
l Mysqlcheck
l Mysqldump
l Mysqlhotcopy
l Mysql import
l Mysqlshow
l Perror
15、MySQL Workbench
Mysql Workbench是下一代可视化数据库设计软件,类似于Navicat。
16、如何学习MySQL
l 培养兴趣
l 夯实基础
l 及时学习新知识
l 多实践操作