數據庫、數據表的基本操作

1.數據庫的基本操作
(1)創建數據庫

(2)刪除數據庫

(3)將數據庫的字符集修改為gbk

gbk是漢字內碼擴展規范,是GB2312和GB13000的擴展,主要用于簡體中文。

(4)切換數據庫

2.數據表的基本操作

數據庫中的數據表是數據庫結構的基本組成部分,用于存儲數據的集合。數據表通常也被稱為關系、表或簡單稱為表。以下是數據表的一些基本概念:

  1. 結構化數據:數據表以結構化的方式存儲數據,通常由行(記錄)和列(字段)組成。每一列代表數據的一個特定屬性,每一行代表一個數據項。

  2. 列(字段):數據表的每一列都有一個特定的數據類型,如整數、浮點數、字符串、日期等,這決定了該列可以存儲哪些類型的數據。

  3. 行(記錄):數據表的每一行代表一個數據記錄。例如,在一個員工表中,每一行可能代表一個員工的詳細信息。

  4. 主鍵:數據表中的一列或多列可以被指定為主鍵,用于唯一標識表中的每條記錄。主鍵的值必須是唯一的,不能為NULL。

  5. 外鍵:外鍵是表中的一列或多列,它在另一個表的主鍵中存在,用于建立兩個表之間的關聯。

  6. 索引:為了提高查詢效率,可以在數據表的列上創建索引。索引可以幫助數據庫管理系統快速定位到表中的特定數據。

  7. 約束:約束用于限制可以插入表中的數據的類型。常見的約束包括非空(NOT NULL)、唯一(UNIQUE)、主鍵(PRIMARY KEY)和外鍵(FOREIGN KEY)。

  8. 表關系:數據表之間可以存在不同的關系,如一對一、一對多和多對多關系。這些關系通過外鍵約束來實現。

  9. 視圖:視圖是基于查詢的表的表示形式,它像一個虛擬表,可以包含來自一個或多個數據表的數據。

  10. 存儲過程和觸發器:存儲過程是一組為了執行特定任務而預編譯的SQL語句,而觸發器是與表相關聯的特殊的存儲過程,它在特定數據庫操作(如INSERT、UPDATE或DELETE)執行時自動觸發。

  11. 規范化:數據庫規范化是設計數據庫表的過程,目的是減少數據冗余和提高數據完整性。

  12. 數據完整性:數據表設計時需要考慮數據完整性,確保數據的準確性和一致性。

數據表是數據庫操作的核心,通過它們可以執行插入、查詢、更新和刪除操作。設計良好的數據表結構可以提高數據庫的性能和可維護性。

注意:在操作數據表之前應使用“USE 數據庫名;”指定操作是在哪個數據庫中進行先關操作,否則會拋出“No database selected”錯誤。

(1)創建數據表

(2)查看數據表,查看表達字段信息

(3)修改數據表

3.數據表的約束
(1)主鍵約束

在MySQL中,主鍵(Primary Key)是一種特殊的唯一性約束,用于唯一標識表中的每條記錄。主鍵在數據庫表中扮演著重要的角色,以下是主鍵的一些關鍵特性和作用:

  1. 唯一性:主鍵的值必須是唯一的,不能有重復的記錄。這意味著表中的每一行都有一個不同的主鍵值。

  2. 非空(NOT NULL):主鍵列不能接受NULL值。每個記錄都必須有一個有效的主鍵值。

  3. 唯一標識:主鍵用于唯一標識表中的每一行,是數據表中記錄的唯一標識符。

  4. 性能優化:主鍵通常被用來創建索引,這可以提高查詢效率。

  5. 外鍵關聯:主鍵可以被其他表的外鍵引用,以建立表之間的關系。

  6. 自動增長:在MySQL中,如果需要,可以設置主鍵列為自增(AUTO_INCREMENT)。這樣,每次插入新記錄時,主鍵列的值會自動遞增,無需手動指定。

  7. 一個表只有一個主鍵:雖然一個表可以有多個唯一索引,但只能有一個主鍵。

  8. 數據完整性:主鍵約束有助于維護數據的完整性,確保每個記錄都可以被唯一地識別。

  9. 索引順序:在MySQL的InnoDB存儲引擎中,如果沒有特別指定,主鍵將被用作表的聚簇索引(clustered index)。

