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

数据库相关基础知识

10ecaec08a354a218438efcc9f9119b5.jpg第一章 概念

 

 

1、数据:描述事物的符号记录称为数据。特点:数据和关于数据的解释不可分。

 

2、数据库:长期存储在计算机内、有组织、可共享的大量的数据的集合。数据库中的数据按照一定的数据模型组织、描述和存储,具有较小的冗余度、较高的数据独立性和易扩展性,并可为各种用户共享。特点:永久存储、有组织、可共享。

 

3、数据库管理系统(DBMS):位于用户与操作系统之间的一层数据管理软件。主要功能:数据定义功能(DDL);数据组织、存储和管理;数据操纵功能(DML);数据库的事务管理和运行管理;数据库的建立和维护功能;其他功能。

 

4、数据库系统(DBS):由数据库、数据库管理系统(及其开发工具)、应用系统、数据库管理员构成。

 

5、数据管理技术三个阶段:人工管理、文件系统、数据库系统。

 

6、两类数据模型:概念模型(又叫信息模型);逻辑模型、物理模型

 

7、数据模型的组成要素:数据结构、数据操纵和数据的完整性约束条件。

 

8、概念模型:用于信息世界的建模,是现实世界到信息世界的第一层抽象,是数据库设计人员进行数据库设计的有力工具也是数据库设计人员与用户之间进行交流的语言。

 

9、信息世界中的概念:实体、属性、码、域、实体型、实体集、联系;两个实体之间的联系又分为一对一,一对多,多对多。

 

10、E-R图:表示实体型、属性和联系的方法,实体型用矩形,属性用椭圆,联系用菱形。

 

11、关系的完整性约束条件包括三大类:实体完整性、参照完整性、和用户自定义完整性。

 

12、数据库系统的三级模式结构:模式、外模式、内模式。数据库的二级映像:外模式/模式映像,模式/内模式映像。

 

第二章 关系数据库

 

1、关系模型由关系数据结构、关系操作集合和关系完整性约束三部分组成。

 

2、关系操作:查询操作和插入、删除、修改操作两大部分。查询操作又可分为选择、投影、连接、除、并、差、交、笛卡尔积等。

 

3、实体完整性:主属性不能为空;参照完整性:关系与关系间的引用(一般为两张表,或者一张表内部也存在);用户自定义的完整性。

 

第三章 关系数据库标准语言SQL

 

1、SQL:结构化查询语言。

 

2、外模式对应于视图和部分表,模式对应于基本表,内模式对应于存储文件。

 

3、基本表:本身独立存在的表,在SQL中一个关系对应一个基本表,一个或多个基本表对应一个存储文件,一个表可以带若干索引,索引也存放在存储文件中。

 

4、视图:从一个或几个基本表中导出的表,本身不存在于数据库中,即数据库中只存放视图的定义不存放视图对应的数据,视图是一个虚表,可以在视图上再定义视图。

 

5、存储文件:其逻辑结构组成了关系数据库的内模式,其物理结构是任意的,对用户是透明的。

 

6、SQL查询

 

常用查询

SHOW DATABASES; 查询所有数据库

use 数据库名; 使用某数据库

SHOW TABLES 查询所有表

SHOW COLUMNS FROM 表名 查询该表所有列

SELECT 列 FROM 表名 查询

SELECT 列1,列2... FROM 表名 多列查询

SELECT * FROM 表名 全部查询(查询所有列)

7. 数据库服务环境安装部署

windows系统中部署数据库: mysql

https://dev.mysql.com/downloads/installer/

PHPstudy 程序包 --- 包含了数据库服务 --- 进行启动开启

方式一: 连接数据库(命令行操作管理)

连接数据库服务: cmd ---> 切换到PHPstudy数据库程序目录中 ---> 连接数据库

mysql.exe -uroot -proot

 

方式二: 连接数据库(图形界面操作)

安装连接数据库程序软件: Navicat 安装部署

实现远程连接数据库:

本地建立连接: localhost == 127.0.0.1

 

Linux系统中部署数据库: mysql

https://dev.mysql.com/downloads/mysql/

 

准备Linux环境: vmware虚拟软件 --- 加载虚拟主机 --- 启动

部署数据库服务: mariadb --- yum install -y mariadb(操作数据库命令) mariadb-server

启动数据库服务: systemctl start mariadb

 

