数据库基础知识概述与管理操作指南
文章目录
- 数据库基础知识概述与管理操作指南
- 前言: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)
数据库管理系统是用来组织、管理和存取数据库的系统软件。它的核心功能包括:
- 建立与维护数据库:如创建数据库、录入数据、数据库恢复等。
- 数据定义功能:定义全局数据结构、存储结构及安全模型。
- 数据操纵功能:包括数据查询和更新。
- 运行管理功能:如并发控制、访问控制等。
- 通信功能:DBMS 能与其他软件系统通信,如 Access 可与 Office 组件交换数据。
1.5 数据库系统(DBS)
数据库系统是包含硬件、操作系统、数据库、DBMS、应用软件和用户的整体系统。DBMS 管理数据库,用户通过 DBMS 或应用程序操作数据库。
二、数据库发展史
数据库经历了三个发展阶段:
- 层次型与网状型数据库:1969 年 IBM 公司开发了层次模型数据库 IMS。
- 关系型数据库:1970 年 IBM 公司提出了关系模型,成为当今大多数数据库的基础。代表产品有 Sysem R 和 Ingres。
- 第三代数据库:更加丰富的数据模型和强大的管理功能支持新应用,面向对象、跨平台、开放性等成为其特点。
目前,主流的数据库系统主要为关系型数据库,但随着数据规模和需求的增加,非关系型数据库(如 NoSQL)也逐渐兴起。
三、关系型数据库
关系型数据库以表格形式存储数据,数据通过表与表之间的关系进行组织。常见的关系型数据库包括 MySQL、SQL Server、Oracle 等。
- 实体-关系(E-R)模型:实体通过记录表示,表之间的关系用 E-R 图描述。
- 主键:表的主键用于唯一标识记录,必须唯一且非空。
四、非关系型数据库
非关系型数据库(NoSQL)适合海量数据存储和处理,特别是在大数据分析场景中。NoSQL 提供了灵活的存储方式,如键值对、文档、图片等,适用于高并发场景。常见的 NoSQL 数据库有 Redis、MongoDB、HBase 等。
- 优点:
- 数据存储格式灵活。
- 速度快,支持硬盘或内存为载体。
- 高扩展性,成本低。
- 缺点:
- 不支持 SQL 查询。
- 无事务处理。
- 复杂查询能力较弱。
五、总结
- 主流数据库系统:包括关系型数据库如 MySQL、Oracle、SQL Server,和非关系型数据库如 Redis、MongoDB。
- DBMS 工作模式:从接受应用程序请求到返回查询结果,DBMS 扮演着核心角色。
- 关系型数据库 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 语句及数据库用户管理操作。通过了解数据库的工作原理与管理方法,能够更好地进行数据存储和查询操作,为构建高效可靠的数据库系统提供坚实的基础。