.NET/C#汇总 —— 数据库概念知识

1 为什么要⼀定要设置主键?

其实这个不是⼀定的,有些场景下,⼩系统或者没什么⽤的表,不设置主键也没关系,mysql最好是⽤ ⾃增主键,主要是以下两个原因:如果定义了主键,那么InnoDB会选择主键作为聚集索引、如果没有显 式定义主键,则innodb 会选择第⼀个不包含有NULL值的唯⼀索引作为主键索引、如果也没有这样的唯 ⼀索引,则innodb 会选择内置6字节⻓的ROWID作为隐含的聚集索引。所以,反正都要⽣成⼀个主键, 那你还不如⾃⼰指定⼀个主键,提⾼查询效率!

2.⾃增主键⽤完了怎么办?

在mysql中,Int整型的范围(-2147483648~2147483648),约20亿!

因此不⽤考虑⾃增ID达到最⼤ 值这个问题。⽽且数据达到千万级的时候就应该考虑分库分表了

3.为什么不直接存储图⽚、⾳频、视频等⼤容量内容?

  • 我们在实际应⽤中,都是⽂件形式存储的。mysql中,只存⽂件的存放路径。虽然mysql中blob类型可以 ⽤来存放⼤容量⽂件,但是,我们在⽣产中,基本不⽤!主要有如下⼏个原因:
  • Mysql内存临时表不⽀持TEXT、BLOB这样的⼤数据类型,如果查询中包含这样的数据,查询效率 会⾮常慢。
  • 数据库特别⼤,内存占⽤⾼,维护也⽐较麻烦。
  • binlog太⼤,如果是主从同步的架构,会导致主从同步效率问题!因此,不推荐使⽤blob等类型!

4.有⼏种不同的join?

Inner join, left join, right join, full join.

Inner join, 就是只要有⼀个列能够匹配, 就简单的返回两个table中所有的对应⾏。

select columnnames from tablename1 inner join tablename2 on columnname1=col
umnname2

Left join也就是left outer join。当有⼀个列能够匹配时就返回左边表中所有的⾏。

select columnnames from tablename1 left join tablename2 on columnname1=colu
mnname2

Right join也就是right outer join,当有列匹配时,返回右边表格中所有的⾏。

select columnnames from tablename1 right join tablename2 on columnname1=col
umnname2

Full join也就是full outer join, 当有匹配时, 会返回左边表格和右边表格任意情况下的⾏组合。

5.Sql和my sql的区别是什么?

Sql是结构化查询语⾔,my sql是⼀个关系型数据库。

6.Delete和truncate的区别是什么?

Delete是dml,truncate是ddl。

Delete是⽤来删除⼀⾏或者多⾏。Truncate是⽤来删除⼀个表中的所有⾏。

我们可以⽤where跟delete结合使⽤。Truncate不可以。

7.Drop跟truncate的区别是什么?

truncate是删除表中所有的⾏,drop是删除整张表。这两个操作都不可以回撤。

8.什么是关系?有⼏种关系?

  • 关系是指多表在数据库中的关联。
  • 有4种关系。
  • 1对1,多对⼀,多对多,⼀对多。

9.什么是主键?

唯⼀标识⼀条记录,不能有重复的,不允许为空。

10. 什么是外键?

表的外键是另⼀表的主键, 外键可以有重复的, 可以是空值。

11.如何随机的从表中取⾏?

select * from tablename sample 10

12.Sql server的TCP/ip端⼝是什么?

1433

13.什么是SQL?

SQL(结构化查询语⾔)是⼀种设计⽤于检索和操作数据的数据库。它属于美国国家标准协会(ANSI) 的⼀种标准,可⽤于执⾏Select(选择)、Update(更新)、Delete(删除)和Insert(插⼊)等数据 任务。

14.SQL中的Constraints(约束)是什么?

它可⽤于设置表中数据类型的限制。在创建或更新表语句时,可以使⽤约束。

⼀些限制是: NOT NULL、PRIMARY KEY、FOREIGN KEY、UNIQUE、CHECK、DEFAULT

15.什么是Index(索引)?

索引⽤于加速查询的性能。它可以更快地从表中检索数据。可以在⼀组列上创建索引。

16.Clustered࿰

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

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

相关文章

Pytorch下张量的形状操作(详细)

目录 一、基本操作函数 二、分类:维度改变,张量变形,维度重排 2.1维度改变 2.2张量变形 2.3维度重排 三、实例 一、基本操作函数 在PyTorch中,对张量的形状进行操作是常见的需求,因为它允许我们重新组织、选择和…

大模型训练及推理【硬件选型指南】及 GPU 通识

我们在做大模型应用部署时(如训练、微调、RAG),往往需要在前期就分析好硬件选型指标,或者我们给客户报方案之前,可能你已经有了一个方案,但是由于实践经验缺乏,不知道在硬件上该如何评估并上报。…

CTF练习-BUUCTF(1~25)

文章目录 Crypto题目1 一眼就解密题目解题思路flag 题目2 md5题目解题思路flag 题目3 Url编码题目解题思路flag 题目4 看我回旋踢题目解题思路1解题思路2flag 题目5 摩丝题目解题思路flag 题目6 passwd题目解题思路flag 题目7 变异凯撒题目解题思路flag 题目8 Quoted-printable…

AJAX——封装_简易axios

1.简易axios_获取身份列表 需求:基于Promise XHR 封装 myAxios函数,获取省份列表展示 步骤: 1.定义 myAxios函数,接收配置对象,返回Promise对象 2.发起XHR请求,默认请求方法为GET 3.调用成功/失败的处…

大模型日报2024-04-22