方式一: 连接数据库(命令行)

虚拟主机环境 --- mysql -uroot

 

方式二: 连接数据库(图形界面)

??? 如何和虚拟主机数据路服务建立连接

 

05. 数据库操作管理知识

1) 操作数据库相关SQL命令

· 创建数据库信息:

语句格式: CREATE DATABASE 数据库名称;

操作命令: CREATE DATABASE PHP;

· 查看数据库信息:

语句格式: show databases;

· 选中指定数据库信息:

语句格式: use 数据库名称;

操作命令: use php;

· 查看库中具有表信息:

语句格式: show tables;

· 删除指定数据库信息:

语句格式: drop database 数据库名称;

操作命令: drop database php;

 

2) 操作数据表相关SQL命令

· 创建表信息:

语句格式: CREATE TABLE 表名(字段名1 字段类型,字段名2 ....字段名n 字段类型n);

操作命令:

create table xueyuan(

name varchar(15),

sex char(5),

age int(5),

xueli char(10),

jingyan bool,

xinzi float(10,2)

);

 

· 查看表中字段信息:

语句格式: desc 表名称

操作命令: desc xueyuan;

+---------+-------------+------+-----+---------+-------+

| Field | Type | Null | Key | Default | Extra |

+---------+-------------+------+-----+---------+-------+

| name | varchar(15) | YES | | NULL | |

| sex | char(5) | YES | | NULL | |

| age | int(5) | YES | | NULL | |

| xueli | char(10) | YES | | NULL | |

| jingyan | tinyint(1) | YES | | NULL | |

| xinzi | float(10,2) | YES | | NULL | |

+---------+-------------+------+-----+---------+-------+

6 rows in set (0.00 sec)

 

· 查看表信息创建方法:

语句格式: SHOW CREATE TABLE 表名称;

操作命令: SHOW CREATE TABLE xueyuan\G;

*************************** 1. row **************************

Table: xueyuan

Create Table: CREATE TABLE `xueyuan` (

`name` varchar(15) COLLATE utf8_unicode_ci DEFAULT NULL,

`sex` char(5) COLLATE utf8_unicode_ci DEFAULT NULL,

`age` int(5) DEFAULT NULL,

`xueli` char(10) COLLATE utf8_unicode_ci DEFAULT NULL,

`jingyan` tinyint(1) DEFAULT NULL,

`xinzi` float(10,2) DEFAULT NULL

) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci

 

· 删除表信息:

语句格式: drop table 名名称;

操作命令: drop table oldboy;

 

· 创建表设置引擎信息和默认字符编码信息:

mysql> create table test(

name varchar(15),

sex char(5),

age int(5),

xueli char(10),

jingyan bool,

xinzi float(10,2)

)ENGINE=InnoDB DEFAULT CHARSET=utf8;

 

3) 操作数据字段相关SQL命令

· 修改字段数据类型信息

语句格式: alter table 表名 modify 字段名 修改后的数据类型;

操作命令: alter table test modify sex varchar(10);

 

· 增加表中字段信息:

语句格式: alter table 表名 add column 字段名 字段类型;

操作命令: alter table test add column oldboy date;

 

· 增加表中字段信息: 可以指定控制字段添加的位置

语句格式: alter table 表名 add 字段名 bool after 在哪个字段后添加;

操作命令: alter table test add oldgirl bool after age;

 

增加表中字段信息: 将指定字段插入到第一列

语句格式: alter table 表名 add 字段 类型 first;

操作命令: alter table test add oldbaby char first;

 

· 删除表中字段信息:

语句格式: alter table 表名 drop column 字段名称;

操作命令: alter table test drop column oldbaby;

 

· 修改字段名称信息:

语句格式: alter table 表名 change 原字段名称 修改后字段名 字段类型;

操作命令: alter table test change xueli edu varchar(15);

 

· 修改已有字段顺序:

语句格式:

alter table 表名 modify 字段名 类型 first; --- 直接将指定字段移到第一列

alter table test modify 字段名 类型 after 字段名; --- 将字段移动到指定列之后

 

· 修改数据库中表的名称:

语句格式: alter table 旧表名 rename 新的表名;

操作命令: alter table test rename new_test;

 

4) 数据库字段数据类型介绍/字符编码

参考mysql文档介绍

 

5) 数据库索引操作

