數據庫--MySQL數據管理

數據庫–MySQL數據管理

文章目錄

  • 數據庫--MySQL數據管理
    • 1.外鍵管理
    • 2.數據庫數據管理
    • 3.DML語言
      • 3.1添加數據
      • 3.2修改數據
      • 3.3刪除數據
    • 4.練習

1.外鍵管理

  • 外鍵概念
    • 如果公共關鍵字在一個關系中是主關鍵字,那么這個公共關鍵字被稱為另一個關系的外鍵。由此可見,外鍵表示了兩個關系之 間的相關聯系。以另一個關系的外鍵作主關鍵字的表被稱為主表,具有此外鍵的表被稱為主表的從表。
  • 外鍵作用
    • 保持數據一致性,完整性,主要目的是控制存儲在外鍵表中的數據,約束。使兩張表形成關聯,外鍵只能引用外表中的列的值或使 用空值。
  • 創建外鍵
    • 建表時指定外鍵約束
    • 建表后修改
  • 刪除外鍵
  • 刪除外鍵、刪除表

2.數據庫數據管理

  • 數據庫意義
    • 數據存儲
    • 數據管理
  • 管理數據庫數據方法
    • 通過SQLyog等管理工具管理數據庫數據
    • 通過DML語句管理數據庫數據

3.DML語言

  • DML(Data Manipulation Language,數據操作語言)
    • 用于操作數據庫對象中所包含的數據
  • 包括
    • INSERT ( 添加數據語句 )
    • UPDATE ( 更新數據語句 )
    • DELETE ( 刪除數據語句 )

3.1添加數據

  • INSERT命令

    #新增數據 (插入一條數據)  字段一定要寫
    INSERT INTO 表名 [( 字段1, 字段2, 字段3,...)] VALUES('值1', '值2', '值3',...)INSERT INTO `subject`(SubjectNO,SubjectName,ClassHour,GradeID) VALUES(01,'數據庫',22,3);INSERT INTO student (StudentNO,StudentName,Sex,GradeID,Phone,Address,BornDate,Email,IdentityCard) VALUES(1011,'郭靖',1,1,'13500000001','北京海定區中關村大街1號','1986-12-11','guojing @bdqn.cn','450323198612111000');#新增數據 (插入多條數據)
    insert into 表名(字段名1,字段名2,...,字段名N)
    values
    (值1,值2,...,值N),
    (值1,值2,...,值N),
    ... ...
    (值1,值2,...,值N);#新增數據 (插入多條數據)
    #INSERT語句向數據表student添加數據
    INSERT INTO student (StudentNO,StudentName,Sex,GradeID,Phone,Address,BornDate,Email,IdentityCard)
    VALUES(1011,'郭靖',1,1,'13500000001','北京海定區中關村大街1號','1986-12-11','guojing @bdqn.cn','450323198612111000'),
    (1013,'李梅',0,3,'13500000015','上海','1986-12-31','limei@bdqn.cn','450323198612311000'),
    (1012,'李文才',1,2,'13500000002','河南洛陽','1981-12-31','liwencai@bdqn.cn','450323198112311000');#INSERT語句為課程表subject添加數據
    INSERT INTO `subject` (SubjectNO,SubjectName,ClassHour,GradeID) 
    VALUES(1,'高等數學-1',120,1),(2,'高等數學-2',110,2),
    (3,'高等數學-3',100,3),(4,'高等數學-4',130,4);INSERT INTO result (StudentNO,SubjectNO,StudentResult) VALUES('1011','1','99'),('1012','1','79'),('1013','1','89'),('1012','2','69'),('1011','3','88'),('1012','3','79'),('1013','3','66');
    
    • 字段或值之間用英文逗號隔開

    • “字段1, 字段2…”該部分可省略,但添加的值務必與表結構數據列順序相對應,且數量一致(字段盡量不要省略)

    • 可同時插入多條數據,values 后用英文逗號隔開

