零基础学数据库:MySQL 核心概念解析与 Linux 安装实战指南

作者:本站 来源:本站

2026-05-20 22:48 1345阅读

零基础学数据库:MySQL 核心概念解析与 Linux 安装实战指南

#数据的基础定义

用于描述客观事物的符号化记录。形式多种多样,包含数字、文本、图像等,数字化后可存储至计算机中

#数据库的概念

数据库(Database)本质上是存放数据的仓库,依据特定的数据结构进行组织与存储

#数据库管理系统

指专门用于管理和维护数据库的软件系统


#数据库服务器、数据库管理系统、数据库、表、记录之间的层级关系

#数据库服务器等同于物理计算机,数据库管理系统是运行在其中的软件,数据库类似文件夹,表如同文件,记录则是文件内的具体内容


#数据库的分类体系

早期阶段:层次式数据库、网络式数据库、关系型数据库

现代主流:关系型数据库和非关系型数据库


#关系型数据库详解

  1.结构类似于 Excel 电子表格

  2.采用结构化查询语言 SQL 进行数据存储与检索

  3.代表产品:MySQL 和 Oracle

#常见关系型数据库产品

  1.Oracle

  2.MySQL

  3.mariaDB
    作为 MySQL 的衍生分支,名称源于创始人 Michael Widenius 女儿 Maria 的名字

  4.SQL server
    微软出品的大型关系型系统,仅支持 Windows 操作系统

  5.Access 数据库

    面向初学者的轻量级桌面数据库
  6.其他类型:DB2 等


#非关系型数据库概述

非关系型数据库即NoSQL数据库(Not Only SQL)

发展背景:为应对web2.0,web3.0时代的高并发与高吞吐挑战而诞生

扩展知识:web2.0:强调以用户为核心,支持上传文件及发布博文等功能


#主要种类

  1.键值(key-value)存储数据库
    典型代表:memcachedredis

  2.列存储(column-oriented)数据库
    典型代表:Cassandra,HBase

  3.文档型(Document-oriented)数据库
    典型代表:MongoDBCouchDB

  4.图(graph)数据库


#常用非关系型数据库产品

  1.Memcached
    开源的高性能分布式内存缓存系统

  2.redis
    基于key-value(键值)架构的存储方案

  3.MongoDB 
    使用C++编写,基于分布式文件存储的开源数据库系统


#MySQL 简介

 MySQL 是一款关系型数据库管理系统,原由瑞典 MySQL AB 公司开发,现隶属于 Oracle 公司


#MySQL 核心特性

  1.部署安装简便

  2.发展历程悠久,社区生态活跃

  3.兼容多种操作系统平台

  4.运行性能优异,服务稳定性强

  5| 支持多种存储引擎切换


#MySQL 版本分类

  MySQL 实施双授权策略,划分为社区版和商业版,且各包含四个小版本:Alpha 测试版、Beta 预览版、RC 候选版和 GA 正式版

#商业版与社区版的差异

  1.商业版在稳定性方面表现更佳

  2.商业版提供官方技术支持等服务,社区版依赖社区互助


#版本号说明

#示例:mysql-5.7.29.tar.gz

#首位数字 5:主版本号

#第二位数字 7:发行级别,与主版组合成序列号

#第三位数字 29:该系列的修订版本号


#查看当前版本

mysql> select version();
+-----------+
| version() |
+-----------+
| 5.7.29    |
+-----------+
1 row in set (0.00 sec)


#SQL 语言概览

SQL,英文全称 structured query language,中文译为结构化查询语言,是对关系型数据库执行定义和操作的语言规范


#SQL 语言细分

一:数据查询语言(DQL)

DQL 全称为 data query language,即数据检索语句,功能是从表中提取数据

#实例:查询用户信息

mysql> select user,host from mysql.user;
+---------------+-----------------------+
| user          | host                  |
+---------------+-----------------------+
| root          | localhost                     |
| test2         | 1.1.1.%               |
| test          | localhost             |
+---------------+-----------------------+
4 rows in set (0.00 sec)

二:数据操纵语言(DML)

DML 全称 data Manipulation language,命令含 insert,update,delete,分别对应添加、修改和删除表中记录

#实例:删除指定用户

mysql> delete from mysql.user where user='test';
Query OK, 1 row affected (0.02 sec)

三:事务处理语言(TPL)

确保 DML 语句影响的表行能及时更新提交

四:数据控制语言(DCL)