索引概念介绍: 可以提升查找指定数据检索效率

索引分类介绍: 普通索引 唯一索引(不能有字段信息重复) 主键索引(字段信息不能为空)

 

索引创建方法:

普通索引创建: MUL

语法格式: alter table 表 add index(字段);

操作命令: alter table xueyuan add index(name);

 

唯一索引创建: UNI

语法格式: alter table 表 add UNIQUE(字段)

操作命令: alter table xueyuan add UNIQUE(xueli);

 

主键索引创建: PRI

语法格式: alter table 表 add PRIMARY KEY(字段)

操作命令: alter table xueyuan add primary key(jingyan);

 

如何删除索引信息???

语法格式:drop index 索引名 on 表名

语法命令:drop index jingyan ON 

相关文章:

数据库相关基础知识

第一章 概念 1、数据:描述事物的符号记录称为数据。特点:数据和关于数据的解释不可分。 2、数据库:长期存储在计算机内、有组织、可共享的大量的数据的集合。数据库中的数据按照一定的数据模型组织、描述和存储,具有较小的冗余度、…...

LeetCode刷题笔记【23】:贪心算法专题-1(分发饼干、摆动序列、最大子序和)

文章目录 前置知识贪心算法的本质什么时候用贪心算法?什么时候不能用贪心?贪心算法的解题步骤 455.分发饼干题目描述解题思路代码 376. 摆动序列题目描述解题思路代码 53. 最大子序和题目描述暴力解法动态规划贪心算法 总结 前置知识 贪心算法的本质 贪心的本质是选择每一阶…...

C++算法 —— 分治(2)归并

文章目录 1、排序数组2、数组中的逆序对3、计算右侧小于当前元素的个数4、翻转对 本篇前提条件是已学会归并排序 1、排序数组 912. 排序数组 排序数组也可以用归并排序来做。 vector<int> tmp;//写成全局是因为如果在每一次小的排序中都创建一次&#xff0c;更消耗时间和…...

Hadoop YARN HA 集群安装部署详细图文教程

目录 一、YARN 集群角色、部署规划 1.1 集群角色--概述 1.2 集群角色--ResourceManager&#xff08;RM&#xff09; 1.3 集群角色--NodeManager&#xff08;NM&#xff09; 1.4 HA 集群部署规划 二、YARN RM 重启机制 2.1 概述 2.2 演示 2.2.1 不开启 RM 重启机制…...

BBS+商城项目的数据库表设计

本文章是对于BBS商城项目的数据库的初步设计&#xff0c;仅供参考&#xff01; -- 创建用户表 CREATE TABLE Users (id bigint(20) PRIMARY KEY COMMENT 用户ID,username varchar(255) NOT NULL COMMENT 用户名,password varchar(255) NOT NULL COMMENT 密码,status int(1) DE…...

如何使用Savitzky-Golay滤波器进行轨迹平滑

一、Savitzky-Golay滤波器介绍 Savitzky-Golay滤波器是一种数字滤波器&#xff0c;用于平滑数据&#xff0c;特别是在信号处理中。它基于最小二乘法的思想&#xff0c;通过拟合数据到一个滑动窗口内的低阶多项式来实现平滑。这种滤波器的优点是它可以保留数据的高频信息&#…...

Nomad系列-Nomad网络模式

系列文章 Nomad 系列文章 概述 Nomad 的网络和 Docker 的也有很大不同, 和 K8s 的有很大不同. 另外, Nomad 不同版本(Nomad 1.3 版本前后)或是否集成 Consul 及 CNI 等不同组件也会导致网络模式各不相同. 本文详细梳理一下 Nomad 的主要几种网络模式 在Nomad 1.3发布之前&a…...

OpenCV项目开发实战--实现面部情绪识别对情绪进行识别和分类及详细讲解及完整代码实现

文末提供免费的完整代码下载链接 面部情绪识别(FER)是指根据面部表情对人类情绪进行识别和分类的过程。通过分析面部特征和模式,机器可以对一个人的情绪状态做出有根据的猜测。面部识别的这个子领域是高度跨学科的,借鉴了计算机视觉、机器学习和心理学的见解。 在这篇研究…...

Validate表单组件的封装

