數據庫造神計劃第十天---數據庫約束(1)

???????🔥個人主頁:尋星探路

🎬作者簡介:Java研發方向學習者

📖個人專欄:《從青銅到王者,就差這講數據結構!!!》、?《JAVA(SE)----如此簡單!!!》、《數據庫那些事!!!》

??人生格言:沒有人生來就會編程,但我生來倔強!!!


目錄

一、什么是數據庫約束

二、約束類型

1、not null空約束

1.1創建?個學生表

1.2此時需要約束學生名的列不能為null

1.3查看表結構

2、default默認值約束

2.1重構學生表

2.2重構學生表

2.3查看表結構

3、unique唯一約束

3.1重構學生表

3.2重構學生表

3.3查看表結構


一、什么是數據庫約束

????????數據庫約束是指對數據庫表中的數據所施加的規則或條件,用于確保數據的準確性和可靠性。這些約束可以是基于數據類型、值范圍、唯?性、非空等規則,以確保數據的正確性和相容性。

二、約束類型

1、not null空約束

定義表時某列不允許為null時,可以為列添加非空約束。(相當于注冊賬號時的必填項)

1.1創建?個學生表

????????學生名為null時,這條記錄是不完整的

drop table if exists student;
create table student(id bigint,name varchar(20)
);# 插?數據
insert into student values (1, null);# 查詢
select * from student;

1.2此時需要約束學生名的列不能為null

drop table if exists student;# 為所有列添加?空約束
create table student (id bigint,name varchar(20) NOT NULL
);# 由于name列有?空約束,插?NULL值時報錯
insert into student values (1, null);

# 正常值可以成功插?
insert into student values (1, '張三');select * from student;

1.3查看表結構

????????NULL列為NO表示值不允許為NULL,YES表示值可以為NULL

desc student;

2、default默認值約束

default約束用于向列中插?默認值,如果沒有為列設置值,那么會將默認值設置到該列

2.1重構學生表

????????新增年齡列

drop table student;# 創建學?表,加?年齡列
create table student (id bigint,name varchar(20) not null,age int
);

????????插入?條記錄,沒有設置默認約束時,不指定年齡的值時列為NULL

insert into student(id, name) values (1, '張三');select * from student;

2.2重構學生表

????????為年齡的列加入默認約束

drop table student;# 為年齡列加?默認約束
create table student (id bigint,name varchar(20) not null,age int default 18
);

????????插入?條記錄,不指定年齡的值時列使用了默認值

insert into student(id, name) values (1, '張三');select * from student;

2.3查看表結構

????????年齡列的默認值為18

desc student;

????????當手動明確指年齡列為NULL時列值為NULL

insert into student(id, name, age) values (2, '李四', NULL);

3、unique唯一約束

指定了唯?約束的列,該列的值在所有記錄中不能重復,如?個?的身份證號,學生的學號等

3.1重構學生表

????????新增學號列

drop table student;# 學號列設置唯?約束
create table student (id bigint,name varchar(20) not null,age int DEFAULT 18,sno varchar(10)
);

????????不設置唯?約束時,學號可以重復

insert into student(id, name, sno) values (1, '張三', '100001');insert into student(id, name, sno) values (2, '李四', '100001');select * from student;

3.2重構學生表

????????為學號列設置唯?約束

drop table student;create table student (id bigint,name varchar(20) not null,age int DEFAULT 18,sno varchar(10) UNIQUE# 唯?約束
);

????????插入重復的學號時報錯,唯?約束生效

insert into student(id, name, sno) values (1, '張三', '100001');

insert into student(id, name, sno) values (2, ' 李四 ', '100001');

select * from student;

3.3查看表結構

????????Key列顯示UNI表示唯?約束

 desc student;

#注:

distinct本來數據庫服務器存儲的內容中,已經有重復的了。展示給用戶的時候,展示的是去重的結果

unique 是存的數據就不能重復(重復的數據存不下去),查詢的結果自然也是不重復的

?????????由于內容較多,會分為多篇講解,預知后續內容,請看后續博客!!!

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

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