3.2修改數據

  • UPDATE命令

    UPDATE 表名 SET column_name = value  [,column_name2 = value2,...] [WHERE條件];#UPDATE語句修改student表數據
    UPDATE student SET Email='student1013@bdqn.cn',LoginPwd='000000' WHERE StudentNO=1013;
    #將數據表subject中ClassHour大于110且GradeID為1的課時都減少10
    UPDATE `subject` SET ClassHour=ClassHour-10 WHERE ClassHour>110 AND GradeID=1;
    
    • column_name 為要更改的數據列
    • value 為修改后的數據,可以為變量、具體值、表達式或者嵌套的SELECT結果
    • condition為篩選條件,如不指定則修改該表的所有列數據
  • WHERE條件子句

    • 簡單理解為有條件地從表中篩選數據
    • WHERE中的運算符
    運算符含義范例結果
    =等于5=6false
    <> 或 !=不等于5!=6true
    >大于5>6false
    <小于5<6true
    >=大于等于5>=6false
    <=小于等于5<=6true
    BETWEEN在某個范圍之間BETWEEN 5 AND 10-
    AND并且5>1 AND 1>2false
    OR5>1 OR 1>2true

3.3刪除數據

  • DELETE命令
DELETE FROM 表名 [WHERE條件]; DELETE FROM student WHERE StudentNo=1000;
  • condition為篩選條件,如不指定則刪除該表的所有列數據

  • TRUNCATE命令

    • 用于完全清空表數據,但表結構、索引、約束等不變
TRUNCATE [TABLE] table_name;
  • 區別于DELETE命令
  • 相同
    • 都能刪除數據、不刪除表結構,但TRUNCATE 速度更快
  • 不同
    • 使用TRUNCATE TABLE重新設置AUTO_INCREMENT計數器
    • 使用TRUNCATE TABLE不會對事務有影響

4.練習

#學生表插入數據
INSERT INTO student VALUES('108','曾華','男','1977-09-01','95033'),
('105','匡明','男','1975-10-02','95031'),
('107','王麗','女','1976-01-23','95033'),
('101','李軍','男','1976-02-20','95033'),
('109','王芳','女','1975-02-10','95031'),
('103','陸君','男','1974-06-03','95031');
#課程表插入數據
INSERT INTO course VALUES('3-105','計算機導論','825'),
('3-245','操作系統','804'),
('6-166','數字電路','856'),
('9-888','高等數學','831');
#成績表插入數據
INSERT INTO score VALUES('103','3-245','86'),
('105','3-245','75'),
('109','3-245','68'),
('103','3-105','92'),
('105','3-105','88'),
('109','3-105','76'),
('101','3-105','64'),
('107','3-105','91'),
('108','3-105','78'),
('101','6-166','85'),
('107','6-166','79'),
('108','6-166','81');
#教師表插入數據
INSERT INTO teacher VALUES('804','李誠','男','1958-12-02','副教授','計算機系'),
('856','張旭','男','1969-03-12','講師','電子工程系'),
('825','王萍','女','1972-05-05','助教','計算機系'),
('831','劉冰','女','1977-08-14','助教','電子工程系');
#將course表中高等數學修改為JAVA高級編程
UPDATE course SET  Cname='JAVA高級編程' WHERE Cname='高等數學';
#刪除學生陸君的信息 (學生信息及學生考試成績)
DELETE FROM score WHERE score.Sno IN(SELECT Sno FROM student WHERE Sname ='陸君');
DELETE FROM student WHERE Sname ='陸君';
#查詢95031班級所有男生信息,返回學號,姓名,性別,出生日期,班級編號
SELECT Sno '學號',Sname '姓名',Ssex '性別',Sbirthday '出生日期',Class '班級編號'
FROM student WHERE Class='95031' AND Ssex='男';
#查詢Score表中成績為85,86或88的記錄
SELECT Sno,Cno,Degree FROM score WHERE Degree IN(85,86,88);
#查詢Score表中成績為85,86或88的記錄,返回學號,課程名稱(注意不是課程編號)
SELECT Sno '學號',Cname '課程名稱',Degree '成績' FROM score,course 
WHERE Degree IN(85,86,88) AND score.Cno=course.Cno;

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

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

相關文章

【C++練習】13.C++輸出九九乘法表的方法詳解