(2)非空約束

(3)默認值約束

(4)唯一性約束

(5)外鍵約束

外鍵約束即FOREIGN KEY常用于多張表之間的約束。

外鍵約束(Foreign Key Constraint)在數據庫管理系統中用于維護不同數據表之間的鏈接和數據的引用完整性。以下是外鍵約束的主要用途:

  1. 維護引用完整性: 外鍵約束確保一個表中的每條記錄在另一個表中都有對應的引用。這有助于保持數據的一致性和準確性。

  2. 建立表之間的關系: 外鍵用于在兩個表之間建立鏈接,通常是一個表的某個字段指向另一個表的主鍵。

  3. 數據完整性: 外鍵約束強制實施數據完整性規則,防止無效或不一致的數據被插入到數據庫中。

  4. 級聯操作: 外鍵約束可以定義級聯規則,例如,當主鍵表中的記錄被更新或刪除時,外鍵表中相應的記錄可以自動更新或刪除。

  5. 簡化查詢: 通過外鍵關系,可以簡化連接查詢,因為數據庫可以更容易地識別表之間的關系。

  6. 數據一致性: 在分布式數據庫系統中,外鍵約束有助于保持數據的一致性,即使數據分布在不同的地理位置。

  7. 防止孤立記錄: 外鍵約束可以防止在刪除主鍵表中的記錄時,外鍵表中仍然存在指向該記錄的引用,從而避免孤立記錄的產生。

  8. 提供數據導航: 外鍵關系為數據庫提供了一種導航方式,使得從一個表到另一個表的數據訪問更加直觀和方便。

  9. 優化性能: 在某些情況下,外鍵可以作為數據庫查詢優化的一部分,幫助數據庫管理系統更有效地組織數據和索引。

  10. 支持事務: 外鍵約束支持事務性操作,確保數據庫操作的原子性,一致性,隔離性和持久性(ACID屬性)。

  11. 數據建模: 在數據庫設計階段,外鍵約束是數據模型中的重要部分,有助于定義數據表之間的關系。

外鍵約束是關系型數據庫管理系統中的一個基本特性,對于確保數據庫中數據的完整性和一致性至關重要。在設計數據庫時,合理使用外鍵可以大大提高數據管理的效率和質量。

-- 在創建數據表時語法如下:
CONSTRAINT 外鍵名 FOREIGN KEY (從表外鍵字段) REFERENCES 主表 (主鍵字段)
-- 將創建數據表創號后語法如下:
ALTER TABLE 從表名 ADD CONSTRAINT 外鍵名 FOREIGN KEY (從表外鍵字段) REFERENCES 主表 (主鍵字段);

4.數據一致性

建立外鍵是為了保證數據的完整和統一性。但是,如果主表中的數據被刪除或修改從表中對應的數據該怎么辦呢?很明顯,從表中對應的數據也應該被刪除,否則數據庫中會存在很多無意義的垃圾數據。

(1)刪除外鍵

注意:

1、從表里的外鍵通常為主表的主鍵
2、從表里外鍵的數據類型必須與主表中主鍵的數據類型一致
3、主表發生變化時應注意主表與從表的數據一致性問題

5.數據表插入數據
(1)為表中所有字段插入數據

6.更新數據
(1)update更新部分數據

(2)update更新全部數據

6.刪除數據
(1)delete刪除部分數據

(2)delete刪除全部數據

7.數據表簡單查詢
(1)查詢所有

