數據庫面試常見問題

數據庫

Delete Truncate Drop 區別

答:這三個操作都是針對數據庫的表進行操作,都有刪除表的功能,其中的區別在于:

Delete:只將表中的數據進行刪除,不刪除定義不釋放空間,是dml語句,需要提交事務,如果不想刪除可以回滾。delete每次刪除一行,并在事務日志中為所刪除的每行記錄一項。數據兩大的情況下,執行速度相較于其他兩個而言較慢。

Truncate:僅僅刪除表中數據,不刪除定義但釋放表空間,是DDL語句,操作立刻生效,無法通過binlog回滾,會清空所有數據且速度較快。

Drop:表中的數據和表的結構都會被刪除,且釋放空間,是DDL語句,操作立刻生效,無法回滾,操作速度相較于其他兩個最快。

數據庫語句操作分類:DML,DDL,DCL,DQL,TCL

DML(數據操作語言):對表中的數據進行操作,語句包括增刪改查:insert,delete,update,select

DDL(數據定義語言):對表進行操作,語句包括:create,truncate,drop,alter

DCL(數據控制語言):用來管理數據庫用戶、控制數據庫的訪問權限:grant……to……,revoke……from……

DQL(數據查詢語言):執行順序:先從表中獲取數據(from),然后根據條件進行篩選(where),再根據分組字段進行分組(group by……having),查出數據(select),然后根據查到的數據進行排序(order by),最后進行分頁操作(limit)

SELECT
字段列表
FROM
表名列表
WHERE
條件列表
GROUP BY
分組字段列表
HAVING
分組后條件列表
ORDER BY
排序字段列表
LIMIT
分頁參數

常用函數

decode(條件,值1,返回值1,值2,返回值2,…值n,返回值n,缺省值)

nvl:nvl(string1, replace_with)

mod(m,n): m/n的余數

round(n,p): 四舍五入

length 長度

lower 小寫

upper 大寫

to_date 轉化日期

to_char 轉化字符

to_number 轉變為數字
ltrim/rtrim/trim 去左/右/中 空格

substr(c,p,n) 截取字符串,從p位開始截,包含p位,截取n位

KETTLE內存溢出解決方案

答:找到kettle的安裝路徑,找到spoon.bat,點擊進行編輯,找到對應的字段進行調整:-Xmx1024m 加大,最好是265m的整數倍,修改默認緩存條數(默認為1萬),雙擊Transformation空白地方,會彈出一個界面,修改Nr of rows in rowset值。

kettle中黃色的鎖,綠色的對勾,紅色的停止代表的意思

黃色的鎖:表示不論上一步是否執行成功,將會繼續向下執行,下一步可以正常執行

綠色的對勾:表示只有當上一步的任務執行成功并且沒有任何錯誤的時候才會執行下一步

紅色停止:表示當上一個作業項的執行結果為假或者沒有成功執行時,執行下一個作業項

雙斜線:并行啟動下一個條目,右鍵菜單launch next entries in parallel可以設置

Oracle的五種約束

  1. 非空(not null) 約束:不能為空;
  2. 主鍵(PRIMARY KEY)約束:唯一的標識表中的每一行;
  3. 唯一(UNIQUE)約束:每列字段的值不能相同;
  4. 外鍵(FOREIGN KEY)約束:用來維護從表與主表之間的引用完整性;
  5. 條件(CHECK)約束:表中每行都要滿足該約束條件

Oracle和MySQL的區別

1、Oracle是大型數據庫,而MySQL是中小型數據庫。

2、Oracle的內存占有量非常大,而mysql非常小

3、MySQL支持主鍵自增長,指定主鍵為auto increment,插入時會自動增長。Oracle主鍵一般使用序列。

4、group by用法:MySQL中group by在select語句中可以隨意使用,但是在Oracle中如果查詢語句中有組函數,那其他列名必須是組函數處理過的或者是group by子句中的列,否則報錯。

5、引號方面:MySQL中用雙引號包起字符串,Oracle中只可以用單引號包起字符串。

創建索引的優缺點

