.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.mfbz.cn/a/582469.html

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

相关文章

unittest_parameterized批量测试测试用例

import unittest from parameterized import parameterizeddef add(x, y):return xy"""问题:如果有三组数据需要测试?[(1,1,2), (1,2,3), (0,3,3)] """def get_data():return [(1, 2, 3), (3, 0, 3), (2, 1, 3)]# 定义测试…

第3篇:创建Nios II工程之Hello_World<二>

Q:上一期介绍完基本设计流程和实验原理,接着我们完成系统硬件设计部分,包括Platform Designer系统及Quartus工程。 A:依次搜索并添加Nios II Processor、JTAG UART、On-Chip Memory和System ID IP组件,连接各组件并As…

C#窗体控件ColorDialog

介绍 可以获取颜色,然后对其他控件的颜色属性进行设置。 构造方式 直接把ColorDialog控件拖动到Form窗口。 常用属性 AllowFullOpen 可以控制是否使用自定义颜色,true表示可使用,否,表示不可使用。 AnyColor 如果为tr…

Leetcode—682. 棒球比赛【简单】(stoi函数、accumulate函数)

2024每日刷题&#xff08;120&#xff09; Leetcode—682. 棒球比赛 实现代码 class Solution { public:int calPoints(vector<string>& operations) {vector<int> v;for(const string& oper: operations) {if(oper "") {v.push_back(v.back(…

渗透新思路 | 仿真环境下内存转储分析和模糊测试的全记录

本文由安全研究人员hugsy于2024年03月26日更新并发表于blahcat博客上&#xff0c;本文主要记录了其在进行内存安全和模糊测试任务时发现的一些技术实现方式&#xff0c;主要讨论的是仿真环境下内存转储分析和模糊测试方法。本文旨在为红队和蓝队研究人员提供新的思路&#xff0…

数字化技术可以促进中国企业创新吗?

数字化技术可以显著促进中国企业的创新。数字化技术&#xff0c;包括人工智能&#xff08;AI&#xff09;、区块链&#xff08;Blockchain&#xff09;、云计算&#xff08;Cloud computing&#xff09;、大数据&#xff08;big Data&#xff09;等&#xff0c;被称为ABCD技术&…

TruLens

文章目录 一、关于 TruLensHow it works 二、安装三、快速使用Get DataInCreate Vector StoreBuild RAG from scratchSet up feedback functions.Construct the appRun the app 一、关于 TruLens Evaluate and Track LLM Applications 官网&#xff1a;https://www.trulens.o…

【Redis 开发】详细搭建Redis主从,并了解数据同步原理

Redis主从搭建 Redis主从搭建Redis的主从架构数据全同步原理数据的增量同步优化Redis主从集群 Redis主从 搭建Redis的主从架构 主从节点可以实现读写分离&#xff0c;将都大量的读操作分担与诸多从节点当中去 从节点可以叫做slave或者replica 如何搭建&#xff1a; 在一台…

node 项目启动报 ERROR Failed to compile with 1 errors 错误

问题 node项目通过npm run dev启动时出现ERROR Failed to compile with 1 errors 错误&#xff0c;具体信息如下&#xff1a; ✖ WebpackCompiled with some errors in 366.81msERROR Failed to compile with 1 errors …

如何买到“30元以下”的免备案服务器?

对于预算有限的个人和小型企业来说&#xff0c;30 元以下免备案服务器的价格非常亲民。用户可以以极低的成本获得所需的服务器资源&#xff0c;这对创业者、个人开发者、学生和站长来说简直不要太划算&#xff0c;毕竟配置可以升级真不够后面再付费升级也行。 何为“免备案”&…

xLua背包实践

准备工作 环境&#xff0c;代码 在C#代码方面我们需要准备单例模式基类&#xff0c;AB包管理器&#xff0c;lua解析器管理器 详情请见AB包管理器 xlua详解 然后是Xlua包和AB包&#xff0c;具体导入方法也在上面的链接中 然后是lua的三个文件 具体代码&#xff1a; JsonUtil…

主观赋权法、客观赋权法、组合赋权法、评价指标体系构建

在科研领域&#xff0c;为了对某个研究主题进行深入的探讨和评估&#xff0c;我们往往需要构建一套科学合理的评价体系&#xff0c;并为其中的各项评价指标赋予相应的权重。比如&#xff0c;在评价一项新技术的性能时&#xff0c;我们可能会考虑其创新性、实用性、成本效益等多…

git的学习笔记

git的学习使用 参考了书和好多网上搜到的连接&#xff0c;忘了记录参考的了&#xff0c;太多了&#xff08;&#xff09;捋出来一个大致的较为全面的git个人使用流程。 &#xff08;一&#xff09;基本操作&#xff1a; 安装配置好git 创建目录 init 初始化一个仓库&#xff0…

Golang | Leetcode Golang题解之第55题跳跃游戏

题目&#xff1a; 题解&#xff1a; // 贪心算法 func canJump(nums []int) bool {cover : 0n : len(nums)-1for i : 0; i < cover; i { // 每次与覆盖值比较cover max(inums[i], cover) //每走一步都将 cover 更新为最大值if cover > n {return true}}return false } …

2024通信会|迈向智慧配电网建设新时代,锐捷网络发布双平面配电通信解决方案

近期,以“加快推进通信数智化,助力构建新型能源体系”为主题的2024年能源网络通信创新应用大会在四川成都圆满结束,会议围绕构建新型能源体系和新型电力系统建设需求,探讨能源网络通信创新应用的最新趋势与成果、“主、配、微”通信网一体化融合、配电通信网、通信数智化转型等…

41-数组 _ 数组作为函数参数

41-1 冒泡排序函数的设计 数组传参的时候&#xff0c;形参有2种写法&#xff1a; 1、数组 2、指针 往往我们在写代码的时候&#xff0c;会将数组作为参数传个函数 如&#xff1a;实现一个冒泡排序&#xff0c;将数组的数据排成升序 冒泡排序的核心思想&#xff1a; 1、两…

NGINX发布动态页面的方法

一、建立 [rootserver100 html]# vim index.php [rootserver100 html]# pwd /usr/share/nginx/html 二、下载PHP文件 [rootserver100 conf.d]# dnf install php.x86_64 -y 正在更新 Subscription Management 软件仓库。 无法读取客户身份 本系统尚未在权利服务器中注册。可…

国内十大CRM软件盘点2024:专家推荐+用户真实反馈

Zoho CRM软件即客户关系管理系统&#xff0c;这个概念自1999年由GartnerGroup公司提出以来逐渐演变&#xff0c;最初是为了填补ERP系统在客户关系管理方面的缺失&#xff0c;后来发展成了企业战略中不可或缺的工具。随着企业对客户管理的重视程度不断提升&#xff0c;越来越多的…

Socket套接字(UDP数据报)篇

Socket 概念数据报套接字DatagramSocketDatagramPacketInetSocketAddress 小结 概念 Socket套接字,是由系统提供用于网络通信的技术,是基于TCP/IP协议的网络通信的基本操作单元. 基于Socket套接字的网络程序开发就是网络编程. 数据报套接字 使用的是UDP(User Datagram Protocol…

IGM焊接机器人RTE 495伺服电机维修详情一览

在当今科技迅速发展的时代&#xff0c;机器人已成为各行各业不可或缺的重要工具。IGM机器人便是其中之一&#xff0c;其工业机械手伺服马达作为机器人的关键部件&#xff0c;确保机器人能够高效、稳定地运行。当出现IGM焊接机器人RTE 495伺服电机故障问题时&#xff0c;及时进行…
最新文章