MySQL——数据库基础 MySQL——数据库基础摘要本文是一篇MySQL数据库入门指南系统介绍了数据库基础概念、主流数据库分类、关系型数据库原理、MySQL安装配置、客户端工具使用、C/S与B/S架构对比以及SQL语言基础。内容涵盖理论知识与实践操作适合初学者构建完整的数据库知识体系。目录1.什么是数据库2.为什么要使用数据库3.主流数据库3.1关系型数据库3.2非关系型数据库4.什么是关系型数据库5.MySQL的安装与配置5.1安装5.2mysqld服务端程序]5.3数据库服务器数据库与表之间的关系6.配置文件7.客户端工具7.1mysql命令行客户端7.2Workbench7.3Navicat Lite版8.客户端与服务器的通讯方式8.1C/S架构8.2B/S架构9.SQL简介9.1什么是SQL9.2SQL分类正文1.什么是数据库数据库是20世纪60年代末发展起来的一项重要技术已经成为计算机科学与技术的一个重要分支。数据库技术主要是用来解决数据处理的非数值计算问题数据处理的主要内容是数据的存储查询修改排序和统计等。2.为什么要使用数据库1.数据持久化数据库可以将数据存储在存储介质中即使应用程序关闭或服务器重启数据也不会丢失。2.数据结构化数据库能够以结构化的方式存储数据使得数据易于管理和查询。3.数据完整性数据库管理系统DBMS)提供了数据完整性的保障确保数据的准确性和一致性。4.并发控制数据库管理系统可以处理多个用户或进程同时访问或修改数据同时确保数据的一致性。5.安全性数据库提供了多种安全机制如访问控制加密等保护数据不被未授权访问。6.可扩展性随着数据量的增长数据库可以水平或垂直扩展以适应不断增长的数据需求。7.备份和恢复数据库支持数据的备份和恢复以防止数据丢失和损坏。8.查询优化数据库系统提供了高效的查询优化器可以快速执行复杂的查询操作。9.事务管理大部分关系型数据库都支持事务确保一系列操作要么完全成功要么完全失败提高了操作的可靠性。10.多用户支持数据库允许多个用户同时访问和操作数据适合多用户环境。3.主流数据库3.1关系型数据库Oracle 甲骨文产品适合⼤型项⽬业内最强的数据库没有之⼀需要收费。MySQL开源免费最受欢迎的数据库在中小企业中普及率非常高属于甲骨文主要⽤在电商论坛等。PostgreSQL加州⼤学伯克利分校计算机系开发的关系型数据库可以免费使⽤修改和分发。SQL Sever 微软推出的⼀款专业级数据库与旗下的操作系统编程环境配合使⽤适⽤于中⼤型项⽬。SQLite ⼀款轻型的数据库占⽤资源⾮常低常⽤于嵌⼊式设备手机APP桌⾯程序等场景。3.2非关系型数据库Redis流行的基于键值对的内存数据库常用作缓存支持数据持久化支持多种数据结构。MongoDB基于NoSQL的文档型数据库易扩展高性能高可用性支持丰富的查询和聚合操作。4.什么是关系型数据库关系型数据库是指采用了关系模型来组织数据的数据库以行和列的形式存储数据。关系模型可以简单理解为二维表格模型而一个关系型模型数据库就是由二维表及其之间的关系组成的一个数据组织如我们日常制作的excel表格。注每个表的每一条记录称为一行数据数据行每一个数据行由一个或多个列数据列组成。即数据表包含了数据行数据行包含了数据列。5.MySQL的安装与配置5.1安装5.2mysqld服务端程序当MySQL安装完成之后bin目录下会有一个mysqld(Linux)或mysqld.exe(windows)的可执行程序。mysqld可执行程序运行后MySQL服务也就启动了。当把MySQL服务配置为自启动操作系统启动时会自动运行mysqld可执行程序从而启动MySQl服务。5.3数据库服务器数据库与表之间的关系数据库服务器是指在机器上安装了一个数据库管理系统这个管理系统可以管理多个数据库一般开发人员会针对每一个应用创建一个数据库。为保存应用中实体的数据一般会在数据库中创建多个表以保存程序中实体的数据。数据库服务器数据库和表的关系如下6.配置文件MySQL安装成功后如果想修改默认配置比如修改端口号数据目录位置默认使用的存储引擎默认字符编码集和排序规则日志路径等等可以通过编辑选项文件实现。7.客户端工具7.1mysql命令行客户端MySQL安装成功后自带的命令行客户端工具可以输入命令和执行SQL语句mysql的基本使用非常简单打开终端并输入以下命令注意在使用中终端之前需要配置环境变量该文段后有教程画面如下即为登录成功path环境变量中配置MySQL所在目录如下7.2WorkbenchMySQL官方提供的可视化客服端工具下载地址https://cdn.mysql.com//Downloads/MySQLGUITools/mysql-workbench-community-8.0.47-winx64.msi运行的画面如下:7.3Navicat Lite版下载网址https://www.navicat.com.cn/download/direct-download?productnavicat17_premium_lite_cs_x64.exelocation1业内广泛出现的可视化客户端工具Navicat现在出现了免费的lite版本下载链接如上方链接。该软件对于学习SQL语句完全够用推荐使用。一下为下载教程以及配置连接的过程。1.点击上方给出的链接-出现以下画面-一直“下一步2.直到看到下方图片3.此时开始配置连接-点击MySQL-为连接名称起名-设置密码与本地数据库密码一致4.此时完成配置连接8.客户端与服务器的通讯方式8.1C/S架构C/S架构全称是客户/服务器架构是常用的两层架构。客户端需要安装客户端软件服务端程序运行在服务器上提供Socket或数据库服务。使用客户端与MySQL数据库服务器通讯属于C/S架构常用于固定用户群体中。常见的C/S架构的应用QQ微信各种网络游戏等一般需要安装并且与服务器进行网络通信的都属于此类。优点大部分业务都可以在服务端完成充分利用本地的计算机资源响应速度快个性化定制能力强面向相对固定的用户群对信息安全的控制能力强缺点需要安装客户端才能使用维护成本高任何一台电脑上的客户端出现问题都需要进行维护升能过程繁琐8.2B/S架构B/S架构全称为浏览器/服务端架构分为Web浏览器服务器程序数据库服务三部分可以理解为是对C/S架构的一种改进。由于所有的业务逻辑都由服务器程序处理所以客户端仅使用浏览器就可以完成所有操作大大降低了客户端的维护成本常用于对公开用户提供的网络服务中。比如常见的大型网站都属于此类。优点客户端零维护只需要安装一个安装一个浏览器即可所有业务你都集中在服务器端业务扩展非常方便维护成本低只需要维护服务器即可缺点服务器安全与业务处理能力需要花费很大的精力与成本不同浏览器支持不尽人意9.SQL简介9.1什么是SQLSQL是结构化查询语言的简称是一种数据库查询和程序设计语言用于存取数据以及查询更新和管理关系数据库。9.2SQL分类DDL数据定义语言用来维护存储数据的结构DML数据操纵语言用来对数据进行操作DCL数据控制语言主要负责权限管理和事务