優點:
索引是數據庫優化
表的主鍵會默認自動創建索引
大量降低數據庫的IO磁盤讀寫成本,極大提高了檢索速度
索引事先對數據進行了排序,降低查詢是數據排序的成本,降低CPU的消耗
缺點:
索引本身也是一張表,該表保存

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/web/93910.shtml
繁體地址,請注明出處:http://hk.pswp.cn/web/93910.shtml
英文地址,請注明出處:http://en.pswp.cn/web/93910.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

用nohup setsid繞過超時斷連,穩定反彈Shell

在We滲透過程中,我們常常會利用目標系統的遠程代碼執行(RCE)漏洞進行反彈Shell。然而,由于Web服務器(如PHP、Python后端)的執行環境通常存在超時限制(如max_execution_time或進程管理策略&#…

Java設計模式-模板方法模式

Java設計模式-模板方法模式 模式概述 模板方法模式簡介 核心思想:定義一個操作中的算法骨架(模板方法),將算法中某些步驟的具體實現延遲到子類中完成。子類可以在不改變算法整體結構的前提下,重定義這些步驟的行為&…

Centos7物理安裝 Redis8.2.0

Centos7物理安裝 Redis8.2.0一、準備依賴環境首先安裝編譯 Redis 所需的依賴:# CentOS/RHEL系統 yum install -y gcc gcc-c make wget 二、下載并編譯 Redis 8.2.0# 1. 下載Redis 8.2.0源碼包 wget https://download.redis.io/releases/redis-8.2.0.tar.gz# 2. 解壓…

牛津大學xDeepMind 自然語言處理(3)

條件語言模型無條件語言模型 概率計算:通過鏈式法則分解為預測下一詞概率(將語言建模問題簡化為建模給定前面詞語歷史的下一個詞的概率)基于循環神經網絡的無條件語言模型:根據歷史詞語預測下一個詞的概率條件語言模型 定義&#…

Vue2.x核心技術與實戰(一)

目錄 一、Vue2.x:快速上手+插值表達式+指令上 1.1 Vue快速上手 1.1.1 Vue概念 1.1.2 創建實例 1.1.3 插值表達式 { { }} 1.1.4 響應式特性 1.1.5 開發者工具 1.2 Vue指令 1.2.1 v-html 1.2.3 v-show / v-if v-show v-if 1.2.4 v-else / v-else-if 1.2.5 v-on v…

SCAU學習筆記 - 自科三面前端方向實戰演示

本來是準備寫完二面直接開始寫算法三面的,maimai那個封面圖我都做好了。但是可惡的出題人說要等我出完解析再針對性避開出題,所以swan決定把那個先擱置,本文我們先以2023年的自科三面前端方向題為例帶各位快速入門前端三件套(因為…

前后端聯合實現文件上傳,實現 SQL Server image 類型文件上傳

1、前端 Vue3QualityFileInfoDialog.vue<script setup lang"ts" name"QualityFile"> ...... // 上傳&#xff0c;防抖 const onUploadClick debounce(() > {// 模擬點擊元素if (fileInputRef.value) {// 重置以允許重復選擇相同文件fileInputRef…

使用安卓平板,通過USB數據線(而不是Wi-Fi)來控制電腦(版本1)

這是一個對延遲和穩定性要求很高的場景。 核心原理是&#xff1a;利用USB數據線&#xff0c;在手機和電腦之間創建一個高速的“虛擬網絡連接”&#xff0c;然后在這個穩定的網絡通道上運行遠程控制軟件。 方案1&#xff1a; 在完全沒有無線網絡&#xff08;Wi-Fi&#xff09;和…

linux報permission denied問題

linux報permission denied問題 一般是沒有可執行權限&#xff0c;需要先添加執行權限 1. 確認文件權限 在你的項目目錄下執行&#xff1a; ls -l ./folder你可能會看到類似&#xff1a; -rw-r--r-- 1 user user 1234 Aug 18 12:00 script.sh注意&#xff1a;這里缺少 x&#xf…

Vue深入組件:組件事件詳解2

聲明觸發的事件 為了讓組件的用法更清晰(作為文檔),同時讓 Vue 能區分事件與透傳 attribute,推薦顯式聲明組件要觸發的事件。根據組件是否使用 <script setup>,聲明方式有所不同。 使用 <script setup> 時:defineEmits() 宏 在 <script setup> 中,…

FLASK項目快速構建

Flask 項目構建 exts.py # flask_sqlalchemy from flask_sqlalchemy import SQLAlchemy from flask_mail import Mail from flask_caching import Cache from flask_wtf import CSRFProtect from flask_avatars import Avatars from flask_jwt_extended import JWTManager from…

數據結構--2:ArrayList與順序表

1.順序表的創建 2.常見操作 3.遍歷 4.擴容機制 5.例子1.順序表的創建在集合框架中&#xff0c;ArrayList是?個普通的類&#xff0c;實現了List接口&#xff0c;具體框架圖如下&#xff1a;2.常見操作代碼…

【Kubesphere】K8s容器無法訪問內網xx網絡問題

問題遇到的現象和發生背景 Kubesphere中運行的一個容器&#xff0c;可以ping通我們公司內網網段172.16.XX.XX&#xff0c;但是在容器內無法ping通192.168.5.XX&#xff0c;但是我在宿主機是可以ping通192.168.5.XX&#xff0c;這個192.168.5.XX是通過xx設備接進來的&#xff0c…

【開發語言】Groovy語言:Java生態中的動態力量

博客目錄一、Groovy 的誕生與發展二、核心特性深度解析1. 與 Java 的無縫集成2. 動態類型與可選靜態類型3. 強大的集合操作三、Groovy 在實際開發中的應用場景1. 構建自動化&#xff08;Gradle&#xff09;2. 測試開發&#xff08;Spock 框架&#xff09;3. 腳本任務自動化四、…

Obsidian 1.9.10升級

概述 Obsidian發布了更新版本1.9.10&#xff0c;是一次比較大的升級&#xff0c;尤其是增加了一些以前沒有的核心插件&#xff0c;尤其是重磅的數據庫功能。雖然可能還是比較初期&#xff0c;但是這意味著OB還是往更好的方向進化了。 本文以一些目前的視頻教程加自己的實際上手…

內容審計技術

一、 內容審計需求背景1.網絡安全法要求明確責任人&#xff1a;制定內部安全管理制度和操作規程&#xff0c;落實安全保護責任。監測、記錄并保留日志&#xff1a;采取監測、記錄網絡運行狀態、網絡安全事件的技術措施&#xff0c;并按照規定留存相關網絡日志不少于六個月。采取…

反序列化漏洞

php反序列化 1.什么是序列化和反序列化 office word是程序 doc/docx是數據 保存word文件&#xff1a;程序--保存(序列化)-->數據文件 打開word文件&#xff1a;程序--加載數據文件-->還原(反序列化) 游戲存檔&#xff1a;角色等級&#xff0c;任務&#xff0c;人物坐…

Lecture 4 Mixture of experts課程筆記

什么是MoE?用&#xff08;多個&#xff09;大型前饋網絡和一個選擇器層取代大型前饋網絡。你可以在不影響浮點運算次數的情況下增加專家數量。 MoE受歡迎的原因 相同的浮點運算次數&#xff0c;更多的參數表現更好訓練混合專家模型&#xff08;MoEs&#xff09;速度更快訓練混…

微服務架構的演進:從 Spring Cloud Netflix 到云原生新生態

過去十年,Spring Cloud 憑借 Netflix 全家桶(Eureka、Ribbon、Hystrix、Zuul 等)幾乎成為 Java 微服務的事實標準。但隨著這些核心組件逐步停止更新或進入維護模式,微服務架構正經歷一場深刻的演進。新的微服務架構更加注重 云原生兼容性、社區活躍度、企業級穩定性和低運維…

網絡流量分析——基礎知識

文章目錄所需技能和知識TCP/IP 堆棧和 OSI 模型基本網絡概念常用端口和協議IP 數據包和子層的概念協議傳輸封裝環境與設備常見的流量分析工具BPF 語法執行網絡流量分析NTA工作流程NTA工作流程網絡 - 第 1-4 層OSI / TCP-IP 模型尋址機制MAC地址IP 尋址IPv4IPv6IPv6 尋址類型IPv…