之前一直是直接去使用别人现成的组件库&#xff0c;也没有具体去了解人家的组件是怎么封装的&#xff0c;造轮子才会更好地提高自己&#xff0c;所以尝试开始从封装Form表单组件开始 一&#xff1a;组件需求分析 本次封装组件&#xff0c;主要是摸索封装组件的流程&#xff0c;…...

企业架构LNMP学习笔记32

企业架构LB-服务器的负载均衡之LVS实现&#xff1a; 学习目标和内容 1&#xff09;能够了解LVS的工作方式&#xff1b; 2&#xff09;能够安装和配置LVS负载均衡&#xff1b; 3&#xff09;能够了解LVS-NAT的配置方式&#xff1b; 4&#xff09;能够了解LVS-DR的配置方式&…...

基于Jetty9的Geoserver配置https证书

1.环境准备 由于Geoserver自带的jetty版本不具备https模块&#xff0c;所以需要下载完整版本jetty。这里需要先查看本地geoserver对应的jetty版本&#xff0c;进入geoserver安装目录&#xff0c;执行如下命令。 java -jar start.jar --version Jetty Server Classpath: -----…...

企业互联网暴露面未知资产梳理

一、互联网暴露面梳理的重要性 当前&#xff0c;互联网新技术的产生推动着各种网络应用的蓬勃发展&#xff0c;网络安全威胁逐渐蔓延到各种新兴场景中&#xff0c;揭示着网络安全威胁不断加速泛化。当前网络存在着许多资产&#xff0c;这些资产关系到企业内部的安全情况&#…...

【动态规划刷题 12】等差数列划分 最长湍流子数组

139. 单词拆分 链接: 139. 单词拆分 给你一个字符串 s 和一个字符串列表 wordDict 作为字典。请你判断是否可以利用字典中出现的单词拼接出 s 。 注意&#xff1a;不要求字典中出现的单词全部都使用&#xff0c;并且字典中的单词可以重复使用。 示例 1&#xff1a; 输入: …...

react-redux 的使用

react-redux React Redux 是 Redux 的官方 React UI 绑定库。它使得你的 React 组件能够从 Redux store 中读取到数据&#xff0c;并且你可以通过dispatch actions去更新 store 中的 state 安装 npm install --save react-reduxProvider React Redux 包含一个 <Provider…...

77 # koa 中间件的应用

