iT邦幫忙

2023 iThome 鐵人賽

DAY 25
0
Modern Web

三十天持續努力挑戰py系列 第 25

Day_25 RDBMS 關聯式資料庫 基本使用教學

  • 分享至 

  • xImage
  •  
  • 關聯式資料庫(RDBMS):全名為Relational Database Menagement System,是一種以表格刑事組織資料的資料庫系統,直行橫列都是有關聯式的,所以才會被歸列在同一張表格。
  • 其特點有,Primary Key(主鍵),每個表格可以擁有一個或多個主鍵,用來確保每一行的讀一性,以及用來與其他表格進行連結。Foreign Key(外鍵),主要功能就是與主鍵進行關聯。
  • MySQL就是一個用於管理關聯式資料庫的語言之一,以下會用此語言到以下網站進行示範,https://sqliteonline.com/。
CREATE TABLE stu2
(
  student_id nchar(10),
  name nvarchar(20) Not Null, --無論如何這個欄位的資料不能為空
  old INT,
  class nvarchar(5),
  PRIMARY KEY (student_id) --設定學號為主鍵
);

CREATE TABLE book2
(
  book_id nchar(10),
  book_name nvarchar(50),
  borrower nchar(10),
  PRIMARY KEY (book_id), --設定書籍編號為主鍵
  FOREIGN KEY (borrower) REFERENCES stu2(student_id) --設定外來鍵,參考stu2這張表
);
  • 以上是在建立表格,基本語法如上。建立完表格後,可以查詢看看是否有建立成功,使用
SELECT * FROM stu2;
SELECT * FROM book2;

https://ithelp.ithome.com.tw/upload/images/20230920/20162170YswEewFpTg.png
https://ithelp.ithome.com.tw/upload/images/20230920/20162170FL02IfNYgH.png

  • 接下來新增資料。新增完後再查詢一次。
INSERT INTO stu2 (student_id, name, old, class) VALUES
('s1001', N'老王', 23, N'資工四1'),
('s1002', N'老陳', 21, N'資工二1'),
('s1003', N'老林', 22, N'資工三1');

https://ithelp.ithome.com.tw/upload/images/20230920/20162170mv3YxsG7Pl.png

  • 想再額外新增的話,沒有班級為NULL。只查某col的語法。
INSERT INTO stu2 (student_id, name, old) VALUES ('s1004', N'老白', 18);

SELECT student_id from stu2;

https://ithelp.ithome.com.tw/upload/images/20230920/20162170722wbiKlyi.png

  • where,用來加上附加條件的功能。
SELECT student_id, name, class
FROM stu2
WHERE student_id = 's1001'; --只搜s1001學號的學生

https://ithelp.ithome.com.tw/upload/images/20230920/20162170LBaJ7U0cBX.png

  • update 把學號S1004的class改成老服一1,使用update時記得加上where,否則全部的資料都會一起被更改。
UPDATE stu2
SET class=N'老服一1'
WHERE student_id='s1004';
  • delete時須記得看使否有與其他表格連結,如果有的話也刪除不掉,必須先將其他表格的其連結內容刪除才能delete。因此我們先新增有連結的表個。
INSERT into book2(book_id,book_name, borrower) VALUES
('b1001', N'哈利波特', 's1001'),
('b1002', N'暮光之城', 's1001'),
('b1003', N'從零開始', 's1002');

DELETE FROM stu2 WHERE student_id='s1002'; --不能直接刪
DELETE from book2 where borrower = 's1002'; --必須先刪這個後才能

https://ithelp.ithome.com.tw/upload/images/20230920/20162170ZwFuOk4Apr.png


上一篇
Day_24 手風琴 警報 標籤 With Bootstrap
下一篇
Day_26 滾動監控 讀取圖示 浮動標籤 With bootstrap
系列文
三十天持續努力挑戰py30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言