(2)查詢指定的字段

(3)從查詢結果中過濾重復數據

(4)算數運算符

8.聚合函數
(1)count()統計該查詢表中有多少人

(2)用max()和min()查詢該表中年齡最大和最小的

(3)計算指定列表的數值和

(4)計算指定列表的平均值

9.根據條件查詢

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

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

相關文章

LabVIEW在高校電力電子實驗中的應用

概述:本文介紹了如何利用LabVIEW優化高校電力電子實驗,通過圖形化編程實現參數調節、實時數據監控與存儲,并與Simulink聯動,提高實驗效率和數據處理能力。 需求背景高校實驗室在進行電機拖動和電力電子實驗時,通常使用…

前端框架安全防范

前端框架安全防范 在現代Web開發中,前端框架如Angular和React已經成為構建復雜單頁面應用(SPA)的主流工具。然而,隨著應用復雜度的增加,安全問題也變得越來越重要。本文將介紹如何在使用Angular和React框架時&#xf…

Java中的synchronized關鍵字詳解

Java中的synchronized關鍵字詳解 1. 引言 在Java編程中,多線程是提高應用性能的重要手段之一。然而,多線程環境下共享資源的訪問控制成為必須面對的問題。synchronized關鍵字作為Java語言提供的一種同步機制,能夠有效地解決這一問題。本文將…

施耐德 BAS PLC 基本操作指南

CPU 型號 項目使用的 PLC 型號為:施耐德昆騰 Quantum 140 CPU 67160 P266 CPU ,支持熱備冗余,內部存儲 1024K,支持 2 個 PCMCIA 擴展卡槽CPU 模塊自帶接口:MB 串口接口、MB 串口接口、USB 接口、以太網接口&#xff…

MATLAB算法實戰應用案例精講-【數模應用】聯合分析(附python和MATLAB代碼實現)

目錄 前言 算法原理 什么是聯合分析? 聯合分析的基本原理與步驟

【HarmonyOS】List組件多層對象嵌套ForEach渲染更新的處理

【HarmonyOS】List組件多層對象嵌套ForEach渲染更新的處理 問題背景: 在鴻蒙中UI更新渲染的機制,與傳統的Android IOS應用開發相比。開發會簡單許多,開發效率提升顯著。 一般傳統應用開發的流程處理分為三步:1.畫UI,…

TiDB-從0到1-分布式存儲

TiDB從0到1系列 TiDB-從0到1-體系結構TiDB-從0到1-分布式存儲TiDB-從0到1-分布式事務TiDB-從0到1-MVCC 一、TiDB-DML語句執行流程(增刪改) DML流程概要 1、協議驗證 用戶連接到TiDB Server后首先工作的是Protocol Layer模塊,該模塊會對用…

mysql表字段超過多少影響性能 mysql表多少效率會下降

一直有傳言說,MySQL 表的數據只要超過 2000 萬行,其性能就會下降。而本文作者用實驗分析證明:至少在 2023 年,這已不再是 MySQL 表的有效軟限制。 傳言 互聯網上有一則傳言說,我們應該避免單個 MySQL 表中的數據超過 …

內網滲透-在HTTP協議層面繞過WAF

進入正題,隨著安全意思增強,各企業對自己的網站也更加注重安全性。但很多web應用因為老舊,或貪圖方便想以最小代價保證應用安全,就只僅僅給服務器安裝waf。 本次從協議層面繞過waf實驗用sql注入演示,但不限于實際應用…

[數據集][目標檢測]輪胎檢測數據集VOC+YOLO格式439張1類別

數據集格式:Pascal VOC格式YOLO格式(不包含分割路徑的txt文件,僅僅包含jpg圖片以及對應的VOC格式xml文件和yolo格式txt文件) 圖片數量(jpg文件個數):439 標注數量(xml文件個數):439 標注數量(txt文件個數):439 標注類別…

mysql怎么部署雙機

