数据库基础

文章目录

  • 前言
  • 一、什么是数据库
  • 二、主流数据库
  • 三、基本使用
    • 1.连接服务器
    • 2.服务器,数据库,表关系
    • 3.使用案例
    • 4.数据逻辑存储
  • 四、MySQL架构
  • 五、SQL分类
  • 六、存储引擎
    • 1.存储引擎
    • 2.查看存储引擎
    • 3.存储引擎对比
  • 总结


前言


正文开始!!!

一、什么是数据库

在这里插入图片描述

存储数据用文件就可以了,为什么还要使用数据库呢?

文件保存数据有以下几个缺点

  • 文件的安全性问题
  • 文件不利于数据查询和管理
  • 文件不利于存储海量数据
  • 文件在程序中控制不方便

数据库存储介质

  • 磁盘
  • 内存

为了解决上述的问题,专家们设计出更加利于管理数据的东西–数据库,他能更有效的管理数据.数据库的水平是衡量一个程序猿水平的重要指标!

在这里插入图片描述

二、主流数据库

  • SQL Server:微软的产品,.Net程序猿的最爱,中大型项目.
  • Oracle:甲骨文产品,适合大型项目,复杂的业务逻辑,并发一般来说不如MySQL.
  • MySQL:世界上最受欢迎的数据库,属于甲骨文,并发性好,不适合做复杂的业务.主要用在电商,SNS,论坛.对简单的SQL处理效果好.
  • PostgreSQL:加州大学伯克利分校计算机系开发的关系型数据库,不管是私用,商用,还是学术研究使用,可以免费试用,修改和分发.
  • SQLite:是一款轻型的数据库,是遵守ACID的关系型数据库管理系统,它包含在一个相对小的C库。它的设计目标是嵌入式的,而且目前已经在很多嵌入式产品中使用了它,它占用资源非常的低,在嵌入式设备中,可能只需要几百K的内存就够了。
  • H2: 是一个用Java开发的嵌入式数据库,它本身只是一个类库,可以直接嵌入到应用项目中。

三、基本使用

1.连接服务器

输入:

mysql -h 127.0.0.1 -P 3306 -u root -p

在这里插入图片描述

mysql是一套网络服务!!!

2.服务器,数据库,表关系

  • 所谓安装数据库服务器,只是在机器上安装了一个数据库管理系统程序,这个管理程序可以管理多个数据库,一般开发人员会针对每一个应用创建一个数据库.
  • 未保存应用中的实体数据,一般会在数据库中创建多个表,以保存程序中的数据.
  • 数据库服务器、数据库和表的关系如下:
    在这里插入图片描述

在这里插入图片描述

3.使用案例

  • 创建数据库

create database hulu_db;

  • 使用数据库

use hulu_db;

  • 创建数据库表

create table user(name varchar(20),age int);

  • 表中插入数据

insert into user (name,age) values (‘张三’,18);
insert into user (name,age) values (‘李四’,20);

  • 查询表中的数据

select * from user;

4.数据逻辑存储

在这里插入图片描述

四、MySQL架构

MySQL是一个可移植的数据库,几乎能在当前所有的操作系统上运行,如Unix/Linux、Windows、Mac和Solaris.各种系统在底层实现方面有所不同,但是MySQL基本上能保证在各个平台上的物理体系结构是一致性.

在这里插入图片描述

五、SQL分类

  • DDL [data definition language] : 数据定义语言,用来维护存储数据的结构.代表指令:create,drop,alter.(对数据库和表结构更多的是属性操作)
  • DML [data manipulation language] : 数据操纵语言,用来对数据进行操作.代表指令:insert,delete,update.(对数据库和表结构更多的是数据内容操作)
    • DML中又单独分了一个DQL,数据查询语言,代表指令:select
  • DCL [data control language] : 数据控制语言,主要负责权限管理和事务.代表指令:grant,revoke,commit.(整个MySQL的系统安全和账户管理工作,主动下和被动下都是比较可靠的!)

六、存储引擎

1.存储引擎

存储引擎:数据库管理系统如何存储数据、如何为存储的数据建立索引和如何更新、查询数据等技术的实现方法.

MySQL的核心就是插件式存储引擎,支持多种存储引擎.

2.查看存储引擎

show engines;

在这里插入图片描述
InnoDB是默认的存储引擎,其中该引擎支持事务,行级锁和外键!

其中MyISAM也比较常用,后面会使用到!该引擎在大部分情况是查找是比较适合!!!

3.存储引擎对比

在这里插入图片描述


总结

(本章完!)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/10380.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

【并发编程】AQS源码

