当前位置: 首页 > news >正文

数据库基础知识概述与管理操作指南

文章目录

  • 数据库基础知识概述与管理操作指南
    • 前言:LAMP 与 LNMP
    • 第一章:数据库概述
      • 一、数据库基本概念
        • 1.1 数据
        • 1.2 表
        • 1.3 数据库
        • 1.4 数据库管理系统(DBMS)
        • 1.5 数据库系统(DBS)
      • 二、数据库发展史
      • 三、关系型数据库
      • 四、非关系型数据库
      • 五、总结
    • 第二章:MySQL 数据库管理
      • 查看与操作数据库
        • 1. 查看数据库与表信息
        • 2. 常用的数据类型
        • 3. 主键与字段操作
      • 数据库操作命令
        • 1. DDL:数据定义语言
        • 2. DML:数据操纵语言
        • 3. DQL:数据查询语言
        • 4. DCL:数据控制语言
      • 数据库用户管理
        • 1. 创建与删除用户
        • 2. 修改密码
        • 3. 用户授权与撤销权限
      • 数据表高级操作
        • 1. 清空表
        • 2. 临时表与克隆表
      • 结语
  • 2. 临时表与克隆表
      • 结语

数据库基础知识概述与管理操作指南

前言:LAMP 与 LNMP

在现代企业架构中,LAMP(Linux、Apache、MySQL、PHP)和 LNMP(Linux、Nginx、MySQL、PHP)是两种常见的服务器架构。它们通过不同的 Web 服务器(Apache 或 Nginx)结合数据库(MySQL)和 PHP 等脚本语言来提供高效的网站或应用服务。本文将重点介绍数据库基础知识,并结合具体操作示例深入剖析。

第一章:数据库概述

一、数据库基本概念

1.1 数据

数据是对事物的符号记录,如文字、数字、图形、图像、声音等。它以“记录”的形式按照统一的格式存储。举例来说,班级中的学生信息可以通过统一的格式存储,如姓名、年龄、成绩等字段。

数据库通过 MySQL 服务层次进行数据的存储和管理。数据库中的数据存储方式大致为:数据库——>数据表——>记录(行)和字段(列)。最终的数据保存在一行行记录中。

1.2 表

表是关系数据库的核心,由行(记录)和列(字段)组成。表是数据的基本存储单元,记录表示具体的数据,而字段描述数据的属性。例如,一张学生信息表中可能有姓名、年龄、成绩等字段,数据通过记录来存储具体的学生信息。

1.3 数据库

数据库是表的集合,负责存储相互关联的数据。它按照一定的组织方式存储数据,并通过管理系统进行有效的管理和调用。

1.4 数据库管理系统(DBMS)

数据库管理系统是用来组织、管理和存取数据库的系统软件。它的核心功能包括:

  1. 建立与维护数据库:如创建数据库、录入数据、数据库恢复等。
  2. 数据定义功能:定义全局数据结构、存储结构及安全模型。
  3. 数据操纵功能:包括数据查询和更新。
  4. 运行管理功能:如并发控制、访问控制等。
  5. 通信功能:DBMS 能与其他软件系统通信,如 Access 可与 Office 组件交换数据。
1.5 数据库系统(DBS)

数据库系统是包含硬件、操作系统、数据库、DBMS、应用软件和用户的整体系统。DBMS 管理数据库,用户通过 DBMS 或应用程序操作数据库。

二、数据库发展史

数据库经历了三个发展阶段:

  1. 层次型与网状型数据库:1969 年 IBM 公司开发了层次模型数据库 IMS。
  2. 关系型数据库:1970 年 IBM 公司提出了关系模型,成为当今大多数数据库的基础。代表产品有 Sysem R 和 Ingres。
  3. 第三代数据库:更加丰富的数据模型和强大的管理功能支持新应用,面向对象、跨平台、开放性等成为其特点。

目前,主流的数据库系统主要为关系型数据库,但随着数据规模和需求的增加,非关系型数据库(如 NoSQL)也逐渐兴起。

三、关系型数据库

关系型数据库以表格形式存储数据,数据通过表与表之间的关系进行组织。常见的关系型数据库包括 MySQL、SQL Server、Oracle 等。

  • 实体-关系(E-R)模型:实体通过记录表示,表之间的关系用 E-R 图描述。
  • 主键:表的主键用于唯一标识记录,必须唯一且非空。

四、非关系型数据库

非关系型数据库(NoSQL)适合海量数据存储和处理,特别是在大数据分析场景中。NoSQL 提供了灵活的存储方式,如键值对、文档、图片等,适用于高并发场景。常见的 NoSQL 数据库有 Redis、MongoDB、HBase 等。

  • 优点
    • 数据存储格式灵活。
    • 速度快,支持硬盘或内存为载体。
    • 高扩展性,成本低。
  • 缺点
    • 不支持 SQL 查询。
    • 无事务处理。
    • 复杂查询能力较弱。