大模型日报 2024-04-22 大模型资讯 Mistral与Mixtral大型语言模型对比:7B、8x7B及8x22B 摘要: 最近,IT新闻频道广泛报道了新公开的Mixtral 8x22B模型,该模型在多项基准测试中超越了ChatGPT 3.5版本,尤其在MMLU等测试中表现突出。本…

Rust语言之简单涉猎

官方文档 简介 Rust 是一种静态类型语言。静态类型语言是指在编译时对变量和表达式进行类型检查,以确保类型的正确性。在 Rust 中,每个变量都需要在声明时指定其类型(也支持隐式声明,根据值判断),并且在编译时会进行类型检查&am…

更全面的Embedding介绍

"Embedding"这个词在不同的上下文中有多种含义,以下是一些常见的解释: 计算机科学和人工智能:在机器学习和自然语言处理中,embedding是一种将词汇或短语映射到向量空间的技术。这些向量可以捕捉到词汇的语义含义&#x…

java中spring底层核心原理解析(2)

相关系列 java中spring底层核心原理解析(1)-CSDN博客 推断构造方法 spring在基于某个类生成bean的过程中,需要利用该学业有成的构造方法来实例化得到一个对象,但是如果一个类存在多个构造方法,spring会使用哪个呢? …

Python与数据库连接

新建表boss create table 创建表 Code import pymysqlcon pymysql.connect(hostlocalhost,\userroot,\password,\port3306,\dbbusiness) cursorcon.cursor() cursor.execute(create table if not exists boss(id int auto_increment primary key,name varchar(20)not null…

设计模式|代理模式(Proxy Pattern)

文章目录 什么是代理模式举例结构优缺点优点缺点代码示例与代理模式相近的设计模式什么是代理模式 代理模式(Proxy Pattern)是一种结构型设计模式,它允许你提供一个间接访问对象的方式,以控制对对象的访问。这种模式通常在不改变原始类代码的情况下,添加一些额外的逻辑或…

WPF2 样式布局

样式布局 WPF中的各类控件元素, 都可以自由的设置其样式。 诸如: 字体(FontFamily) 字体大小(FontSize) 背景颜色(Background) 字体颜色(Foreground) 边距(Margin) 水平位置(HorizontalAlignment) 垂直位置(VerticalAlignment) 等等。 而样式则是组织和重用以上的重要工具。…

Docker基础+虚拟化概念

目录 一、虚拟化简介 1、虚拟化概述 2、cpu的时间分片(cpu虚拟化) 3、cpu虚拟化性性能瓶颈 4、虚拟化工作 4.1虚拟机工作原理 4.2两大核心组件:QEMU、KVM 4.2.1QEMU: 4.2.2KVM: 5、虚拟化类型 ①全虚拟化: …

MySQL-数据目录

一、MySQL的主要目录结构(MySQL 8) [rootlocalhost ~]# find / -name mysql find: ‘/proc/30845’: 没有那个文件或目录 find: ‘/proc/30855’: 没有那个文件或目录 /etc/logrotate.d/mysql /etc/selinux/targeted/active/modules/100/mysql /etc/sel…

国内开通chatgpt plus会员方法

ChatGPT镜像 今天在知乎看到一个问题:“平民不参与内测的话没有账号还有机会使用ChatGPT吗?” 从去年GPT大火到现在,关于GPT的消息铺天盖地,真要有心想要去用,途径很多,别的不说,国内GPT的镜像…

微软如何打造数字零售力航母系列科普02 --- 微软低代码应用平台加速企业创新 - 解放企业数字零售力

微软低代码应用平台推动企业创新- 解放企业数字零售力 微软在2023年GARTNER发布的魔力象限图中处于头部领先(leader)地位。 其LCAP产品是Microsoft Power Apps,扩展了AI Builder、Dataverse、Power Automate和Power Pages,这些都包…

【26考研】考研备考计划4.22开始

A海海: 408:重中之重,和数学同等地位!越早开始越好!前期直接跟着王道视频课学习,教材直接用王道四本书,顺序结构的话按照数据结构-计算机组成原理-操作系统-计算机网络的顺序来学习。刚开始学会感觉很吃力很难&#xf…

AutoCodeRover: Autonomous Program Improvement

AutoCodeRover:自主程序改进 Abstract 过去几十年来,研究人员在软件开发过程自动化方面取得了重大进展。大型语言模型 (LLM) 的最新进展对开发过程产生了重大影响,开发人员可以使用基于 LLM 的编程助手来实现自动化编码。然而,软…

【Ne4j图数据库入门笔记2】数据导入详解

2.1 导入 CSV 文件 Cypher中 LOAD CSV 的命令允许我们指定文件路径、标头与否、不同的值分隔符以及 Cypher 语句,用于我们如何在图形中对表格数据进行建模。 CSV 是逗号分隔值的文件,通常在 Excel 或其他电子表格工具中查看。可以有其他类型的值作为分…

spring.factories中配置ApplicationContextInitializer实现类却不起作用

自定义了一个ApplicationContextInitializer的实现类如下 public class MyApplicationContextInitializer implements ApplicationContextInitializer<ConfigurableApplicationContext> {Overridepublic void initialize(ConfigurableApplicationContext applicationCon…

Vue3 Vite配置环境变量

Vue3 Vite配置环境变量 相关文档配置.env文件vite.config.jspackage.json 使用 相关文档 Vite 官方中文文档&#xff1a;https://cn.vitejs.dev/环境变量和模式&#xff1a;https://cn.vitejs.dev/guide/env-and-mode.html#env-file在配置中使用环境变量&#xff1a;https://c…