2025年数据库快速入门(数据库快速入门知识)

数据库快速入门(数据库快速入门知识)svg xmlns http www w3 org 2000 svg style display none svg

大家好,我是讯享网,很高兴认识大家。



 <svg xmlns="http://www.w3.org/2000/svg" style="display: none;"> <path stroke-linecap="round" d="M5,0 0,2.5 5,5z" id="raphael-marker-block" style="-webkit-tap-highlight-color: rgba(0, 0, 0, 0);"></path> </svg> 

讯享网

数据库:DB(DataBase)
概念:数据仓库,软件,安装在操作系统之上
作用:存储数据,管理数据

数据库是“按照数据结构来组织、存储和管理数据的仓库”。是一个长期存储在计算机内的、有组织的、可共享的、统一管理的大量数据的集合。

1.2.1 DB

这种数据集合具有如下特点:尽可能不重复,以最优方式为某个特定组织的多种应用服务,其数据结构独立于使用它的应用程序,对数据的增、删、改和检索由统一软件进行管理和控制。从发展的历史看,数据库是数据管理的高级阶段,它是由文件管理系统发展起来的。

1.2.2 DBMS

数据库管理系统(Database Management System)是一种操纵和管理数据库的大型软件,用于建立、使用和维护数据库,简称 DBMS。

它对数据库进行统一的管理和控制,以保证数据库的安全性和完整性。用户通过 DBMS 访问数据库中的数据,数据库管理员也通过 DBMS 进行数据库的维护工作。它可以支持多个应用程序和用户用不同的方法在同时或不同时刻去建立,修改和询问数据库。大部分 DBMS 提供数据定义语言 DDL(Data Definition Language)和数据操作语言 DML(Data ManipulationLanguage),供用户定义数据库的模式结构与权限约束,实现对数据的追加、删除等操作。

1.2.3 SQL

结构化査询语言(Structured Query Language)简称 SQL,是一种特殊目的的编程语言,是一种数据库查询和程序设计语言,用于存取数据以及查询、更新和管理关系数据库系统。

SQL是一种 ANSI(美国国家标准协会)的标准,但也有许多不同版本的 SQL语言。SQL是关系数据库系统的标准语言。Y所有关系型数据库管理系统,如 MySQL, SQL Server,Qracle,Sybase,postgreSQL 和 MS Access 使用SQL作为标准数据库语言。

1.2.3.1 SQL使用

允许用户访问在关系数据库管理系统的数据。
让用户来描述数据。
允许用户定义数据库中的数据和处理数据。
允许使用SQL模块,库和预编译器的其他语言中嵌入允许用户创建和删除数据库和表。
允许用户创建视图,存储过程,函数在数据库中。
允许用户设置表,过程和视图的权限。

1.2.3.2 SQL命令

标准的 SQL命令进行互动使用在关系型数据库有:CREATE,SELECT,INSERT,UPDATE,DELETE 和DROP。这些命令可分为基于其性质组。
在这里插入图片描述
讯享网
在这里插入图片描述

1.2.4数据库术语

数据库: 数据库是一些关联表的集合。
数据表: 表是数据的矩阵。在一个数据库中的表看起来像一个简单的电子表格。
列: 一列(数据元素)包含了相同的数据,例如邮政编码的数据。
行: 一行(=元组,或记录)是一组相关的数据,例如一条用户阅的数据。
冗余: 存储两倍数据,冗余降低了性能,但提高了数据的安全性。
主键: 主键是唯一的。一个数据表中只能包含一个主键。你可以使用主键来査询数据。
外键: 外键用于关联两个表。
复合键: 复合键(组合键)将多个列作为一个索引键,一般用于复合索引。
索引: 使用索引可快速访问数据库表中的特定信息。索引是对数据库表中一列或多列的值进行排 序的一种结构。类似于书籍的目录。
参照完整性: 参照的完整性要求关系中不允许引用不存在的实体。与实体完整性是关系模型必须满足的完整性约束条件,目的是保证数据的一致性。

1.2.5数据模型

1.2.5.1 模型

模型是对事务、对象、过程等客观系统中的内容的模拟和抽象表达。

1.2.5.2数据模型