MySQL的雙機部署是為了實現數據的高可用性和容錯性。以下是MySQL雙機熱備部署的基本步驟,我會盡量清晰地分點表示和歸納: 1. 環境準備 安裝MySQL:在兩臺服務器上分別安裝MySQL數據庫。確保版本兼容。 網絡配置:確保兩臺服務器之…

題目:判斷一個素數能被幾個9整除

題目:判斷一個素數能被幾個9整除 There is no nutrition in the blog content. After reading it, you will not only suffer from malnutrition, but also impotence. The blog content is all parallel goods. Those who are worried about being cheated should …

顛仆流離學二叉樹2 (Java篇)

本篇會加入個人的所謂魚式瘋言 ??????魚式瘋言:??????此瘋言非彼瘋言 而是理解過并總結出來通俗易懂的大白話, 小編會盡可能的在每個概念后插入魚式瘋言,幫助大家理解的. 🤭🤭🤭可能說的不是那么嚴謹.但小編初心是能讓更多人…

泛型知識匯總

演示代碼&#xff1a; package exercise;import java.util.Arrays;public class MyArrayList<E> {Object[] obj new Object[10];int size;public boolean add(E e) {obj[size] e;size;return true;}public E get(int index) {return (E) obj[index];}//沒有這個函數&a…

現代信號處理12_譜估計的4種方法(CSDN_20240602)

Slepian Spectral Estimator(1950) 做譜估計的目標是盡可能看清楚信號功率譜在某一個頻率上的情況&#xff0c;假設我們想了解零頻時的分布&#xff0c;最理想的情況是濾波器的傳遞函數H(ω) 是一個沖激函數&#xff0c;這樣就沒有旁瓣&#xff0c;也就沒有泄漏&#xff1b;其次…

【OpenHarmony】TypeScript 語法 ③ ( 條件語句 | if else 語句 | switch case 語句 )

文章目錄 一、條件語句1、if else 語句2、switch case 語句 參考文檔 : <HarmonyOS第一課>ArkTS開發語言介紹 一、條件語句 1、if else 語句 TypeScript 中的 if 語句 / if else 語句 用法 , 與 JavaScript 語言中的 if 語句 / if else 語句 語法 基本相同 ; if else 語…

使用Java構建RESTful API:實現靈活、可擴展的Web服務

RESTful API已經成為構建現代Web應用的標準之一&#xff0c;它通過簡單的HTTP協議進行通信&#xff0c;提供了一種輕量級、靈活、可擴展的方式來構建和管理Web服務。Java作為一種強大的編程語言&#xff0c;提供了許多框架和庫來幫助開發者構建高效的RESTful API。本文將探討如…

項目質量管理

目錄 1.概述 2.三個關鍵過程 2.1.規劃質量管理&#xff08;Plan Quality Management&#xff09; 2.2.管理質量&#xff08;Manage Quality&#xff09; 2.3.控制質量&#xff08;Control Quality&#xff09; 3.應用場景 3.1.十個應用場景 3.2.產品設計與開發 4.小結…

使用PyCharm 開發工具創建工程

一. 簡介 前面學習了 安裝 python解釋器。如何安裝python的一種開發工具 PyCharm。 本文來簡單學習一下&#xff0c;如何使用 PyCharm 開發工具創建一個簡單的 python工程。 二. PyCharm 開發工具創建一個工程 1. 首先&#xff0c;首先打開PyCharm 開發工具。選擇 創建一…

Docker部署SiYuan筆記-Unraid

使用unraid的docker部署SiYuan筆記&#xff0c;簡單記錄 筆記說明 Siyuan筆記是一款基于markdown語法的筆記工具&#xff0c;具有活躍的社區和多設備支持。大部分功能都是免費&#xff0c;源代碼開源&#xff0c;支持插件安裝&#xff0c;具有很不錯的使用體驗。 Docker地址&a…