常用數據庫

模式的定義于刪除

1.定義模式

CREATE SCHEMA [ <模式名> ]  AUTHORIZATION < 用戶名 >;

要創建模式,調用該命令的用戶必須擁有數據庫管理員權限,或者獲得了DBA授權


eg:為用戶WANG定義一個模式S-C-SC

CREATE SCHEMA "S-C-SC" AUTHORIZATION WANG;

定義模式實際上定義了一個命名空間,在這個空間中可以進一步定義該模式包含的數據庫對象,如基本表、視圖、索引等。

2.刪除模式

DROP SCHEMA <模式名><CASCADE|RESTRICT>

其中CASCADE和RESRICT兩者必選其一。CASCADE(級聯),表示在刪除模式的同時把該模式中所有的數據庫對象全部刪除。RESTRICT(限制),表示如果該模式中已經定義了數據庫對象,則拒絕該刪除語句的執行。


eg: 刪除創建的模式Test

DROP SCHEMA Test CASCADE;

基本表的定義、刪除與修改

1.定義基本表

CREATE TABLE <表名>(<列名><數據類型>[列級完整性限制])……[,<表級完整性約束>];

eg:建立一個學生表Student

CREATE TABLE Student(Sno CHAR(8) PRIMARY KEY,//列級完整性約束,Sno是主碼Sname VARCHAR(20) UNIQUE,//Sname取唯一值Ssex CHAR(6),Sbirthday Date,Smajor VARCHAR(40));

每一個基本表都屬于某一個模式,一個模式包含多個基本表。

2.修改基本表

ALTER TABLE <表名>[ADD[COLUMN]<新列名><數據類型>[完整性約束] //增加新的一列[DROP[COLUMN]<列名>[CASCADE|RESREICT]]	//刪除一列[RENAME COLUMN <列名> TO <新列名>]		//重命名列[ALTER COLUMN <列名> TYPE <數據類型>]//修改列的數據類型

3.刪除基本表

DROP TABLE <表名>[RESTRICT|CASCADE]

如果選擇RESTRICT,則該表的刪除有限制條件,即該表不能被其他表的約束所引用,不能有視圖,不能有觸發器,不能有存儲過程或函數等。

索引的建立與刪除

1.索引(空間換時間)

當表的數據量很大時,查詢操作會比較耗時。建立索引可以加快查詢速度

常見的索引結構包括順序表索引、B+樹索引、哈希索引、位圖索引等。索引文件由屬性值和相應的元組指針組成。

索引需要占用一定的存儲空間,當基本表更新時,索引需要進行相應的維護。

2.建立索引

CREATE [UNIQUE][CLUSTER] INDEX <索引名> 
ON <表名>(<列名>[次序]……)

eg:按學生姓名升序建立唯一索引

CREATE UNIQUE INDEX Idx_StuSname ON Student(Sname);

3.修改索引

ALTER INDEX <舊索引名> RENAME TO <新索引名>

4.刪除索引

DROP INDEX <索引名>

數據查詢

SELECT[ALL|DISTINCT]<目標列表達式>[別名]……
FROM <表名或視圖名>[別名]
[WHERE <條件表達式>]
[GROUP BY <列名1>[HAVING <條件表達式>]]
[ORDER BY <列名2>[ASC|DESC]]
[LIMIT <行數1>[ OFFSET<行數2>]];

例子:


查詢全體學生的學號與姓名

SELECT Sno,Sname FROM Student;

查詢全體學生的詳細記錄

SELECT * FROM Student;

去掉結果中的重復行

SELECT DISTINCT Sno
FROM SC;

查詢主修計算機科學與技術專業全體學生的姓名

SELECT Sname
FROM Student
WHERE Smajor='計算機科學與技術';

查詢計算機科學與技術專業和信息安全專業的學生的姓名及性別

SELECT Sname,Ssex
FROM Student
WHERE Smajor IN ('計算機科學與技術','信息安全');

字符匹配

  • %代表任意長度(長度可以為0)的字符串
  • _代表任意單個字符

查詢所有姓劉的學生的姓名、學號和性別

SELECT Sname,Sno,Ssex
FROM Student
WHERE Sname LIKE '劉%';

涉及空值的查詢

查詢缺少成績的學生的學號和相應的課程號

SELECT Sno,Cno
FRON SC
WHERE Grade IS NULL;

注意這里的IS不能用=替代


聚集函數

COUNT (*)						//統計元組個數
COUNT([DISTINCT|ALL]<列名>)		//統計一列的值的個數
SUM([DISTINCT|ALL]<列名>)		
AVG([DISTINCT|ALL]<列名>)
MAX([DISTINCT|ALL]<列名>)
MIN([DISTINCT|ALL]<列名>)

WHERE子句不能直接用聚集函數作為條件表達式。聚集函數只能用于SELECT子句和GROUP BY子句中的HAVING短語。


GROUP BY
查詢平均成績大于或等于90分的學生學號和平均成績

SELECT Sno,AVG(Grade)
FROM SC
GROUP BY Sno
HAVING AVG(Grade)>=90;

數據更新

1.插入數據

INSERT INTO <表名>[(<屬性列1>)]
VALUES (<常量1>……);

2.修改數據

UPDATE <表名>
SET <列名>=<表達式>
[WHERE <條件>];

eg:將學生2018001的出生日期改為2001-3-18

UPDATE Student
SET Sbirthday='2001-3-18'
WHERE Sno='2018001';

3.刪除數據

DELETE FROM <表名>
[WHERE <條件>];

eg: 刪除計算機科學與技術專業所有學生的選課記錄

DELETE FROM SC
WHERE Sno IN(SELECT SnoFROM StudentWHERE Smajor='計算機科學與技術');

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

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

相關文章

Processor System Reset IP 核 v5.0(vivado)

這個IP的作用&#xff0c;我的理解是&#xff0c;比普通按鍵復位更加高效靈活&#xff0c;可以配置多個復位輸出&#xff0c;可以配置復位周期。 1、輸入信號&#xff1a; 重要的信號有時鐘clk信號&#xff0c;一般連接到系統時鐘&#xff1b;輸入復位信號&#xff0c;一般是外…

3月29日星期六今日早報簡報微語報早讀

3月29日星期六&#xff0c;農歷三月初一&#xff0c;早報#微語早讀。 1、全國公立醫療機構自3月31日起全面停止收取門診預交金&#xff1b; 2、永輝超市“胖東來調改店”已達47家店 一線員工薪酬漲幅50%以上&#xff1b; 3、兩孩家庭補10萬&#xff0c;三孩家庭補20萬&#…

pyinstaller 對 pyexecjs模塊打包老會有終端框閃爍

解決辦法&#xff1a; 修改 execjs 源代碼 具體步驟 1. 在 execjs 源文件中&#xff0c;找到 _external_runtime.py 文件中的以下代碼 p Popen(cmd, startupinfostartupinfo, stdinPIPE, stdoutPIPE, stderrPIPE, cwdself._cwd,universal_newlinesTrue)2. 修改為&#xff…

代碼隨想錄day2 數組總結

1.二分查找 2.快慢 雙指針 代碼隨想錄day1-CSDN博客 3.滑動窗口 滑動窗口就是有一個起始位置&#xff0c;一個終止位置&#xff0c;通過調節起始位置和終止位置得到我們想要的結果。 外面一層for循環 用來更新終止位置 不滿足條件 終止位置右移 里面一層while循環 …

MAC安裝docker 后提示com.docker.vmnetd”將對您的電腦造成傷害

出現“com.docker.vmnetd”將對您的電腦造成傷害的提示&#xff0c;通常是由于文件簽名問題導致 macOS 的安全系統誤判 Docker 為惡意軟件。以下是解決方法&#xff1a; 停止相關服務并刪除文件 運行以下命令停止相關服務并刪除有問題的文件 停止 Docker 服務 sudo pkill ‘…

Redis-常用命令

目錄 1、Redis數據結構 2、命令簡介 2.1、通用命令 DEL EXISTS EXPIRE 2.2、String命令 SET和GET MSET和MGET INCR和INCRBY和DECY SETNX SETEX 2.3、Key的層級結構 2.4、Hash命令 HSET和HGET HMSET和HMGET HGETALL HKEYS和HVALS HINCRBY HSETNX 2.5、List命…

每日一題之既約分數

題目描述 本題為填空題&#xff0c;只需要算出結果后&#xff0c;在代碼中使用輸出語句將所填結果輸出即可。 如果一個分數的分子和分母的最大公約數是 1&#xff0c;這個分數稱為既約分數。 例如 3/4,1/8,7/1?&#xff0c; 都是既約分數。 請問&#xff0c;有多少個既約分…

Java 圖片壓縮:高效壓縮方案解析

目錄 一、基于OpenCV的智能尺寸壓縮(一)代碼示例(二)技術亮點(三)適用場景二、WebP高效格式轉換(一)代碼示例(二)核心優勢(三)性能對比三、基于Thumbnailator的簡單壓縮(一)代碼示例(二)技術亮點(三)適用場景四、方案選型建議一、基于OpenCV的智能尺寸壓縮 …

鴻蒙Next-集成HmRouter的路由模式

第一步&#xff1a;全局安裝hmrouter依賴 ohpm install hadss/hmrouter第二步&#xff1a;修改全局的hvigor-config.json5(加入hm-router插件) hvigor/hvigor-config.json5 {"modelVersion": "5.0.1","dependencies": {"hadss/hmrouter-…

uni-app:指引蒙層

組件說明 指引蒙層組件: 通過id標簽,突出對應id中的模塊; 可以自定義提示詞。 點擊任意位置關閉蒙層 效果展示和使用示例 切換id之后的效果: 代碼實現 <template><view class="guide-mask" v-if="showMask" @click="hideMask"&g…

基于Java與Go的下一代DDoS防御體系構建實戰

引言:混合云時代的攻防對抗新格局 2024年某金融平臺遭遇峰值2.3Tbps的IPv6混合攻擊,傳統WAF方案在新型AI驅動攻擊面前全面失效。本文將以Java與Go為技術棧,揭示如何構建具備智能決策能力的防御系統。 一、攻擊防御技術矩陣重構 1.1 混合攻擊特征識別 攻擊類型Java檢測方案…

大數據Spark(五十五):Spark框架及特點

文章目錄 Spark框架及特點 一、Spark框架介紹 二、Spark計算框架具備以下特點 Spark框架及特點 一、Spark框架介紹 Apache Spark 是一個專為大規模數據處理而設計的快速、通用的計算引擎。最初由加州大學伯克利分校的 AMP 實驗室&#xff08;Algorithms, Machines, and Pe…

ubuntu 升級補丁,備份備份備份

一、常規軟件包更新&#xff08;安全補丁和軟件升級&#xff09; 更新軟件包列表 從軟件源服務器獲取最新的軟件包信息&#xff1a; sudo apt update升級已安裝的軟件包 安裝所有可用的更新&#xff08;安全補丁、功能更新&#xff09;&#xff1a; sudo apt upgrade處理依賴…

CubeMx——串口與 printf 打印

CubeMx 配置 fputc 實現 /* USER CODE BEGIN 0 */ #include <stdio.h> /* USER CODE END 0 *//* USER CODE BEGIN 1 */ int fputc(int ch, FILE *f) {/* Place your implementation of fputc here *//* e.g. write a character to the USART */uint8_t send_data ch;HA…

多線程 -- Thread類

Thread 的常見構造方法 最后一個構造方法中的 ThreadGroup 線程組是 Java 中的概念&#xff0c;和系統內核中的線程組不是一個東西。我們自己創建的線程&#xff0c;默認是按照 Thread- 0 1 2 3 4...命名。但我們也可以給不同的線程&#xff0c;起不同的名字&#xff08;不同的…

Java基礎關鍵_032_反射(二)

目 錄 一、反射 Class 的 Method 1.反編譯 String 類的方法簽名 2.通過反射調用方法 3.反編譯 String 類的構造方法簽名 4.通過反射調用構造方法 二、類加載過程 1.裝載&#xff08;Loading&#xff09; &#xff08;1&#xff09;說明 &#xff08;2&#xff09;雙親委…

《數據結構:單鏈表》

“希望就像星星&#xff0c;或許光芒微弱&#xff0c;但永不熄滅。” 博主的個人gitee&#xff1a;https://gitee.com/friend-a188881041351 一.概念與結構 鏈表是一種物理存儲上非連續、非順序的存儲結構&#xff0c;數據元素的順序邏輯是通過鏈表中的指針鏈接次序實現的。 單…

藍橋杯 - 中等 - 絕美宋詞

介紹 “今宵酒醒何處&#xff0c;楊柳岸曉風殘月”&#xff0c;“驀然回首&#xff0c;那人卻在燈火闌珊處”&#xff0c;“試問閑愁都幾許&#xff1f;一川煙草&#xff0c;滿城風絮&#xff0c;梅子黃時雨” ...... 宋詞可謂是古代文學桂冠上一顆璀璨的明珠&#xff0c;本題…

JDBC、excute()、DriveManager、Connection、Statement、自建JDBC工具類、占位符

DAY19.2 Java核心基礎 JDBC JDBC&#xff1a;Java database Connectivity JDBC是java程序連接各種數據庫的組件 Mybatis就是基于JDBC的封裝&#xff0c;是獨立于數據庫的管理系統&#xff0c;通用的SQL數據庫存取和操作的公共接口 定義了一套標準&#xff0c;為訪問 不同數…

21天Python計劃:函數簡單介紹

文章目錄 前言一、函數知識體系二、函數基礎函數的定義和調用函數參數 三、函數對象、函數嵌套、名稱空間與作用域、裝飾器函數對象函數嵌套名稱空間與作用域裝飾器 四、迭代器、生成器、面向過程編程迭代器生成器面向過程編程 五、三元表達式、列表推導式、生成器表達式、遞歸…