数据模型也是一种模型,它是对现实世界数据特征的抽象。
数据模型分为两大类:概念模型、组织层数据模型也称组织模型。
组织模型分为:层次模型(用树形结构组织数据)、网状模型(用图形结构组织数据)、关系模型(用简单二维表结构组织数据)、对象-关系模型(用复杂的表格以及其他组织结构组织数据)

数据模型是数据库的基础,数据是对客观事物的符号表示,模型是现实世界的抽象
数据模型是对数据特征的抽象。

将客观事物抽象为数据模型,是一个逐步转化的过程,经历了现实世界、信息世界和计算机世界这三个不同的世界,经历了两级抽象和转换,如下图所示:

在这里插入图片描述

数据库模型主要是两种,即关系型数据库非关系型数据库

1.3.1 关系型数据库

关系型数据库,是指采用了关系模型来组织数据的数据库。
1.关系模型指的就是二维表格模型,而一个关系型数据库就是由二维表及其之间的联系所组成的一个数据组织。
2.通过 SQL 结构化查询语句存储数据。
3. 强调 ACID 规则,保持数据一致性,ACID 规则即:原子性(Atomicity)一致性(Consistency)、隔离性(Isolation)、持久性(Durability)。
在这里插入图片描述

1.3.2 Nosql数据库

NOSQL最常见的解释是“non-relational”,“Not only sal”也被很多人接受。NoSQL仅仅是个概念,泛指非关系型的数据库,区别于关系数据库,它们不保证关系数据的 ACID 特性。

NOSQL的产生并不是要彻底地否定非关系型数据库,而是作为传统关系型数据库的一个有效补充。NOSQL数据库在特定的场景下可以发挥出难以想象的高效率和高性能。

1、NOSQL不是否定关系数据库,而是作为关系数据库的一个重要补充
2、NOSQL为了高性能、高并发而生,忽略影响高性能,高并发的功能
3、NOSQL 典型产品 memcached(纯内存),redis(持久化缓存),mongodb(文档的数据库)。

1.3.3 关系型数据库和非关系型数据库的优缺点

关系型数据库优缺点
优点:
1、易于维护:都是使用表结构,格式一致;
2、便用方便:!SQL语言通用,可用于复杂查询;
3、复杂操作:支持SQL,可用于一个表以及多个表之间非常复杂的査询。
缺点:
1、读写性能比较差,尤其是海量数据的高效率读写;
2、固定的表结构,灵活度稍欠;
3、高并发读写需求,传统关系型数据库来说,硬盘 I/O 是一个很大的瓶颈

非关系型数据库优缺点
优点:
1、格式灵活:存储数据的格式可以是 key,value 形式、文档形式、图片形式等等,文档形式、图片形式等等,使用灵活,应用场景广泛,而关系型数据库则只支持基础类型。
2、速度快:nosq,可以使用硬盘或者随机存储器作为载体,而关系型数据库只能使用硬盘;
3、高扩展性;
4、成本低:nosql数据库部署简单,基本都是开源软件
缺点:
1、不提供 sql支持,学习和使用成本较高;
2、无事务处理;
3、数据结构相对复杂,复杂查询方面稍欠。

1.4.1 数据库系统的特点

1.数据结构化
2.数据的共享性高,冗余度低,易扩充
3.数据独立性高
4.数据由 DBMS 统一管理和控制

1.4.2 数据库存储数据的特点

将数据放列表中,表再放到库中
一个数据库中可以有多个表,每个表都有一个的名字,用来标识自己。表名具有唯一性,表具有一些特性,这些特性定义了数据在表中如何存储,类似 C++中“类”的设计
表由列组成,我们也称为字段。所有表都是由一个或多个列组成的,每一列类似 C++中的“属性”
表中的数据是按行存储的,每一行类似于C++中的“对象”

对于业员管理系统数据库中的表设计有如下:
(1)学生档案信息亵
(2)班级设置信息
(3)院系信息表
(4)寝室信息表
(5)用户信息表
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

windows 和 linux 环境安装,忽略

2.2.1常见命令

1.查看当前所有数据库

讯享网

2.打开指定的库

 

3.查看当前的所有表

讯享网

4.查看其他库的所有表

 

5.创建表

讯享网

6.查看表结构

 

7.查看mysql当前所有用户

讯享网

2.2.2 语法规范