目錄 C++輸出九九乘法表的方法詳解 方法1:雙重for循環(最基礎) 思考: 代碼分析: 特點: 方法2:使用while循環 思考: 代碼分析: 特點: 方法3:使用遞歸實現 思考: 代碼分析: 特點: 方法4:格式化輸出(對齊美觀) 思考: 代碼分析: 特點: 方法5:使用函數封裝 思考…

MVC及其衍生

MVC 把軟件分成模型&#xff08;Model&#xff09;、視圖&#xff08;View&#xff09;、控制器&#xff08;Controller&#xff09;三個基本部分。 事實上對應著 Controller——輸入 用戶交互&#xff0c;將輸入處理成Controller能處理的形式 Model——處理 描述狀態、邏輯規律…

微碩WINSOK MOS管WSF3089,賦能汽車轉向系統安全升級

隨著汽車電子化程度不斷提高&#xff0c;轉向系統對高效功率器件的需求日益增長。微碩WINSOK推出的N溝道Trench MOS管WSF3089&#xff0c;以30 V/72 A大電流、4.5 mΩ超低導通電阻和TO-252-2L緊湊封裝&#xff0c;為EPS&#xff08;電動助力轉向&#xff09;電機驅動、電源管理…

淘寶拍立淘接口的接入與應用||item_search_img-按圖搜索淘寶商品(拍立淘)

淘寶拍立淘接口的接入與應用如下&#xff1a;接入流程注冊與認證&#xff1a;開發者賬號注冊&#xff1a;訪問淘寶開放平臺&#xff0c;進行開發者賬號注冊。創建應用&#xff1a;在控制臺創建新應用&#xff0c;獲取 App Key 和 App Secret&#xff0c;這是接口調用的憑證。申…

Python學習-day8 元組tuple

元組&#xff08;Tuple&#xff09;是Python中一種不可變的序列類型&#xff0c;用于存儲多個有序元素。與列表&#xff08;List&#xff09;類似&#xff0c;但元組一旦創建后不能修改&#xff08;不可添加、刪除或修改元素&#xff09;&#xff0c;這使得它在安全性、性能優化…

大數據畢業設計選題推薦-基于大數據的國家醫用消耗選品采集數據可視化分析系統-Hadoop-Spark-數據可視化-BigData

?作者主頁&#xff1a;IT畢設夢工廠? 個人簡介&#xff1a;曾從事計算機專業培訓教學&#xff0c;擅長Java、Python、PHP、.NET、Node.js、GO、微信小程序、安卓Android等項目實戰。接項目定制開發、代碼講解、答辯教學、文檔編寫、降重等。 ?文末獲取源碼? 精彩專欄推薦?…

二次學習C語言補充2

文章目錄表棧、隊列、二叉樹一、二叉樹二、表棧三、隊列鏈表一、單向鏈表二、循環鏈表、雙向鏈表和雙向循環鏈表預處理一、預處理二、宏定義文件文件操作補充本篇文章是對二次學習C語言12——文件操作 二次學習C語言14——預處理及模塊化 二次學習C語言15——鏈表 二次學習C語言…

2.9Vue創建項目(組件)的補充

1.再創建和引入vue的選擇2.VsCode插件 安裝Vue自己搜索最新的3.style自己的作用域在一個組件中引入另一個文件的子組件&#xff0c;給當前組件設置樣式&#xff0c;那么子組件的樣式也會改變的。為了解決這個問題 我們在自己的style中設置一個屬性4.另一種創建vue 的方式(主流…

算法高頻題

刷題&#xff1a;LeetCode&#xff08;Top 100-150題&#xff0c;至少刷兩遍&#xff09;。重點&#xff1a;鏈表、樹、二分查找、動態規劃、回溯、棧/隊列。 每一個題型&#xff0c;前10個高頻題 算法思考框架參考&#xff1a;算法題思維框架-CSDN博客 高頻順序參考網站&…

服務器安裝 LDOPE(MODIS 數據處理工具)

目錄下載方式1-&#xff08;簡單快捷&#xff09;根據WRF-VPRM 需要打補丁下載方式2&#xff1a;&#xff08;手動安裝依賴&#xff09;一、安裝所需依賴庫&#xff08;4 個主庫 2 個基礎庫&#xff09;另- HDF-EOS 手動編譯二、解壓并安裝 LDOPE參考下載方式1-&#xff08;簡…

