MySQL——基础知识总结超详细版本
Posted 王嘻嘻-
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了MySQL——基础知识总结超详细版本相关的知识,希望对你有一定的参考价值。
目录
1、数据库概述以及常见概念的理解
存储数据用文件就可以了,为什么还要弄个数据库 ? 文件保存数据有以下几个缺点:- 文件的安全性问题
- 文件不利于数据查询和管理
- 文件不利于存储海量数据
- 文件在程序中控制不方便
硬盘中的数据:持久化后的数据
需求出现:开发使用软件程序时,需要进行硬盘数据的管理
前提:硬盘中数据的管理要比内存中数据的管理复杂
导致:如果让程序员们完全自由地管理硬盘中的数据变得困难
所以:数据库管理软件就诞生了,由这些软件进行科学地、高效地管理硬盘中的数据
作为数据库管理软件的用户(一般理解成程序员),可以直接通过该软件方便地使用数据
2、数据库分类
数据库(DBMS)大体可以分为 关系型数据库 和 非关系型数据库。 关系型数据库(Relational Database, RDBMS): 是指采用了关系模型来组织数据的数据库。 简单来说,关系模型指的就是二维表格模型,而一个 关系型数据库就是由二维表及其之间的联系所组成的一个数据组织。 基于标准的 SQL ,只是内部一些实现有区别。常用的关系型数据库如: 1. Oracle Database :甲骨文产品,适合大型项目,适用于做复杂的业务逻辑,如ERP 、 OA 等企业信息系 统。收费。 2. mysql:属于甲骨文,不适合做复杂的业务。开源的RDBMS 。 3. SQL Server :微软的产品,安装部署在 windows server 上,适用于中大型项目,收费。 非关系型数据库: (了解)不规定基于 SQL 实现。现在更多是指 NoSQL 数据库,如: 1. 基于键值对( Key-Value ):如 memcached 、 redis 2. 基于文档型:如 mongodb 3. 基于列族:如 hbase 4. 基于图型:如 neo4j 关系型数据库与非关系型数据库的 区别 : 注: OLTP ( On-Line Transaction Processing )是指联机事务处理, OLAP ( On-Line Analytical Processing )是指联机分析处理。3、服务器(server)
特指一类,用来提供服务(service) 的软件/程序 —— Java中的对象比如:我们这里的MySQL服务器,提供的是数据管理服务
现实中:开饭店、空调
服务器没有让你直接的接触到:饭店的厨师
4、客户端(client)
中介软件 —— Java中引用比如:服务员、遥控器
5、理解计算机的三个位面/层次
6、三个层次在数据库中的表现
7、关于SQL
SQL: Structure Query Language 结构化查询语言
组织了一种统一的语言,进行结构和数据的管理
8、SQL和Java语言的不同
SQL是一种声明式的语言,结果论语言 Java是一种过程式语言
例如:学生表里找出叫某某的同学
for (每一行 : 学生表) if (行.姓名 满足 某某) 结果.add(该行); ——Java
SELECT * FROM 学生表 WHERE 姓名 = 某某 ; ——SQL
表中的数据,无论是增删查改,基本单位是以“行/一条记录”为基本单位
9、OLTP与OLAP的区别
OLTP (on-line transaction processing) 联机事务处理——数据库的应用
发表文章、写个作业、批改作业、短期的对数据的一列动作、增删改(快)、技术方案不同
OLAP(On-Line Analytical Processing)联机分析处理——数据仓库的应用
2022年Java22班一共写了 多少作业,完成率多少 一次涉及到很多数据
CSDN 3月份用户活跃度比 2月份增上了多少 只查询,很少修改 技术方案不同 功能全,慢
10、各类语言汇总
10.1 DDL语言(⭐⭐)
DDL(Data Definition Language)语句: 数据定义语言
,主要是进行定义/改变表的结构、数据类型、表之间的链接等操作。常用的语句关键字有 CREATE、DROP、ALTER 等。如下:
CREATE TABLE 表名(
列名 数据类型 约束信息,
id int not null,
name varchar(50) ,
age int,
when datetime // 年月日 时分秒 数据表示 "2022-04-07 12:23:56"
when date // 年月日
when time // 时分秒
when timestamp // 时间戳(从1970-01-01 经过的秒数)
);
ALTER TABLE 表名;
eg:ALTER TABLE 表名 ADD 列名 数据类型;(添加一个列)
ALTER TABLE 表名 CHANGE 列名 新列名 新数据类型;(修改列名)
ALTER TABLE 表名 DROP 列名;
DROP TABLE 表名;
DROP DATABASE 数据库名;
10.2 DML语言(⭐⭐⭐⭐⭐)
DML(Data Manipulation Language)语句: 数据操纵语言,主要是对数据进行增加、删除、修改操作。常用的语句关键字有 INSERT、UPDATE、DELETE 等。INSERT INTO 表名 (字段1,字段2,...) values (某值,某值,...),(某值,某值,...);
UPDATE 表名 SET 列名=新值 WHERE 限定条件;
DELETE FROM 表名 WHERE 限定条件;
10.3 DQL 语言
DQL(Data Query Language)语句:数据查询语言
,主要是对数据进行查询操作。常用关键字有 SELECT、FROM、WHERE 等。
SELECT 列名 FROM 表名 WHERE 限定条件;
10.4 DCL 语言(⭐)
DCL(Data Control Language)语句: 数据控制语言
,主要是用来设置/更改数据库用户权限。常用关键字有 GRANT、REVOKE 等。
一般人员很少用到DCL语句。
GRANT (授权)
REVOKE (取消权限)
本小节完^_^
以上是关于MySQL——基础知识总结超详细版本的主要内容,如果未能解决你的问题,请参考以下文章