SQL——SERVER的建表主要操作

目錄

一:數據存儲問題

1.表的相關數據

2.表,字段,記錄

二:建表

?? ? ? 1.創建表頭

2. 數據類型

3.保存數據

4.數據冗余?

5.使用命令重置表?

7.設置主鍵?


一:數據存儲問題

1.表的相關數據

????????????????表是數據庫的基本單位,所有的數據都是存儲在表里的,我們所有的操作都是對表的操作。表在數據庫中的地位類似于Java中的類。

?????????

2.表,字段,記錄

下面我們來學習表 字段,記錄;

主鍵:唯一的標識一個事物的屬性稱之為主鍵;

外鍵:來自其他表的主鍵(沒有標準的定義,純屬個人理解);

字段/屬性:一個事物的靜態特征,如姓名,性別等,(類似于Java中的成員變量)表的每一列信息稱為字段;

記錄/元組;表的每一行信息稱為記錄;

?????????如下圖,有兩個表:分別是員工表和部門表;

????????為了區分員工表中員工重名的情況,我們添加 “編號” 這一列,表的每一列就是字段或者屬性,即 “ 100001? 100002? 100003? 100004 ”。并且,對于這個表來說,這一列也稱之為主鍵,即區分員工的唯一標識的列。張三所在的那一行稱之為記錄,即 “ 張三? 3000? 男? 29? 100001? 1 ”;

二:建表

????????建表的兩種方式:用鼠標+鍵盤(不推薦);輸入命令;

????????用 “鼠標+鍵盤” 的方式建表,容易點錯,而且不夠穩定?,況且使用的時候他們也是轉化為命令;

????????用命令寫的缺點是需要記憶一些命令;

?? ? ? 1.創建表頭

????????右擊“表”,選擇新建即可,輸入 “ 員工 ” 表的列名,數據類型,允許為空一般不勾選。輸入完畢后,使用快捷鍵“ Ctrl+S”保存,再輸入表名,如此創建成功。

?????????“ dbo 前綴 ”表示他是一個系統的身份,我們后面會較深入解釋。

2. 數據類型

打開新建的 “ dbo.emp ” 表,打開列,會看到我們剛才創建的東西。

括號中的 nchar(10)代表國際化可存儲漢字的字符,長度不超過10.

有的時候可能會出現 nvarchar(max) ,它代表國際化可存儲漢字的字符變量,長度不超過 max 。

3.保存數據

????????右擊 “ dbo.emp ” ——編輯前兩百行。如果你只輸入如下三個記錄,直接點擊“ Enter ”就可以保存數據,如果 右擊“鉛筆形狀”——選擇執行,只能保存兩個記錄。

4.數據冗余?

????????數據冗余:兩個或多個記錄重復的情況。

? ? ? ? 這時,我們無法通過點擊某個選項去修改或者刪除數據,這就是我們前面提到的用“鼠標+鍵盤”手動輸入庫的缺點,即輸入數據錯誤,無法修改;

????????(我嘗試修改重復記錄的數據,可以輸入數據,但無法保存,如下圖)

????????遇到這種情況,我們可以嘗試通過命令去修改記錄。

????????右擊 “ dbo.emp ” 的庫“coco”,選擇“數據庫查詢”,通過主鍵來找到重復的記錄,where來確定要修改的具體數據。

????????但是,這種操作還是失敗的!這是因為兩個記錄完全是一樣的,我們無法告訴計算機我們要修改哪一個冗余記錄,修改哪一個冗余記錄的哪一個數據,總之,計算機無法辨別我們的命令

5.使用命令重置表?

????????我們必須刪除表的全部內容!

????????右擊 “ dbo.emp ” 的庫“coco”,選擇“新建查詢”,輸入“delete from 表名”,點擊 “ 執行 ” 即可重置表;

????????再次打開,可以發現,表重置成功;?

????????我們反思一下,當出現數據冗余的時候,我們無論是采取“鼠標+鍵盤”還是“使用命令”的方式都無法修改數據,只能充值表,這在現實應用中特別麻煩,一定存在某種方式可以避免這種情況的出現。

7.設置主鍵?

????????我們必須在創建表之后輸入數據之前設置主鍵:右擊“dbo.emp ”——設計——右擊“emo_id”——設置主鍵 即可。