1.不区分大小写,但建议关键字大写,表名、列名小写。
2.每条命令最好用分号结尾。
3.每条命令根据需要,可以进行缩进或者换行。
4. 注释
单行注释: # 注释文字
单行注释: – 注释文字(杠杠空格)
多行注释: /* 注释文字 */

在这里插入图片描述

在这里插入图片描述

3.3逻辑运算符

在这里插入图片描述

3.4位运算符

同理常规 c、python、 java中位运算符。

在这里插入图片描述
主要用的比较多的是 MyISAM 和 InnoDB

MyISAM三个系统文件(通过 file该文件可以看到其中内容)
表定义文件 user.frm
数据文件 user. MYD、
索引文件 user.MYI

MyISAM特点:
1)不支持事务
2)表级锁定(更新时锁整个表)
3)读写互相阻塞
4)只会缓存索引(key_buffer_size),以大大提高访问性能减少磁盘 I0,但是不会缓存数据
5)读取速度较快,占用资源相对少
6)不支持外键约束,但支持全文索引

InnoDB 文件二个系统文件(通过 file该文件可以看到其中内容)
表定义文件 user.frm
数据和索引文件 user.IBD

InnoDB 特点:
1)支持事务:ACID
2)行级锁定(更新时一般是锁定当前行),通过索引实现,全表扫描仍然是锁表,所以要建立索引
3)读写阻塞与事务隔离级别有关
4)具有高效的缓存特性
5)整个表和主键以 c1uster 方式存储,组成一棵平衡树
6)所有 secondary index 都会保存主键信息
70支持分区,表空间,类似 orac1e
8)支持外键约束,5.5以前的版本不支持全文索引,以后支持9)对硬件资源的要求相比 MyISAI高

MySQL 5.2.0之后,这两个创建方法都无所谓

 
讯享网
 

自增长:

讯享网

注解:

 

原本默认为 InnoDB

讯享网

在这里插入图片描述
5…2表中添加数据(增)

 
讯享网
 
讯享网

下面是我们刚刚添加的数据输出:
在这里插入图片描述

5.7.1 基本查询语句/单表查询

5.7.1.1创建表
 

在这里插入图片描述

5.7.1.2基础查询
讯享网

在这里插入图片描述

 

在这里插入图片描述

讯享网

在这里插入图片描述

 

在这里插入图片描述

5.7.1.3条件查询
讯享网

在这里插入图片描述

 

在这里插入图片描述

5.7.1.4 范围查询
讯享网

在这里插入图片描述

5.7.1.5 判空查询

我给空值,或者空串。

 

报错:因为我们上文加了约束
在这里插入图片描述
在这里插入图片描述
现在,我将不设置为 not null
在这里插入图片描述
重新再次执行上文语句,则出现如下结果
在这里插入图片描述
判空语句来了:

讯享网

在这里插入图片描述
在这里插入图片描述

5.7.1.6 判空字符串查询
 

在这里插入图片描述
在这里插入图片描述

5.7.1.7 模糊查询
讯享网

在这里插入图片描述

5.7.1.8 分页查询

2行数据作为一页

 

在这里插入图片描述

5.7.1.9 排序
讯享网

在这里插入图片描述

5.7.1.10 聚合查询
 

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

5.7.1.11 分组查询
讯享网

在这里插入图片描述
我先加了数据,再进行分组

 

目前表中数据
在这里插入图片描述在这里插入图片描述

讯享网

在这里插入图片描述

5.7.1.12 联合查询
 

原本表数据
在这里插入图片描述
联合查询结果
在这里插入图片描述

讯享网

有重复的记录
在这里插入图片描述

5.7.2连表查询

5.7.2.1 内连接
 

重新生成两个表如下:
在这里插入图片描述
在这里插入图片描述

讯享网

在这里插入图片描述

5.7.2…2 左连接

相当于查询所有数据,即使没有相关,也会填写出来

 

在这里插入图片描述

讯享网

在这里插入图片描述

5.7.2…3 右连接

同上,先将右边的表全部查询出来,即使没有关联也会写出,没关联部分就是 null

 

在这里插入图片描述

5.7.2. 4 全连接

不管左右空缺数据,都会写出来

讯享网

在这里插入图片描述