克隆代幣 + 捆綁開盤:多鏈環境下的低成本發幣玩法

在加密世界&#xff0c;發幣已經不再是“少數開發者的專利”。隨著工具的普及&#xff0c;任何人都可以快速發行一個在加密世界&#xff0c;發幣已經不再是“少數開發者的專利”。隨著工具的普及&#xff0c;任何人都可以快速發行一個代幣。但問題是&#xff1a;如何在保證低成…

數據結構中的 二叉樹

1.前言 在 Java 中&#xff0c;樹&#xff08;Tree&#xff09;是一種非線性數據結構&#xff0c;由節點&#xff08;Node&#xff09;組成&#xff0c;常見的線性表則是我們之前學過的順序表、鏈表、棧、隊列等等。每個節點包含數據和指向子節點的引用。樹的常見實現方式包括二…

IntelliJ IDEA 啟動項目時配置端口指南

&#x1f31f; 一、為什么需要手動設置啟動端口&#xff1f; 默認情況下&#xff0c;Spring Boot 應用會使用 8080 端口啟動。但在以下場景中&#xff0c;我們必須自定義端口&#xff1a; 多個微服務同時運行&#xff0c;需避免端口沖突&#xff1b;團隊協作開發&#xff0c;統…

spark sql之from_json函數

目錄前言函數語法參數說明返回值案例案例1案例2前言 在Spark SQL中&#xff0c;from_json函數用于解析包含JSON字符串的列&#xff0c;并將其轉換為Spark SQL的結構化類型&#xff08;如struct、map或array&#xff09; 函數語法 from_json(jsonStr, schema [, options])參數…

數據結構 之 【位圖的簡介】

目錄 1.位圖的引入 2.位圖概念 3.位圖的實現 3.1前提準備 3.2set 3.3reset 3.4test 4.位圖的應用 1.位圖的引入 給40億個不重復的無符號整數&#xff0c;沒排過序 再給一個無符號整數&#xff0c;如何快速判斷這個無符號整數是否在 這40億個數中 首先&#xff0c;一個…

[iOS] ViewController 的生命周期

文章目錄前言一、UIViewController 生命周期有關函數二、UIViewController 中函數的執行順序運行結果1.present和dismiss2.push和pop三、總結前言 UIViewController 是在 iOS 開發中一個非常重要的角色&#xff0c;他是 view 和 model 的橋梁&#xff0c;通過 UIViewControlle…

第30章 零售與電商AI應用

本章將深入探討人工智能在零售與電商領域的革命性應用。我們將從智能推薦系統、動態定價、庫存管理到創新的虛擬試衣間&#xff0c;全面解析AI如何重塑購物體驗和商業運營效率&#xff0c;并為每個關鍵技術點提供代碼實戰&#xff0c;幫助你掌握將AI應用于真實商業場景的能力。…

QT通過QModbusRtuSerialMaster讀寫電子秤數據實例

一、電子稱常用功能&#xff1a;稱重、清零、去皮&#xff1b;電子秤的通訊方式&#xff1a;Modbus通信、串口通信。二、QT讀寫電子秤軟件界面如下&#xff1a;三、核心代碼如下&#xff1a;.pro項目文件代碼&#xff1a;QT core gui serialbus serialport.h頭文件代碼#…

sqlmap常用命令

ZZHow(ZZHow1024) 一、掃描注入點 1.GET方法&#xff0c;給URL&#xff1a; #探測該url是否存在漏洞 python sqlmap.py -u "http://192.168.10.1/sqli/Less-1/?id1"#如果我們已經知道admin這里是注入點的話&#xff0c;可以在其后面加個*來讓sqlmap對其注入 python …

JVM如何排查OOM

當JVM&#xff08;Java虛擬機&#xff09;出現OOM&#xff08;OutOfMemoryError&#xff09;時&#xff0c;可以按照以下步驟和方法&#xff0c;用于幫助定位和解決JVM中的OOM問題1.查看異常堆棧信息查看異常堆棧信息&#xff08;StackTrace&#xff09;是定位問題的關鍵。OOM異…