DCL 全称 data control language,通过 grant 或 revoke 指令分配权限

五:数据定义语言(DDL)

DDL 全称 data definition language,含 create 和 drop,用于创建或删除数据库及表

六:指针控制语言(CCL)

CCL 全称 cursor control language,命令如 declare cursor,fetch into 和 update where current 用于操作单行数据


#MySQL 部署指南

#一.Linux 环境部署

#1.yum/rpm 包管理器安装
#2.源码常规编译安装
#3.cmake 工具编译安装
#4.二进制免编译安装包部署

#此处演示通过 rpm 包方式部署 mysql.5.7

wget http://dev.mysql.com/get/mysql57-community-release-el7-7.noarch.rpm
rpm -qpl mysql57-community-release-el7-7.noarch.rpm  #检查下载的 rpm 包内容
rpm -ivh mysql57-community-release-el7-7.noarch.rpm  #执行 rpm 包安装
yum install mysql-community-server -y  #安装 mysql 服务端

#注意:mysql5.7 之后安装完毕会自动生成 root 随机密码,若用 rpm 包,可用 grep "password" /var/log/myqld.log 查找

#1.安装后服务未启动,需先手动启动
[root@db01 ~]#systemctl start mysqld 

#2.提取临时密码
[root@db01 ~]# grep  "password" /var/log/mysqld.log
2019-05-31T02:35:57.106896Z 1 [Note] A temporary password is generated for root@localhost: 0Hl;Ir.keo!;
mysql> select @@log_error;
+---------------------+
| @@log_error         |
+---------------------+
| /var/log/mysqld.log |
+---------------------+
1 row in set (0.00 sec)

#3.调整密码复杂度策略,也可在/etc/my.cnf 设置 validate_password_policy=LOW       
mysql> set global  validate_password_policy=LOW;
Query OK, 0 rows affected (0.00 sec)

#4.修改 root 密码,或用 update 命令,用户管理部分会详述
mysql> set password for root@localhost = password("guoke123");
Query OK, 0 rows affected, 1 warning (0.00 sec)
        
mysql> flush privileges;
Query OK, 0 rows affected (0.00 sec)

#登录方式说明

1.mysql #直接输入 mysql 默认无需密码
2.mysql -uroot -p #标准交互式输入密码登录
3.mysql -uroot -p"guoke123" #脚本外建议避免明文显示密码以防泄露


#登录提示符定制

#默认显示:mysql>,为区分用户或主机,可采用以下方法

#1.临时修改

mysql> prompt \u@mysql \r:\n:\s->
PROMPT set to '\u@mysql \r:\n:\s->'
root@mysql 09:56->

#2.永久生效配置

#进入/etc/my.cnf 配置文件添加 mysql 模块,注意位置不在 [mysqld] 内,若在 my.cnf 中添加,可用\\避免转义问题

#1.编辑 mysql 客户端配置
[root@cots3 ~]# vim /etc/my.cnf
[mysql]
prompt=\\u@mysql :\\d\\r:\\m:\\s->

#2.重启服务使配置生效
[root@cots3 ~]# systemctl restart mysqld

#3.重新登录查看效果
[root@cots3 ~]# mysql -uroot -p
Enter password: 
root@mysql :(none)09:13:44->use db; #切换数据库
Database changed

root@mysql :db09:13:49-> #此时提示符将变更为 db 库

#常用参数释义

# -u:用户名,-d:数据库名,\r:\m:\s 设定时间格式

#prompt 参数详细说明

Option Description

\c 每次发出语句递增的计数器

每执行一条语句计数器加一

\D 当前的完整日期

显示今日完整日期

\d 默认数据库名

显示当前默认库

\h 服务器主机地址

显示连接的主机 IP

\l 当前分隔符 (5.1.12 起新增)

显示语句结束符

\m 当前时间的分钟数

显示分钟字段

\n 换行字符

强制换行

\O 当前月份三字母缩写 (Jan, Feb, …)

显示月份缩写

\o 当前月份数字格式

显示月份数字

\P am/pm

\p 当前 TCP/IP 端口或套接字文件

显示连接端口

\R 当前时间 24 小时制 (0–23)

显示 24 小时时间

\r 当前时间标准 12 小时制 (1–12)

显示 12 小时时间

\S 分号

显示分号符号

\s 当前时间的秒数

显示秒数字段

\t Tab 制表符

插入制表符

\U www.jb51.net

完整账户名 user_name@host_name