5.7.3 子查询/合并查询

创建表如下:
在这里插入图片描述
表数据如下:
在这里插入图片描述
子查询

 

在这里插入图片描述在这里插入图片描述
也可以用多个值

讯享网

在这里插入图片描述
在这里插入图片描述
all 相当于大于最大的、any 属于大于最小的都可以

 

exists 代表存在,则会执行,如果都不存在,则不会执行

讯享网

合并查询

 

5.7.4 正则表达式查询

讯享网

在这里插入图片描述

在 MySQL中,常见的过程式SQL语句可以用在一个存储过程体中。
其中包括:
IF语句、CASE 语句、WHILE 语句、LEAVE 语句、LOOP 语句、REPEAT 语句和 ITERATE 语句,它们可以进行流程控制。

IF语句用来进行条件判断,根据不同的条件执行不同的操作。该语句在执行时首先判断 IF 后的条件是否为真,则执行 THEN 后的语句,如果为假则继续判断 IF 语句直到为真为止,当以上都不满足时则执行 ELSE 语句后的内容。

6.1.1语法

在这里插入图片描述

6.1.2示例

在这里插入图片描述

CASE语句为多分支语句结构,该语句首先从 WHEN 后的 VALUE中査找与 CASE 后的 VALUE相等的值,如果查找到则执行该分支的内容,否则执行ELSE后的内容。

6.2.1 语法

第一种:
在这里插入图片描述
第二种
在这里插入图片描述

6.2.2示例

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

插入语句,删除语句,修改语句

7.3.1 库和表的管理

7.3.1.1 库的管理
 
7.3.1.2 表的管理

1.创建表

讯享网
 

(2)修改列的类型或约束

讯享网

在这里插入图片描述

(3)添加新列

 

在这里插入图片描述
(4)删除列

讯享网

(5)修改表名

 

(6)删除表

讯享网

(7)表的复制

 

复制表的结构

讯享网

在这里插入图片描述
复制表的结构 + 数据(部分数据可用 where 筛选)

 

在这里插入图片描述
复制表的结构 + 部分字段

讯享网

在这里插入图片描述

7.3.2 常见约束

7.3.2.1 创建表
 

在这里插入图片描述

7.3.2.2 主键约束: primary key
讯享网
7.3.2.3 唯一性约束: unique key
 
7.3.2.4 外键约束: foreign key

用于约束处于关系内的实体
增加子表记录时,是否有与之对应的父表记录
如果主表没有相关的记录,从表不能插入

讯享网

外键约束的一些指令

 
7.3.2.5 非空约束: not null
讯享网

7.4.1 事务的含义

事务:一条或多条 sq1语句组成一个执行单位,一组sq!语句要么都执行要么都不执行。

7.4.2 事务的特点

原子性:一个事务是不可再分割的整体,要么都执行要么都不执行

一致性:一致性是要保证操作前和操作后数据或者数据结构的一致性,一致性关注数据的可见性,中间状态的数据对外部不可见,只有最初状态和最终状态的数据对外可见

隔离性:一个事务不受其他事务的干扰,多个事务互相隔离的

持久性:一个事务一旦提交了,则永久的持久化到本地

7.4.3 事务处理

(1)禁止自动提交

 

(2)BEGIN , ROLLBACK , COMMIT 实现

讯享网

在这里插入图片描述

语法:

 

创建表

讯享网

9.1.1 普通索引

创建

 

查询

讯享网

在这里插入图片描述
删除

 

添加

讯享网

9.1.2 主键索引

主键是一种唯一性索引,但它必须指定为PRIMARY KEY,每个表只能有一个主键。

创建表时添加主键

 

删除

讯享网

添加

 

9.1.3 唯一索引

索引列的所有值都只能出现一次一即必须唯一值可以为空。

创建唯一索引

讯享网

删除

 

9.1.4 全文索引

只有字段的数据类型为 char、yarchar、text 及其系列才可以建全文索引。

全文索引的索引类型为 FULLTEXT。可以通过 alter table 或 create index 命令创建FULLTEXT 用于搜索很长一篇文章的时候,效果最好。

语法

讯享网

小讯
上一篇 2025-05-04 20:58
下一篇 2025-05-05 13:28

相关推荐

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/185280.html