调用 next() 表示执行下一个中间件 const Koa require("koa");const app new Koa();app.use(async (ctx, next) > {console.log(1);next();console.log(2); });app.use(async (ctx, next) > {console.log(3);next();console.log(4); });app.use(async (ctx,…...

【css】z-index与层叠上下文

z-index属性用来设置元素的堆叠顺序&#xff0c;使用z-index有一个大的前提&#xff1a;z-index所作用元素的样式列表中必须有position属性并且属性值为absolute、relative或fixed中的一个&#xff0c;否则z-index无效。 层叠上下文 MDN讲解 我们给元素设置的z-index都是有一…...

系统架构设计师(第二版)学习笔记----多媒体技术

【原文链接】系统架构设计师&#xff08;第二版&#xff09;学习笔记----多媒体技术 文章目录 一、多媒体概述1.1 媒体的分类1.2 多媒体的特征1.3 多媒体系统的基本组成 二、多媒体系统的关键技术2.1 多媒体系统的关键技术2.2 视频技术的内容2.3 音频技术的内容2.4 数据压缩算法…...

【面试经典150 | 数组】合并两个有序数组

文章目录 写在前面Tag题目来源题目解读解题思路方法一&#xff1a;合并排序方法二&#xff1a;双指针方法三&#xff1a;原地操作-从前往后方法四&#xff1a;原地操作-从后往前 写在最后 写在前面 本专栏专注于分析与讲解【面试经典150】算法&#xff0c;两到三天更新一篇文章…...

系统架构设计专业技能 ·操作系统

现在的一切都是为将来的梦想编织翅膀&#xff0c;让梦想在现实中展翅高飞。 Now everything is for the future of dream weaving wings, let the dream fly in reality. 点击进入系列文章目录 系统架构设计高级技能 操作系统 一、操作系统概述二、进程管理2.1 进程概念2.2 进…...

CSP 202209-1 如此编码

答题 题目就是字多 #include<iostream>using namespace std;int main() {int n,m;cin>>n>>m;int a[n],c[n1];c[0]1;for(int i0;i<n;i){cin>>a[i];c[i1]c[i]*a[i];}for(int i0;i<n;i){cout<<(m%c[i1]-m%c[i])/c[i]<< ;} }...

华为云AI开发平台ModelArts

华为云ModelArts&#xff1a;重塑AI开发流程的“智能引擎”与“创新加速器”&#xff01; 在人工智能浪潮席卷全球的2025年&#xff0c;企业拥抱AI的意愿空前高涨&#xff0c;但技术门槛高、流程复杂、资源投入巨大的现实&#xff0c;却让许多创新构想止步于实验室。数据科学家…...

Qt/C++开发监控GB28181系统/取流协议/同时支持udp/tcp被动/tcp主动

一、前言说明 在2011版本的gb28181协议中&#xff0c;拉取视频流只要求udp方式&#xff0c;从2016开始要求新增支持tcp被动和tcp主动两种方式&#xff0c;udp理论上会丢包的&#xff0c;所以实际使用过程可能会出现画面花屏的情况&#xff0c;而tcp肯定不丢包&#xff0c;起码…...

Zustand 状态管理库:极简而强大的解决方案

Zustand 是一个轻量级、快速和可扩展的状态管理库&#xff0c;特别适合 React 应用。它以简洁的 API 和高效的性能解决了 Redux 等状态管理方案中的繁琐问题。 核心优势对比 基本使用指南 1. 创建 Store // store.js import create from zustandconst useStore create((set)…...

盘古信息PCB行业解决方案:以全域场景重构,激活智造新未来

一、破局&#xff1a;PCB行业的时代之问 在数字经济蓬勃发展的浪潮中&#xff0c;PCB&#xff08;印制电路板&#xff09;作为 “电子产品之母”&#xff0c;其重要性愈发凸显。随着 5G、人工智能等新兴技术的加速渗透&#xff0c;PCB行业面临着前所未有的挑战与机遇。产品迭代…...

day52 ResNet18 CBAM

在深度学习的旅程中&#xff0c;我们不断探索如何提升模型的性能。今天&#xff0c;我将分享我在 ResNet18 模型中插入 CBAM&#xff08;Convolutional Block Attention Module&#xff09;模块&#xff0c;并采用分阶段微调策略的实践过程。通过这个过程&#xff0c;我不仅提升…...

毫米波雷达基础理论(3D+4D)

3D、4D毫米波雷达基础知识及厂商选型 PreView : https://mp.weixin.qq.com/s/bQkju4r6med7I3TBGJI_bQ 1. FMCW毫米波雷达基础知识 主要参考博文&#xff1a; 一文入门汽车毫米波雷达基本原理 &#xff1a;https://mp.weixin.qq.com/s/_EN7A5lKcz2Eh8dLnjE19w 毫米波雷达基础…...

pikachu靶场通关笔记19 SQL注入02-字符型注入(GET)

目录 一、SQL注入 二、字符型SQL注入 三、字符型注入与数字型注入 四、源码分析 五、渗透实战 1、渗透准备 2、SQL注入探测 &#xff08;1&#xff09;输入单引号 &#xff08;2&#xff09;万能注入语句 3、获取回显列orderby 4、获取数据库名database 5、获取表名…...

LangFlow技术架构分析

&#x1f527; LangFlow 的可视化技术栈 前端节点编辑器 底层框架&#xff1a;基于 &#xff08;一个现代化的 React 节点绘图库&#xff09; 功能&#xff1a; 拖拽式构建 LangGraph 状态机 实时连线定义节点依赖关系 可视化调试循环和分支逻辑 与 LangGraph 的深…...

02.运算符

目录 什么是运算符 算术运算符 1.基本四则运算符 2.增量运算符 3.自增/自减运算符 关系运算符 逻辑运算符 &&&#xff1a;逻辑与 ||&#xff1a;逻辑或 &#xff01;&#xff1a;逻辑非 短路求值 位运算符 按位与&&#xff1a; 按位或 | 按位取反~ …...

Tauri2学习笔记

教程地址&#xff1a;https://www.bilibili.com/video/BV1Ca411N7mF?spm_id_from333.788.player.switch&vd_source707ec8983cc32e6e065d5496a7f79ee6 官方指引&#xff1a;https://tauri.app/zh-cn/start/ 目前Tauri2的教程视频不多&#xff0c;我按照Tauri1的教程来学习&…...