iT邦幫忙

2023 iThome 鐵人賽

DAY 25
0
自我挑戰組

研究visual studio+MSSQL各項技術系列 第 25

MSSQL資料表操作語法教學- Create 、Insert、Update、Delete、Drop

  • 分享至 

  • xImage
  •  

visual studio還有一些東西可以教,
但由於之前都沒有教MSSQL的基礎,最後這六天就來補一些MSSQL的課程,有空再研究其他的東西

題外話,我看了一下相關書籍教的東西,還有我以前(?)寫的教學文章,覺得以前寫得有點爛,也許這次就會翻新。廢話不多說,這邊我們就開始光速上課:

一、
首先是新建資料表
https://ithelp.ithome.com.tw/upload/images/20231010/2016334085yDmzRMzE.png

或是從已有的資料表右鍵設計如下圖:
https://ithelp.ithome.com.tw/upload/images/20231010/20163340T9mZMhi9TI.png

然後可以看到這個畫面,如果是從無到有就要自己建欄位:
https://ithelp.ithome.com.tw/upload/images/20231010/20163340p66LWDkWUu.png

照這張圖設定的話,索引要在資料行屬性設定識別規格如下圖:
https://ithelp.ithome.com.tw/upload/images/20231010/20163340BofqylrRNE.png

如果無法新建資料表就要記得在工具 > 選項取消勾選防止需要資料表重建的變更
https://ithelp.ithome.com.tw/upload/images/20231010/20163340rnmEjMUBkx.png

就能新建資料表,這裡以student資料表為例,那麼這個新增資料表的語法是可以自動生成的,資料表右鍵如下圖所示,就能產生新增資料表的語法
https://ithelp.ithome.com.tw/upload/images/20231010/201633400HO5clgx6V.png

這裡貼一下範例中的student資料表新增語法:

USE [school]
GO

/****** Object:  Table [dbo].[student]    Script Date: 2023/10/10 下午 11:29:12 ******/
SET ANSI_NULLS ON
GO

SET QUOTED_IDENTIFIER ON
GO

CREATE TABLE [dbo].[student](
	[id] [int] IDENTITY(1,1) NOT NULL,
	[name] [nchar](10) NULL,
	[sex] [int] NULL,
	[class] [nchar](3) NULL,
	[Chinese] [int] NULL,
	[English] [int] NULL,
	[Math] [int] NULL,
 CONSTRAINT [PK_student] PRIMARY KEY CLUSTERED 
(
	[id] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]
GO

接下來是新增一筆資料的語法,資料表右鍵可以看到除了create以外還有insert與update的語法
https://ithelp.ithome.com.tw/upload/images/20231010/20163340uhVieDPZr0.png

新增語法範例如下:

USE [school]
GO

INSERT INTO [dbo].[student]
           ([name]
           ,[sex]
           ,[class]
           ,[Chinese]
           ,[English]
           ,[Math])
     VALUES
           ('Ted'
           ,1
           ,'A'
           ,80
           ,70
           ,60)
GO

執行結果如下:
https://ithelp.ithome.com.tw/upload/images/20231010/20163340hbf9v6qChd.png

修改語法範例如下:

USE [school]
GO

UPDATE [dbo].[student]
   SET [Chinese] = 82
      ,[English] = 72
 WHERE name = 'Ted'
GO

查詢語法如下:

SELECT TOP (1000) [id]
      ,[name]
      ,[sex]
      ,[class]
      ,[Chinese]
      ,[English]
      ,[Math]
  FROM [school].[dbo].[student]

修改後查詢就可以看到成績有成功修改成績
https://ithelp.ithome.com.tw/upload/images/20231010/20163340kdBSmXmsks.png

附註:
這是刪除「資料」的語法,本例為刪除student資料表的資料

USE [school]
GO
DELETE FROM [dbo].[student]
      WHERE <搜尋條件,,>
GO

這是刪除「資料表」語法,本例為刪student這個資料表本身

DROP TABLE [dbo].[student]

移除資料表中的所有資料列,會保留資料表設定。

Truncate Table [dbo].[student]

DELETE FROM [dbo].[student] 會移除資料表中的所有資料列,但相比Truncate Table會消耗大量資源
Truncate Table 會移除資料表中的所有資料列,但會保留資料表設定。
Drop Table會完全刪除整個資料表

今天就先教到這邊


上一篇
在Visual Studio 2019使用Github備份程式與文件
下一篇
MSSQL暫存資料表、with as (CTE)介紹
系列文
研究visual studio+MSSQL各項技術30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言