相關文章

知微傳感Dkam系列3D相機SDK例程篇:CSharp連接相機及保存數據

序言 寫在前面 本人從事機器視覺細分的3D相機行業。編寫此系列文章主要目的有: 1、便利他人應用相機,本系列文章包含公司所出售相機的SDK的使用例程及詳細注釋;2、促進行業發展及交流。 知微傳感Dkam系列3D相機可以應用于定位分揀、焊接焊縫提…

[筆記] 系統分析師 第十二章 軟件架構設計(分析師主要工作)

文章目錄前言12.1 軟件架構概述12.1.1 軟件架構的意義12.1.2 軟件架構的發展史12.2 軟件架構建模12.3 軟件架構風格12.3.1 軟件架構風格概述12.3.2 數據流體系結構風格1.批處理體系結構風格2.管道-過濾體系結構風格12.3.3 調用/返回體系結構風格1.主程序/子程序風格2.面向對象體…

C++---存儲周期,作用域,鏈接性

在C程序設計中,變量的行為不僅由其類型決定,還由存儲周期(變量在內存中存在的時間)、作用域(變量可被訪問的代碼范圍)和鏈接性(變量在多文件程序中的可見性)共同約束。 一、存儲周期…

基于Python的商品爬取與可視化系統

本系統是基于Python的商品數據爬取與價格分析可視化系統,集成了數據爬取、數據存儲、數據展示和可視化分析等功能。下面介紹一下系統主要功能和技術棧。一、主要功能:1、數據爬取功能 支持淘寶美妝商品數據爬取 可配置搜索關鍵詞和爬取頁數 實時顯示爬取…

聯邦學習過程中,了解清楚影響準確率的因素有哪些也很重要

影響模型準確率的因素有很多,下面是一些主要的因素,它們可以從數據、模型設計、訓練策略以及超參數等多個層面來考慮。1. 學習率作用:學習率直接影響模型的訓練速度、穩定性和最終表現。過高的學習率可能導致模型不收斂或收斂不穩定&#xff…

C# WPF中使用System.Management.Automation類調用Powershell報錯解決辦法

在WPF開發中,需要使用powershell進行自動化管理,以下為開發環境 1、.NET framework 4.7.2 2、VS2019 社區版 使用System.Management.Automation類 遇到的問題: 需要引用 System.Management.Automation類,但是在使用using指令時無法…

從 Pump.fun「直播」看熱點幣的生與死

在加密市場里,熱點就是流量,流量就是價值。最近,Solana 生態的 Pump.fun 推出了「直播」板塊,讓發幣這件事變得像看秀一樣:一個個新幣在鏈上實時登場,社區即時互動,玩家實時下注。這種形式不僅帶…

圖靈完備性:計算理論的基石與無限可能