?????????這樣,當我輸入兩個“emp_id”相同的人或者重復輸入的時候,它會告訴我無法保存,這就避免數據冗余的產生。

? ? ? ? 接下來,我們需要創建第二個表:部門

? ? ? ? 在同一庫下,選擇一個表,右擊“創建表”,創建完成后記得刷新(如下面左圖)。例如我沒有刷新,一直以為自己在哪一步出現了問題,沒有創建成功,一塊嘗試了三次,重啟軟件后,才看到新創建的表(如下面右圖);

? ? ? ? ? ??

?????????緊接著,我們照例先設置主鍵,再輸入數據;

? ? ? ? ?明天,我們再學習如何將這兩個表連接在一起,今天有點累啊。

? ? ? ?

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

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

相關文章

交互原型設計工具 Axure RP 9 for Mac 正式激活版

Axure RP 9 Pro Mac版是Mac平臺上的一款專為快速原型設計而生的應用,Axure RP 9 Pro Mac版可以輔助產品經理快速設計完整的產品原型,并結合批注,說明以及流程圖,框架圖等元素,將產品完整地表述給各方面設計人員&#x…

Android Studio(AS)使用別人的項目與gradle包并運行項目

一、問題描述 在進行AS開發時,我們可能會使用到別人的項目,但發現別人把項目發給我們后會發現gradle項目同步失敗o(≧口≦)o,此時計有三: 1.橫行霸道、豪取搶奪:直接空降到項目人那里,強他的電腦占為己有…

Numpy的數組操作

文章目錄 數組的創建創建全0的二維數組a(3,3)全1的二維數組b(3,4)隨機數二維數數組c(2,3)效果截圖 數組的屬性查看b數組的維度查看b數組元素的個數效果截圖 數組的維度操作將數組c的行變列,返回最后一個元素返回數組c第…

python 虛擬環境-最簡單的教程

查看當前 python 的安裝路徑 which python 1、Anaconda創建虛擬環境 (1)執行命令:conda create --name env_name python3.10, 命令中我制定了環境名稱是env_name,指定了Python版本是3.10,執行命令后,Conda會自動下…

【回溯】1240. 鋪瓷磚

本文涉及知識點 回溯 LeetCode1240. 鋪瓷磚 你是一位施工隊的工長,根據設計師的要求準備為一套設計風格獨特的房子進行室內裝修。 房子的客廳大小為 n x m,為保持極簡的風格,需要使用盡可能少的 正方形 瓷磚來鋪蓋地面。 假設正方形瓷磚的…

前端面試題復習 - 性能優化

圖片加載優化 很多修飾類圖片完全可以用css代替對于移動端來說,很多圖片都可以用CDN加載小圖使用base64格式使用雪碧圖能夠顯示WebP格式的瀏覽器盡量使用WebP格式。因為WebP格式具有更好的圖像數據壓縮算法,能帶來更小的圖片體積,而且擁有肉…

3、用Vue快雕塑搭建一個管理系統的頁面布局框架

3.2.頂部欄header 在el-header標簽里對標簽欄header進行樣式定義 <template><div id"app"><el-container><el-header style"background-color: #4c535a"><img src"/assets/logo.png" alt"" style"w…

貪心+數學

一、題目 1、題目描述 給你一個下標從 0 開始的整數數組 tasks &#xff0c;其中 tasks[i] 表示任務的難度級別。在每一輪中&#xff0c;你可以完成 2 個或者 3 個 相同難度級別 的任務。 返回完成所有任務需要的 最少 輪數&#xff0c;如果無法完成所有任務&#xff0c;返回 …

運維別卷系列 - 云原生監控平臺 之 05.prometheus alertManager 實踐

文章目錄 [toc]Alertmanager 簡介Alertmanager 實現的核心概念GroupingInhibitionSilencesClient behaviorHigh Availability Alertmanager 配置文件globaltemplatesrouteinhibit_rulesreceivers Alertmanager 部署創建 cm創建 svc創建 stsPrometheus 配置告警Prometheus 配置文…

Frida-RPC 調用

