数据库相关基础知识

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 

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

思维导图怎么变成ppt?4个思维导图一键生成ppt的方法

做好的思维导图如何变成一份ppt?本文罗列了4个可行方法,一起来看看吧。 一 直接复制粘贴 这是最简单的方法,虽然这样可能会花费一些时间,但可以确保内容排版和布局与你想要的一致。当然,我们大可使用更高效的方法。…

编程要搞明白的东西(二)

文章目录 一、简介二、面向对象编程基础2.1 面向对象编程概述2.2 类和对象2.2.1 类的定义和特点2.2.2 对象的创建和使用 2.3 封装、继承与多态的关系2.3.1 封装的概念和优势2.3.2 继承的概念和作用2.3.3 多态的概念和实现方式 三、封装3.1 封装的定义和原则3.2 封装的实现方法3…

VIC模型教程

详情点击链接:VIC模型教程 一:VIC模型的原理与特点 1.VIC模型各模块的主要原理 2.VIC模型的特点及优势 3.VIC模型的适用范围及其限制 4.VIC模型主要输入和输出文件解析案例一 :基于QGIS的VIC模型建模 1.Windows版本VIC模型安装及问题解…

Pycharm创建项目时如何自动添加头部信息

1.打开PyCharm,选择File--Settings 2.依次选择Editor---Code Style-- File and Code Templates---Python Script 3..添加头部内容 可以根据需要添加相应的信息 #!/usr/bin/python3可用的预定义文件模板变量为:$ {PROJECT_NAME} - 当前项目的名称。$ {NAM…

解决Maven依赖下载问题:从阿里云公共仓库入手

🌷🍁 博主猫头虎(🐅🐾)带您 Go to New World✨🍁 🦄 博客首页——🐅🐾猫头虎的博客🎐 🐳 《面试题大全专栏》 🦕 文章图文…

用递归实现字符串逆序(不使用库函数)

文章目录 前言一、题目要求二、解题步骤1.大概框架2.如何反向排列?3.模拟实现strlen4.实现反向排列5.递归实现反向排列 总结 前言 嗨,亲爱的读者们!我是艾老虎尤,今天,我们将探索一个题目,这个题目对新手非…

Python---元组

元组特点 1. 可以容纳多个数据 2. 可以容纳不同类型的数据 (混装) 3. 数据是有序存储的 (下标索引) 4. 允许重复数据存在 5. 不可以修改 (增加或删除元素等) 【可以修改内部list的内部元素---见页尾】 6. 支持for和while循环 定义元组 # 定义元组 变量 (元素, 元素2, 元素…

数据库服务器是什么意思?数据库服务器有哪些?

数据库服务器是什么意思?现在市场上有很多的服务器的类型,比如数据库服务器,但是很多人对数据库服务器是什么意思?数据库服务器有哪些并不是很熟悉,那么,聚名企服为您详解一下。 一:数据库服务器是什么意思 数据库服…

Java中xml转javaBean

Java中xml转javaBean maven坐标 <dependency><groupId>com.fasterxml.jackson.dataformat</groupId><artifactId>jackson-dataformat-xml</artifactId><version>2.13.4</version></dependency>代码测试 import cn.hutool.js…

开发板插入sd/tf卡后自动挂载

测试平台-hisi-dv500 要在Linux系统上实现TF卡&#xff08;Micro SD卡&#xff09;插入后自动挂载&#xff0c;类似于SD卡/TF卡插入也会触发内核事件,你可以使用udev工具来监控并处理这些事件,创建一个udev规则文件来捕获TF卡插入事件. 1:创建一个udev规则文件&#xff0c;例…

Spring 6.X IoC 容器

目录 一、Spring IoC 容器和 Bean 简介1.1、容器概述1.3、使用 一、Spring IoC 容器和 Bean 简介 下面主要介绍 Spring 框架对控制反转 (IoC) 原理的实现 首先要说明的是&#xff1a;IoC 也称为依赖注入&#xff0c;这是一个过程。 其次依赖项的定义&#xff1a;对象仅通过构造…

企业架构LNMP学习笔记23

1、隐藏版本号&#xff1a; Nginx对外提供服务&#xff0c;为了避免被针对某个版本的漏洞进行攻击。经常做法是隐藏掉软件的版本信息&#xff0c;提供一定的安全性。 server_tokens off; https和CA&#xff1a; 1&#xff09;基于SSL CA证书的公私钥的安全性。 CA是需要生成…

【公网远程手机Android服务器】安卓Termux搭建Web服务器

目录 概述 1.搭建apache 2.安装cpolar内网穿透 3.公网访问配置 4.固定公网地址 5.添加站点 概述 Termux是一个Android终端仿真应用程序&#xff0c;用于在 Android 手机上搭建一个完整的Linux 环境&#xff0c;能够实现Linux下的许多基本操作&#xff0c;不需要root权限…

CF1120 D. Power Tree 巧妙的图论转化

传送门 [前题提要]:无 题目描述: 就是给你一棵树,然后每个点有花费,然后你可以选一个点,付费后对这个点的子树的所有叶子结点增减任意权值. 考虑有一个人会给这棵树的所有叶子结点赋值(值我们不知道),输出最小的花费,使得无论它如何赋值,我们使用上述的花 费都能使所有的叶子…

代码随想录day46|139. 单词拆分

139. 单词拆分 class Solution:def wordBreak(self, s: str, wordDict: List[str]) -> bool:dp [False]*(len(s)1)dp[0]Truefor i in range(len(s)1):for j in wordDict:if i>len(j) and (s[i-len(j):i] in wordDict) and dp[i-len(j)]:dp[i] Truereturn dp[len(s)]多…

vue中在弹框中使用form表单,取消默认的回车提交效果-刷新页面

前言&#xff1a; vue项目中使用dialog弹框的时候&#xff0c;如果在弹框上使用form表单&#xff0c;但是我们只是使用他的input框&#xff0c;不需要它默认的提交功能的时候&#xff0c;会出现input聚焦&#xff0c;回车刷新页面&#xff0c;是因为他触发了默认的form提交方法…

Excel VSTO开发8 -相关控件

版权声明&#xff1a;本文为博主原创文章&#xff0c;转载请在显著位置标明本文出处以及作者网名&#xff0c;未经作者允许不得用于商业目的。 8 相关控件 在VSTO开发中&#xff0c;Ribbon&#xff08;或称为Ribbon UI&#xff09;是指Office应用程序中的那个位于顶部的带有选…

C++零碎记录(一)

1. 面向对象三大特性 ① C面向对象的三大特性为&#xff1a;封装、继承、多态。 ② C认为万事万物皆为对象&#xff0c;对象上有其属性和行为。 ③ 例如&#xff1a; 1. 人可以作为对象&#xff0c;属性有姓名、年龄、身高、体重......行为有走、跑、跳、吃饭、唱歌.... 2. …

End-to-end 3D Human Pose Estimation with Transformer

基于Transformer的端到端三维人体姿态估计 摘要 基于Transformer的架构已经成为自然语言处理中的常见选择&#xff0c;并且现在正在计算机视觉任务中实现SOTA性能&#xff0c;例如图像分类&#xff0c;对象检测。然而&#xff0c;卷积方法在3D人体姿态估计的许多方法中仍然保…