当前位置: 首页 > 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 Lab开源论文 | 宇树机器人多姿态起立控制强化学习框架(二)

HoST框架核心实现方法详解 - 论文深度解读(第二部分) 《Learning Humanoid Standing-up Control across Diverse Postures》 系列文章: 论文深度解读 + 算法与代码分析(二) 作者机构: 上海AI Lab, 上海交通大学, 香港大学, 浙江大学, 香港中文大学 论文主题: 人形机器人…...

pam_env.so模块配置解析

在PAM&#xff08;Pluggable Authentication Modules&#xff09;配置中&#xff0c; /etc/pam.d/su 文件相关配置含义如下&#xff1a; 配置解析 auth required pam_env.so1. 字段分解 字段值说明模块类型auth认证类模块&#xff0c;负责验证用户身份&am…...

STM32F4基本定时器使用和原理详解

STM32F4基本定时器使用和原理详解 前言如何确定定时器挂载在哪条时钟线上配置及使用方法参数配置PrescalerCounter ModeCounter Periodauto-reload preloadTrigger Event Selection 中断配置生成的代码及使用方法初始化代码基本定时器触发DCA或者ADC的代码讲解中断代码定时启动…...

关于 WASM:1. WASM 基础原理

一、WASM 简介 1.1 WebAssembly 是什么&#xff1f; WebAssembly&#xff08;WASM&#xff09; 是一种能在现代浏览器中高效运行的二进制指令格式&#xff0c;它不是传统的编程语言&#xff0c;而是一种 低级字节码格式&#xff0c;可由高级语言&#xff08;如 C、C、Rust&am…...

算法笔记2

1.字符串拼接最好用StringBuilder&#xff0c;不用String 2.创建List<>类型的数组并创建内存 List arr[] new ArrayList[26]; Arrays.setAll(arr, i -> new ArrayList<>()); 3.去掉首尾空格...

Python 包管理器 uv 介绍

Python 包管理器 uv 全面介绍 uv 是由 Astral&#xff08;热门工具 Ruff 的开发者&#xff09;推出的下一代高性能 Python 包管理器和构建工具&#xff0c;用 Rust 编写。它旨在解决传统工具&#xff08;如 pip、virtualenv、pip-tools&#xff09;的性能瓶颈&#xff0c;同时…...

嵌入式学习笔记DAY33(网络编程——TCP)

一、网络架构 C/S &#xff08;client/server 客户端/服务器&#xff09;&#xff1a;由客户端和服务器端两个部分组成。客户端通常是用户使用的应用程序&#xff0c;负责提供用户界面和交互逻辑 &#xff0c;接收用户输入&#xff0c;向服务器发送请求&#xff0c;并展示服务…...

【电力电子】基于STM32F103C8T6单片机双极性SPWM逆变(硬件篇)

本项目是基于 STM32F103C8T6 微控制器的 SPWM(正弦脉宽调制)电源模块,能够生成可调频率和幅值的正弦波交流电源输出。该项目适用于逆变器、UPS电源、变频器等应用场景。 供电电源 输入电压采集 上图为本设计的电源电路,图中 D1 为二极管, 其目的是防止正负极电源反接, …...

【Android】Android 开发 ADB 常用指令

查看当前连接的设备 adb devices 连接设备 adb connect 设备IP 断开已连接的设备 adb disconnect 设备IP 安装应用 adb install 安装包的路径 卸载应用 adb uninstall 应用包名 查看已安装的应用包名 adb shell pm list packages 查看已安装的第三方应用包名 adb shell pm list…...

HybridVLA——让单一LLM同时具备扩散和自回归动作预测能力:训练时既扩散也回归,但推理时则扩散

前言 如上一篇文章《dexcap升级版之DexWild》中的前言部分所说&#xff0c;在叠衣服的过程中&#xff0c;我会带着团队对比各种模型、方法、策略&#xff0c;毕竟针对各个场景始终寻找更优的解决方案&#xff0c;是我个人和我司「七月在线」的职责之一 且个人认为&#xff0c…...