MySql 表結構修改、約束條件、表關係

来源:https://www.cnblogs.com/jiyu-hlzy/archive/2019/11/17/11878273.html
-Advertisement-
Play Games

表結構修改(alter) 查看表的結構:desc 表名; 修改表名:alter table 表名 rename to 新表名; 修改欄位名:alter table 表名 change 舊欄位名 新欄位名 數據類型; 修改欄位類型:alter table 表名 modify 欄位名 數據類型; 添加字 ...


表結構修改(alter)

  • 查看表的結構:desc 表名;
  • 修改表名:alter table 表名 rename to 新表名;
  • 修改欄位名:alter table 表名 change 舊欄位名 新欄位名 數據類型;
  • 修改欄位類型:alter table 表名 modify 欄位名 數據類型;
  • 添加欄位:alter table 表名 add [column] 新欄位 數據類型;
  • 刪除欄位:alter table 表名 drop [column] 欄位名;

約束條件

約束是一種限制,通過對錶中的數據做出限制,來確保表中數據的完整性,唯一性

  • 預設約束(default)
    • 插入數據的時候,如果沒有明確為欄位賦值,則自動賦予預設值
    • 在沒有設置預設值的情況下,預設值為NULL
  • 非空約束(not null)
    • 限制一個欄位的值不能為空,insert的時候必須為該欄位賦值
    • 空字元不等於NULL
  • 唯一約束(unique key)
    • 限制一個欄位的值不重覆,該欄位的數據不能出現重覆的
    • 確保欄位中值的唯一
  • 主鍵約束(primary key)
    • 通常每張表都需要一個主鍵來體現唯一性,每張表裡面只能有一個主鍵
    • 主鍵 = 非空 + 唯一
  • 自增長約束(auto_increment)
    • 自動編號,和主鍵組合使用,一個表裡面只能有一個自增長
    • auto_increment 要求用在主鍵上
    • id int primary key auto_increment,
    • 或者
    • id int auto_increment , primary key(id)
    • 如果不想預設從1開始,從1000開始
    • ...(id int primary key auto_increment)auto_increment=1000;
  • 外鍵約束(foreign key)
    • 保持數據的一致性,我有的你一定有,你沒有的,我絕對沒有
    • foreign key (id_b) references a(id_a)

表關係

  • 一對一
    • 用外鍵的方式,把兩個表的主鍵關聯
  • 一對多
    • 通過外鍵關聯來實現這種關係
  • 多對多
    • 對於多對多關係,需要創建中間表實現
    • 例如學生選課
    • 選課表(中間表)的學生id和課程id分別是學生表和課程表的外鍵





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

-Advertisement-
Play Games
更多相關文章
  • 一、目錄操作命令 1. cd 路徑 #目錄跳轉 2. mkdir 目錄名 #目錄跳轉 選項 -p 遞歸創建 3.du -sh 目錄名 #查看目錄使用情況 4.rm dir #刪除一個目錄(空目錄) 5.rm -rf 文件名 #刪除文件和目錄 6.ls -l #顯示目錄下文件詳細信息,不包括隱藏文件 ...
  • 系統信息相關命令¶ 本節內容主要是為了方便通過遠程終端維護伺服器時,查看伺服器上當前系統日期和時間/磁碟空間占用情況/程式執行情況 本節學習的終端命令基本是查詢命令,通過這些命令對系統資源的使用情況有個瞭解 目標¶ 時間和日期 date cal 磁碟和目錄空間 df du 進程信息 ps top k ...
  • 一 部署高可用kube-controller-manager 1.1 高可用kube-controller-manager介紹 本實驗部署一個三實例 kube-controller-manager 的集群,啟動後將通過競爭選舉機制產生一個 leader 節點,其它節點為阻塞狀態。當 leader 節 ...
  • 添加uwagi配置文件 在你項目的根目錄中創建mysite.xml(名字無所謂),或者創建mysite.ini,輸入以下內容: <uwsgi> <socket>127.0.0.1:8000</socket> <!-- 內部埠,自定義 --> <chdir>/data/project1</chdir ...
  • "點我查看秘籍連載" I/O操作和DMA、RDMA 用戶進程想要執行IO操作時(例如想要讀磁碟數據、向磁碟寫數據、讀鍵盤的輸入等等),由於用戶進程工作在用戶模式下,它沒有執行這些操作的許可權,只能通過發起對應的系統調用請求操作系統幫忙完成這些操作。這裡因為系統調用產生中斷將陷入到內核,進行一次上下文切 ...
  • 1.作用 useradd或adduser命令用來建立用戶帳號和創建用戶的起始目錄,使用許可權是超級用戶。 2.格式 useradd [-d home] [-s shell] [-c comment] [-m [-k template]] [-f inactive] [-e expire ] [-p p ...
  • Spark運行模式有Local,STANDALONE,YARN,MESOS,KUBERNETES這5種,其中最為常見的是YARN運行模式,它又可分為Client模式和Cluster模式。這裡以Spark自帶的SparkPi來說明這些運行模式。 本文作為第一篇,先結合SparkPi程式來說明Yarn ...
  • 原文地址 https://sspai.com/post/35225 讓我們從實際需求出發,看看問題出在哪裡,併在此基礎上認識和學習使用 Hazel。 電腦隨著使用時間的增長,其中的文件也在瘋狂的增長,時間長了也就會出現各種混亂:大量文件堆放在一起,舊文件很少清理,分不清哪些文件還有用,找不到需要的文 ...
一周排行
    -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.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...