mysql索引--普通索引,唯一索引,主鍵索引,參照完整性約束,數據完整性約束

来源:https://www.cnblogs.com/gdsmdsfy/archive/2023/04/21/17339649.html
-Advertisement-
Play Games

Redis 作為一個成熟的記憶體型資料庫,對於記憶體占用和操作性能上會有自己的取捨,通過這些知識可以理解為什麼 Redis 的性能有時候會變化得那麼快。 ...


-- 方法1:create index
-- 對employee表的員工部門號列創建普通索引depart_ind
-- create index depart_ind on employees(員工部門號);

-- 對employee表的姓名和地址列創建複合索引ad_ind;
-- create index ad_ind on employees(姓名,地址);

-- 對departments表的部門名稱列創建唯一索引un_ind;
-- create unique index un_ind on departments(部門名稱);

-- 方法2:alter table
-- 對employee表的出生日期列創建唯一索引date_ind ,姓名和性別列添加複合索引na_ind(用alter table命令完成)
-- alter table employees add unique data_ind(出生日期),add index na_ind(姓名,性別);

-- 練習:對departments表的部門編號列創建唯一索引key_ind;(用alter table)
-- alter table departments add unique key_ind(部門編號);

-- 方法3:創建表的同時創建索引
-- 創建表cpk(產品編號,產品名稱,單價,庫存量),並對產品編號創建主鍵,
-- 在庫存量和單價列上創建複合索引cpk_fh
-- create table if not exists cpk(
-- 產品編號 varchar(5) primary key,產品名稱 varchar(20),單價 float(4),庫存量 int(4),
-- index cpk_fh(單價,庫存量));

-- create table if not exists cpk2(
-- 產品編號 varchar(5),產品名稱 varchar(20),單價 float(4),庫存量 int(4),
-- index cpk_fh(單價,庫存量),primary key(產品編號));

-- 參照完整性約束
-- create table if not exists jj(
-- employeeID char(6),je float(4),
-- foreign key(employeeID) references employees(員工編號)
-- on delete cascade on update cascade) engine=InnoDB;


-- insert into jj values("020018",78.01),("102208",123),("102201",456);
-- select * from jj;

-- delete from employees where 員工編號="102208";


-- 數據完整性
-- 創建雇員表emp,只考慮工號和性別兩列,性別隻能包含男或女
create table if not exists emp (工號 char(5),性別 char(2),check(性別="男" or 性別="女"));

insert into emp values("001","男"),("002","女");

-- 練習:創建表emp_3,有工號,工資和扣款3列,要求工資必須大於扣款。
-- 其中:工號 char(6) 工資 float(4),扣款 float(4)
create table if not exists emp3 (工號 char(5),工資 float(4),扣款 float(4)
,check(工資>扣款));

insert into emp3 values("001",1000,500),("002",2000,1500);

 

 日行一善--今天給我的老同學講解excel圖表知識

日進一步--昨天課間開始看書了。


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 平臺 windows 需 求 由於我近期有一個比賽,而我的主機又是x86架構的,人家要求使用arm架構的主機,我這窮屌絲,不可 能去買一臺吧,而且隨著國產系統的推進,採用arm架構的主機也越來越多,作為運維我們該怎麼利用x86 來運行arm架構的主機成為了一個問題 需 要的軟體和程式 以下軟體版本皆 ...
  • ansible分離部署LNMP 環境說明: | 系統 | 主機名 | IP | 服務 | | | | | | | centos8 | ansible | 192.168.111.141 | ansible主控機 | | centos8 | nginx | 192.168.111.142 | ngin ...
  • ​根據2022年的DevOps全球調查報告顯示,主流軟體企業採用或部分採用DevOps且已獲得良好成效的占比已達70%,DevOps儼然成為當下軟體開發研究的重要方向。 測試作為軟體開發的必要過程,是提升軟體可靠性、保證軟體質量的關鍵環節。然而,從過往研究文獻來看,希望通過DevOps提升軟體交付效 ...
  • 在這裡分享項目中我經常使用的一種串口收發方式:阻塞發送 + 接收中斷 +空閑中斷 + 環形隊列 項目代碼地址:https://gitee.com/Mokun_gitee/stm32_hal_study.git 一、簡介 串口發送使用最簡單的阻塞發送方式,一般來說都是接收的數據量比較大,發送數據用此方 ...
  • 我學習的過程中,對於連接池和數據源分得不是很清楚,而且我發現有的人將資料庫等同於數據源,或者將數據源等同於連接池,實際上這些說法並不准確。 ...
  • 功能02-商鋪查詢緩存03 3.功能02-商鋪查詢緩存 3.6封裝redis工具類 3.6.1需求說明 基於StringRedisTemplate封裝一個工具列,滿足下列需求: 方法1:將任意Java對象序列化為json,並存儲在string類型的key中,並且可以設置TTL過期時間 方法2:將任意 ...
  • 摘要:如果你需要一款穩定可靠的高性能企業級KV資料庫,不妨試試GaussDB(for Redis)。 每當網路上爆出熱點新聞,混跡於各個社交媒體的小伙伴們全都開啟了討論模式。一條消息的產生是如何在群聊中傳遞的呢?讓我們一起來探索即時通訊系統(IM)的原理。 IM系統架構的原理 當你在群聊“相親相愛一 ...
  • 我定義了一系列靜態方法,用於執行SQL Server資料庫的增刪改查等操作。其中:ExecuteNonQuery方法用於執行指定的SQL語句並返回受影響的行數;ExecuteScalar方法用於執行指定的SQL語句並返回查詢結果的第一行第一列;ExecuteDataTable方法用於執行指定的SQL ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...