demo frida-rpc通過調用已加載到內存中的函數,直接獲取到結果: import fridardev = frida.get_remote_device() session = rdev.attach("大姨媽")scr = """rpc.exports = { encrypt(j2, str){var res;Java.perform(function () {var Crypt = Ja…

K-means 算法【python,算法,機器學習】

K-means 算法試圖將數據集中的樣本劃分為若干個子集&#xff0c;每個子集稱為一個簇&#xff0c;通過該算法使得每個聚類內的數據點盡可能相似&#xff08;即距離該聚類的中心點最近&#xff09;&#xff0c;而不同聚類之間的數據點盡可能不相似。 算法步驟如下&#xff1a; 從…

Kubernetes 的命令行工具kubectl介紹

目錄 1. 查看資源狀態2. 創建資源3. 描述資源4. 更新資源5. 刪除資源6. 暴露服務7. 狀態檢查與故障排查8. 擴縮容9. 自動補全10. 上下文管理11. 查看事件12. 資源編輯 kubectl 是 Kubernetes 的命令行工具&#xff0c;它用于與 Kubernetes 集群進行交互&#xff0c;執行各種管理…

Vu2之使用provide與inject傳遞數據案例

Vu2之使用provide與inject傳遞數據案例 在Vue 2中&#xff0c;provide 和 inject 是一對用于在組件樹中傳遞數據的高級選項。它們允許祖先組件向其所有子孫后代組件提供數據&#xff0c;而無需顯式地通過 props 或事件進行傳遞。 provide 選項是在祖先組件中聲明的&#xff0c;…

運維別卷系列 - 云原生監控平臺 之 03.prometheus label 實踐

文章目錄 [toc]label 簡介自定義標簽relabel_configsregexrelabel_action metric_relabel_configs兩者的區別 實踐 label 簡介 label 對于 Prometheus 來說&#xff0c;屬于數據處理的方式&#xff0c;Prometheus 是通過指定的 label 來查詢數據 Prometheus 的 target 中實例&…

css 步驟條虛線漸變色效果實現

效果如圖所示&#xff1a; 思路&#xff1a; 使用元素覆蓋的方式實現視覺上虛線的效果 實現代碼&#xff1a; html布局 <ul class"details-cont"><li class"details-li" v-for"item in 3" :key"item"><div class&qu…

(教程)gpt-4o如何使用,怎么體驗?gpt-4o和gpt-4-turbo的區別

今天OpenAI發布了gpt-4o&#xff0c;我體驗之后&#xff0c;gpt-4o簡直逆天了。中文能力也挺別強。速度比現在的gpt4還要快。 早在 5 月 11 日&#xff0c;Sam 就在推文中表示&#xff1a;OpenAI 并沒有推出 GPT-5&#xff0c;或搜索引擎&#xff0c;但團隊一直在努力研發一些…

Git版本控制工具的原理及應用詳解(一)

本系列文章簡介&#xff1a; 隨著軟件開發的復雜性不斷增加&#xff0c;版本控制成為了開發團隊中不可或缺的工具之一。在過去的幾十年里&#xff0c;版本控制工具經歷了各種發展和演變&#xff0c;其中Git無疑是目前最受歡迎和廣泛應用的版本控制工具之一。 Git的出現為開發者…

Nodejs 第七十章(OSS)

OSS OSS&#xff08;Object Storage Service&#xff09;是一種云存儲服務&#xff0c;提供了一種高度可擴展的、安全可靠的對象存儲解決方案 OSS 對象存儲以對象為基本存儲單元&#xff0c;每個對象都有唯一的標識符&#xff08;稱為對象鍵&#xff09;和數據。這些對象可以…

【保姆級介紹下運維】

&#x1f308;個人主頁: 程序員不想敲代碼啊 &#x1f3c6;CSDN優質創作者&#xff0c;CSDN實力新星&#xff0c;CSDN博客專家 &#x1f44d;點贊?評論?收藏 &#x1f91d;希望本文對您有所裨益&#xff0c;如有不足之處&#xff0c;歡迎在評論區提出指正&#xff0c;讓我們共…

編譯安裝Python3

1、源碼安裝 1、安裝依賴軟件包 yum -y install gcc gcc-c zlib-devel bzip2-devel openssl-devel sqlite-devel readline-devel libffi-devel # python3.7版本安裝 2、下載 curl -o python3.6.5.tgz https://www.python.org/ftp/python/3.6.5/Python-3.6.5.tgz // 或者 w…