五、总结

  1. 主流数据库系统:包括关系型数据库如 MySQL、Oracle、SQL Server,和非关系型数据库如 Redis、MongoDB。
  2. DBMS 工作模式:从接受应用程序请求到返回查询结果,DBMS 扮演着核心角色。
  3. 关系型数据库 vs 非关系型数据库:前者擅长处理结构化数据,支持复杂查询;后者适合海量数据和高并发场景。

第二章:MySQL 数据库管理

查看与操作数据库

1. 查看数据库与表信息
SHOW DATABASES;   # 查看所有数据库
USE 数据库名;     # 切换到指定数据库
SHOW TABLES;      # 查看数据库中的所有表
DESCRIBE 表名;    # 显示表的结构
2. 常用的数据类型
  • int:用于整数数据。
  • float:单精度浮点数,精确到小数点后 6 位。
  • double:双精度浮点数。
  • char:固定长度的字符类型。
  • varchar:可变长度的字符类型。
  • decimal:用于精确的小数。
3. 主键与字段操作

主键用于唯一标识每条记录,字段是表中的数据列。字段可以通过 ALTER 命令添加、修改或删除。

ALTER TABLE 表名 ADD 列名 数据类型;      # 添加字段
ALTER TABLE 表名 CHANGE 旧列名 新列名 数据类型;   # 修改字段名和类型
ALTER TABLE 表名 DROP 列名;              # 删除字段

数据库操作命令

1. DDL:数据定义语言

用于创建和删除数据库对象,如表和索引。

CREATE DATABASE 数据库名;
CREATE TABLE 表名 (字段1 数据类型, 字段2 数据类型);
DROP TABLE 表名;
DROP DATABASE 数据库名;
2. DML:数据操纵语言

用于插入、删除和修改表中的数据。

INSERT INTO 表名 (字段1, 字段2) VALUES (1,2);
UPDATE 表名 SET 字段名=WHERE 条件;
DELETE FROM 表名 WHERE 条件;
3. DQL:数据查询语言

用于从表中查询数据。

SELECT 字段名 FROM 表名 WHERE 条件;
4. DCL:数据控制语言

用于设置用户权限。

GRANT 权限 ON 数据库名.表名 TO '用户名'@'来源地址';
REVOKE 权限 ON 数据库名.表名 FROM '用户名'@'来源地址';

数据库用户管理

1. 创建与删除用户
CREATE USER '用户名'@'来源地址' IDENTIFIED BY '密码';
DROP USER '用户名'@'来源地址';
2. 修改密码
SET PASSWORD FOR '用户名'@'来源地址' = PASSWORD('新密码');
3. 用户授权与撤销权限
GRANT SELECT ON 数据库名.* TO '用户名'@'来源地址';
REVOKE ALL PRIVILEGES ON 数据库名.* FROM '用户名'@'来源地址';

数据表高级操作

1. 清空表
DELETE FROM 表名;         # 逐行删除,保留表结构
TRUNCATE TABLE 表名;      # 清空表数据,表结构保留
2. 临时表与克隆表

临时表在会话结束时会自动销毁。

CREATE TEMPORARY TABLE 表名 (字段1 数据类型);
CREATE TABLE 新表名 LIKE 原表名;       # 克隆表结构
INSERT INTO 新表名 SELECT * FROM 原表名; # 复制数据

结语

2. 临时表与克隆表

临时表在会话结束时会自动销毁。

CREATE TEMPORARY TABLE 表名 (字段1 数据类型);
CREATE TABLE 新表名 LIKE 原表名;       # 克隆表结构
INSERT INTO 新表名 SELECT * FROM 原表名; # 复制数据

结语

本篇内容介绍了数据库的基本概念及其管理操作,包括常用 SQL 语句及数据库用户管理操作。通过了解数据库的工作原理与管理方法,能够更好地进行数据存储和查询操作,为构建高效可靠的数据库系统提供坚实的基础。


http://www.mrgr.cn/news/25253.html

相关文章:

  • 电力系统保护技术交直流充电桩测试负载
  • 2012-2022年各省新质生产力数据(含原始数据+计算代码+计算结果)
  • 武汉传媒学院联合创龙教仪建设DSP教学实验箱,基于DSP C6000平台搭建
  • 深度防御:反射API在防御跨站脚本攻击中的作用
  • wpf触发与模板的使用示例:批量生产工具
  • 基于PHP的丽江旅游管理系统
  • [Python办公]常用Python数据采集爬虫技术对比
  • 学习之使用IDEA集成GIT
  • TS 常用类型
  • TypeScript 扩展
  • 《AIGC:内容创作与变现的新机遇》
  • 828华为云征文|部署电子书阅读器 Koodo Reader
  • MPU6050移植DMP读出三轴角度
  • RZ7888电机驱动芯片
  • Java线程
  • 先导工业4.0生产线教学平台助力职业智能制造教育教学
  • Java语言程序设计基础篇_编程练习题18.24 (将十六进制数转换为十进制数)
  • ios xib 子控件约束置灰不能添加约束
  • 为什么不写注释?写“为什么不”注释?
  • 最牛的AI产品经理书!读完跪了!