ReentrantLock 互斥锁,可重入 AQS是可以支持互斥锁和共享锁的,这里只分析互斥锁的源码 加锁 公平锁和非公平锁 公平锁 final void lock() {acquire(1); //抢占1把锁.}// AQS里面的方法public final void acquire(int arg) { if (!tryAcquire(arg) &&acq…

IP协议(网络层重点协议)

目录 一、IP协议报头格式 二、地址选择 1、IP地址 (1)格式 (2)组成 (3)分类 (4)子网掩码 三、路由选择 IP协议是网络层的协议,它主要完成两个方面的任务&#xf…

redis基础(6.0)数据结构、事务、常用组件等

1 概述 1.1 redis介绍 Redis 是互联网技术领域使用最为广泛的存储中间件,它是「Remote Dictionary Service」的首字母缩写,也就是「远程字典服务」。Redis 以其超高的性能、完美的文档、 简洁易懂的源码和丰富的客户端库支持在开源中间件领域广受好评。…

车载网络 - Autosar网络管理 - 常用缩写

为了方便大家日常工作中的使用和交流,每块专业规范或者文章中,都会有或多或少的缩写使用,然而如果一段时间没使用,经常会忘记这些缩写到底代表的是什么意思,为了方便后续内容的介绍,也为了我自己后面忘记后…

做自动化测试时所谓的“难点”

这篇关于自动化测试的文章,可能和你看到的大多数自动化的文章有所不同。我不是一位专职的自动化测试工程师,没有开发过自动化的工具或者框架,用的自动化的工具也不多,也没有做过开发,所以我讲不出那些现在很多人很看重…

JavaScript【一】JavaScript变量与数据类型

文章目录🌟前言🌟变量🌟 变量是什么?🌟 变量提升🌟 声明变量🌟 JavaScript有三种声明方式🌟 命名规范🌟 注意🌟数据类型以及运算🌟 检测变量数据类…

数据智能服务商奇点云完成近亿元C2轮融资

奇点云集团宣布已于2022年底完成近亿元C2轮融资,余杭国投领投,中银渤海基金跟投。 截至目前,奇点云共获近3亿元C轮融资。C轮领投方包括泰康人寿(旗下泰康资产执行)、余杭国投,跟投方包括字节跳动、德同资本…

app抓包实战

文章目录一、抓包原理二、常用应用场景三、过滤四、重发五、修改请求六、断点(BreakPoint)一、抓包原理 二、常用应用场景 解决移动端接口测试 解决接口测试过程中检查传参错误问题 mock测试(虚拟的对象代替正常的数据、后端接口没有开发完成…

QML控件--DialogButtonBox

文章目录一、控件基本信息二、控件使用三、属性成员四、附加属性成员五、成员函数六、信号一、控件基本信息 Import Statement:import QtQuick.Controls 2.14 Since:Qt 5.8 Inherits:Container 二、控件使用 DialogButtonBox:是…

攻防世界-web-easyupload

题目描述:一名合格的黑客眼中,所有的上传点都是开发者留下的后门 很简单的一个上传图片的界面。 我们先正常上传一个图片,从提示信息中可以看出我们是上传到了uploads目录下 然后通过bupsuite抓包修改请求,将文件名修改为1.php&a…

Java垃圾回收机制GC完全指南,让你彻底理解JVM运行原理

1、GC过程 1)先判断对象是否存活(是否是垃圾) 可以通过引用计数算法和可达性分析算法来判断,由于引用计数算法无法解决循环引用的问题,所以目前使用的都是可达性分析算法 2)再遍历并回收对象(回收垃圾) 可以通过垃圾收集器&…

三、Locust任务(task)详解

当一个负载测试开始时,将为每个模拟用户创建一个用户类的实例,他们将在自己的绿色线程中开始运行。当这些用户运行时,他们会选择执行的任务,睡眠一段时间,然后选择一个新的任务,如此循环。 这些任务是正常…

什么是自动化测试?自动化测试现状怎么样?

什么是自动化测试:其实自动化测试,就是让我们写一段程序去测试另一段程序是否正常的过程,自动化测试可以更加省力的替代一部分的手动操作。 现在自动化测试的现状,也是所有学习者关心的,但现在国内公司主要是以功能测…

Flash Linux to eMMC

实验目的:从eMMC启动Linux系统 Step1:确定eMMC被挂在哪个设备 哪个设备含有boot0分区和boot1分区,就是eMMC。实验中是位于mmcblk1上。 rootam64xx-evm:~# ls -l /dev/mmcblk* brw-rw---- 1 root disk 179, 0 Feb 27 13:25 /dev/mmcblk0 brw-rw---- …

10 kafka生产者发送消息的原理

1.发送原理: 在消息发送的过程中,涉及到了两个线程——main 线程和 Sender 线程。在 main 线程 中创建了一个双端队列 RecordAccumulator。main 线程将消息发送给 RecordAccumulator, Sender 线程不断从 RecordAccumulator 中拉取消息发送到…

【机器学习】P10 从头到尾实现一个线性回归案例

这里写自定义目录标题(1)导入数据(2)画出城市人口与利润图(3)计算损失值(4)计算梯度下降(5)开始训练(6)画出训练好的模型(…

离散数学_第二章:基本结构:集合、函数、序列、求和和矩阵(1)

集合与函数2.1 集合 2.1.1 集合的基本概念 2.1.2 集合的表示方法 2.1.3 文氏图 2.1.4 证明集合相等 2.1.5 集合的大小 ——基 2.1.6 幂集 2.1.7 集族、指标集 2.1.8 笛卡尔积 2.1.9 容斥原理2.1 集合 2.1.1 集合的基本概念 定义1:集合 是不同对象的一个无序的聚…

【SpringCloud系列】开发环境下重写Loadbalancer实现自定义负载均衡

前言 spring-cloud-starter-netflix-ribbon已经不再更新了,最新版本是2.2.10.RELEASE,最后更新时间是2021年11月18日,详细信息可以看maven官方仓库:https://search.maven.org/artifact/org.springframework.cloud/spring-cloud-st…

Windows环境下实现设计模式——职责链模式(JAVA版)

我是荔园微风,作为一名在IT界整整25年的老兵,今天总结一下Windows环境下如何编程实现职责链模式(设计模式)。 不知道大家有没有这样的感觉,看了一大堆编程和设计模式的书,却还是很难理解设计模式&#xff…

Maven的进阶操作

系列文章目录 Maven进阶操作的学习 文章目录系列文章目录前言一、分模块开发与设计二、依赖管理1.依赖传递2.可选依赖3.排除依赖三、继承与聚合1.聚合2.继承四、属性1.属性2.版本管理五、多环境配置与应用1.多环境开发2.跳过测试六、私服1.私服简介2.私服仓库分类3.资源上传与…