本文由「大千AI助手」原創發布,專注用真話講AI,回歸技術本質。拒絕神話或妖魔化。搜索「大千AI助手」關注我,一起撕掉過度包裝,學習真實的AI技術! 1 圖靈完備性的基本概念 圖靈完備性(Turing completeness…

HarmonyOS 5.0應用開發——V2裝飾器@once的使用

【高心星出品】 文章目錄V2裝飾器once的使用概念一、核心作用與規則二、適用場景案例V2裝飾器once的使用 概念 在鴻蒙ArkTS開發中,Once裝飾器用于實現子組件僅接受父組件傳遞的初始值,后續父組件數據變化不再同步至子組件。以下是其核心要點&#xff1…

跨域請求:解決方案

一、跨域核心概念:同源策略與跨域定義 跨域問題的根源是瀏覽器的 同源策略(Same-Origin Policy),這是瀏覽器為保護用戶數據安全而設置的核心安全限制。 1. 什么是 “同源”? “同源” 指的是兩個 URL 的 協議、域名…

前端形態與樣式風格:從古典到現代的視覺語言演進

目錄前端形態與樣式風格:從古典到現代的視覺語言演進概述1. 前端形態的演進:四種核心范式1.1 古典范式:語義化HTML與CSS1.2 組件化范式:模塊化與復用1.3 響應式范式:多端適配1.4 動態范式:狀態驅動視圖2. 樣…

用戶系統從0到1:登錄、權限、積分一網打盡

👤 用戶系統從0到1:登錄、權限、積分一網打盡 副標題:Flask-Login 多級權限 積分會員系統實戰 項目原型:https://madechango.com 難度等級:???☆☆ 預計閱讀時間:20分鐘 🎯 引子&#xff1…

Java 大視界 -- Java 大數據在智能安防視頻監控系統中的視頻內容理解與智能預警升級

Java 大視界 -- Java 大數據在智能安防視頻監控系統中的視頻內容理解與智能預警升級引言:正文:一、傳統安防監控的 “三重困局”:看不全、看不懂、反應慢1.1 人工盯屏 “力不從心”1.1.1 攝像頭密度與人力的矛盾1.1.2 錄像調閱 “馬后炮”1.2…

OpenHarmony包管理子系統核心源碼深度解讀:從BundleManager到AMS,徹底打通應用安裝、卸載與沙箱機制全鏈路

目錄 架構概覽 核心組件詳解 包安裝流程分析 包卸載流程分析 包更新流程分析 包信息存儲機制 Launcher界面管控 開機默認系統應用安裝機制<

簡單聊聊神經網絡中的反向傳播

參考文章&#xff1a; 一文弄懂神經網絡中的反向傳播法——BackPropagation - Charlotte77 - 博客園 反向傳播求偏導原理簡單理解_反向傳播偏導-CSDN博客 這篇文章是筆者在讀完上述兩篇參考文章后的整理或者說按照自己的理解進行的一些補充&#xff0c;強烈推薦先閱讀上述兩篇文…

JSP自駕游管理系統46u2v--(程序+源碼+數據庫+調試部署+開發環境)

本系統&#xff08;程序源碼數據庫調試部署開發環境&#xff09;帶論文文檔1萬字以上&#xff0c;文末可獲取&#xff0c;系統界面在最后面。系統程序文件列表開題報告內容一、研究背景與意義 近年來&#xff0c;自駕游因自由度高、個性化強成為國內旅游市場增長最快的領域&…

通過 SQL 快速使用 OceanBase 向量檢索學習筆記

背景 AI時代離不開向量數據庫&#xff0c;向量數據庫簡單說就是在數據庫中用多維向量存儲某類事物的特征&#xff0c;通過公式計算各個向量在空間坐標系中的位置關系&#xff0c;以此來判斷事物之間的相似性。相關基礎概念如下: ● Embedding ● 距離/相似性度量 ○ Cosine dis…

PromptAD:首次引入提示學習,實現精準工業異常檢測,1張正常樣本即可超越現有方法

近年來&#xff0c;工業異常檢測&#xff08;Anomaly Detection&#xff09;在智能制造、質量監控等領域扮演著越來越重要的角色。傳統方法通常依賴大量正常樣本進行訓練&#xff0c;而在實際生產中&#xff0c;異常樣本稀少甚至不存在&#xff0c;能否僅憑少量正常樣本就實現精…

算法 --- 字符串

字符串 字符串算法題目主要處理文本的查找、匹配、比較、變換和統計問題&#xff0c;其核心特點是輸入數據為字符序列&#xff0c;解題關鍵在于利用其連續性、前綴性、字典序等特性&#xff0c;并常借助哈希、自動機、指針滑動、動態規劃等技巧高效處理。 詳細分類型與適用場景…

SpringBoot中 Gzip 壓縮的兩種開啟方式:GeoJSON 瘦身實戰

目錄 前言 一、GZIP壓縮知識簡介 1、什么是Gzip 2、Gzip特點 3、Gzip在GIS方面的應用 二、SpringBoot中開啟Gzip的方式 1、在SpringBoot中開啟Gzip的知識簡介 2、SpringBoot中GeoJSON的實例 三、全局開啟Gzip實現 1、實現原理 2、實現效果 四、局部約定配置 1、實現…