显示完整用户主机名

\u 你的用户名

显示当前登录用户

\v 服务器版本号

显示 MySQL 版本

\w 当前星期几三字母缩写 (Mon, Tue, …)

显示星期缩写

\Y 当前年份四位数

显示完整年份

\y 当前年份两位数

显示年份简写

\_ 空格

插入空格

\ 空格 (反斜杠后跟空格)

显示空格

\' 单引号

显示单引号


\" 双引号

显示双引号

\\ 实际“\”反斜杠字符 \\文字“\”反斜杠字符

\x

x,针对上述未列出的任意字符

x,对于上面未列出的任何“x”

上一篇

本期 BBC 英语教学节目解答了听众赖海成的疑问,详细辨析了英语词汇 entrance 和 access 在表示“入口”时的区别。文章指出 entrance 是可数名词,侧重物理通道;access 是不可数名词,强调使用权或机会。通过多个例句,如大学入学考试和无障碍通道,帮助学习者准确掌握两者用法及搭配。

下一篇

本文详细介绍了在 Access 数据库中创建数据表的三种常用方法。首先介绍了利用系统预设模板快速生成联系人等表格的技巧;其次讲解了直接在数据表视图中添加字段并保存的新建流程;最后说明了通过设计视图精确设置字段名称、类型及属性的操作步骤。掌握这些方法有助于提升数据库开发效率,优化表结构设计,是 Access 初学者必须掌握的基础技能。

相关阅读

本期 BBC 英语教学节目解答了听众赖海成的疑问,详细辨析了英语词汇 entrance 和 access 在表示“入口”时的区别。文章指出 entrance 是可数名词,侧重物理通道;access 是不可数名词,强调使用权或机会。通过多个例句,如大学入学考试和无障碍通道,帮助学习者准确掌握两者用法及搭配。
本文对比了Excel与Access的优缺点,指出Excel虽计算强但单机、数据量受限,Access虽支持多用户但难学且性能有限。随后介绍魔方网表,它兼具二者优势:无需编程、支持数千人并发、海量存储、兼容Excel函数、可集成第三方系统,能快速构建企业信息化系统,是更好的替代方案。
本文详细介绍了在Access中使用菜单操作法合并数据的步骤,包括建立“订购明细”与“用户明细”两表的数据库关系、通过拖拽字段设置联接类型,最终完成数据合并。适合Access初学者快速掌握基础关系操作。
随着跨境电商增长,Access集团精选海外小众品牌引入中国,涵盖美妆、母婴、健康等领域。2018年零售进口总额达785.8亿元。Access集团携15个品牌亮相上海,为双十一造势,预计成交额突破10亿元,是其首次参与时的66倍。集团通过创新品牌管理模型,助力品牌快速适应中国市场,实现全球买卖。
本文主要讲解如何利用 Excel VBA 结合 SQL 语言来操作 Access 数据库。通过 ADO 组件连接数据库,演示了使用 CREATE TABLE 和 ALTER TABLE 语句动态创建数据表及添加字段的具体方法。文章涵盖了代码编写、引擎选择、主键设置及字段类型定义等关键知识点,帮助读者掌握自动化构建数据库结构的技术。
AccessAI 开源项目迎来更新,新增 DeepSeek V4 多模型支持与自定义端点。系统强化对话历史持久化,支持会话管理。核心亮点包括数据库对象自动分析,读取表结构及样例数据供 AI 研判。界面升级为气泡式聊天,提供富文本与 WebBrowser 双模式。此次更新旨在将 Access 转型为嵌入式 AI 辅助模块,提升业务智能化水平。
本文详细介绍了Access数据库中常用的数值分组函数(IIF、CHOOSE、SWITCH、PARTITION)和日期时间分组函数(FORMAT),包含语法说明、参数限制和实际SQL示例,帮助读者快速掌握数据分组技巧。
本文详细介绍了在Access数据库中利用“简单查询向导”进行数据查询的步骤。通过选择“订购明细”和“用户明细”两个表,分别添加用户ID、产品和性别字段,最终完成联合查询并保存结果。适合数据库初学者快速上手。
微软Access已有近30年历史,尽管被公司冷落和边缘化,却依然像僵尸般存活至今,在DB-Engines排名中位列第九。它之所以不死,是因为满足了高级用户的无代码需求、赋予普通用户快速搭建数据库的能力,以及无可比拟的易用性。本文剖析Access经久不衰的原因,并反思软件设计的核心价值。