C# 學習筆記(17)操作SQL Server上
安裝SQL Server
微軟官網 https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads






如果不使用局域網訪問資料庫,安裝默認功能即可















安裝完畢后需要重啟電腦
啟動SQL Server



如果該服務沒有啟動,將其啟動

如果要通過局域網訪問資料庫,在安裝程序中,需要勾選多個擴展項(機器學習的可以不裝)
如果不使用局域網訪問資料庫,安裝默認功能即可

安裝完后需要開啟一下服務就可以通過局域網IP訪問資料庫了


創建資料庫
打開資料庫管理工具


創建資料庫

創建表
表可以通過腳本或者管理工具創建,不過一般用管理工具的UI就可以了

添加主鍵
就像是每個人都有一個唯一的身份證號一樣,每一行資料也要有一個唯一的編碼,不然怎么從資料庫中快速找到它,這個唯一的編碼也就是主鍵,通常是int型別(int型別的查找速度比較快),資料庫中每個表都必須要有主鍵,

主鍵就是一個唯一ID,如果每次輸入資料都要自己輸入這個ID,還要保證這個唯一,想想都麻煩,可以讓資料庫自己維護,添加資料時這個ID自動變化,

添加外鍵
資料庫在設計程序中為了減少資料冗余,設定了三大范式,三大范式個人理解其實就是將資料列和資料表設計為不可再劃分狀態,也就是最小狀態,這樣需要什么資料直接拿需要的表的需要的列進行組合即可,
假設要設計一個學校的資料庫,記錄學生資訊和老師資訊,學生和老師都有名字,性別,家庭住址,聯系方式等資訊,在設計資料庫時,設計了如下五張表
-
學生資訊表

-
老師資訊表

-
城市資訊表

-
省份資訊表

-
性別表

-
年級表

什么是資料列不可再劃分?
可以看學生資訊表和老師資訊表中的地址列分為了兩列,城市和詳細地址,為什么要分兩列? -
后續有可能會用的城市資訊,例如要統計每個城市學生人數等和城市相關的資訊時,如果將地址資訊做出一列資料,處理就比較麻煩
-
將可以重復利用的城市資訊保存在城市資訊表中,地址資訊需要用的城市時,只要填城市的編號即可(查詢時可以通過城市編號找到對應城市),節省了存盤空間,

為什么不將地址繼續劃分?
當然可以繼續劃分,不過做的是學校師生資訊資料庫,大學中人數有限,來自每個市的人數也不會不多(重復利用率不高,不會節省太多存盤控制元件),所以大概率不會用的市以下的地址資訊,因此設計地址資料列時只劃分了省、市、詳細地址,如果要做一個居民資訊資料庫,那就需要更進一步劃分了,當然了年紀表其實也可以再詳細劃分,專業-年紀-班級,這里為了簡單就沒有做劃分處理,其實最終是否劃分還是看設計需求,不過一般都會設計成最簡的列,方便后續增添需求
什么是資料表不可再劃分?
存在直接關系的放在一張表中,例如在學生資訊表中,城市和省份是直接關聯的,學生地址存放城市資訊即可,沒必要在多一個省份資訊的列,學生和老師之間是通過班級聯系起來的,因此學生資訊中不需要包含老師以及老師的資訊,只需要包含班級資訊即可,利用班級表可以找到對應的老師,
外鍵是什么?
為了節省存盤空間,多張表格相互關聯時會將一張表格的主鍵(下圖中城市資訊表的id列)填到另一張表格的列(學生資訊表的cityID)中,這樣每一條學生資訊就可以不存盤城市名字(例如東城區),只填一個數字即可,但是如果向學生資訊表中的cityID添加一個不存在的城市id,當查詢時就找不到對應的城市,為了避免學生資訊表中存在不存在的城市id,在向學生資訊表中添加cityID時,對cityID進行檢查,如果在城市資訊表的id列中存在,才可以添加到學生資訊表中,為了方便操作,資料庫定義了一個叫做外鍵的東西(外部表的主鍵)來幫我們自動做這個檢查,
如何建立外鍵
-
添加關系

-
設定外鍵


設定完外鍵后,再向學生資訊表中的cityID列添加資訊時就會自動檢索cityTable中的id列,如果存在才可以添加成功,同樣在洗掉資料時,比如要洗掉cityTable中的一個城市資訊,則需要保證外鍵(學生資訊表中cityID沒有使用對應的城市),否則不能洗掉,需要先洗掉學生資訊表使用該城市的學生資訊,然后才能洗掉cityTable中的城市資訊,其實還是為了確保學生資訊表中cityID列中所有城市都可以在cityTable中查詢到,
五張表的創建腳本
USE [master]
GO
/****** Object: Database [TestDB] Script Date: 2021/7/23 18:29:26 ******/
CREATE DATABASE [TestDB]
CONTAINMENT = NONE
ON PRIMARY
( NAME = N'TestDB', FILENAME = N'D:\SQL2019\MSSQL15.MSSQLSERVER\MSSQL\DATA\TestDB.mdf' , SIZE = 8192KB , MAXSIZE = UNLIMITED, FILEGROWTH = 65536KB )
LOG ON
( NAME = N'TestDB_log', FILENAME = N'D:\SQL2019\MSSQL15.MSSQLSERVER\MSSQL\DATA\TestDB_log.ldf' , SIZE = 8192KB , MAXSIZE = 2048GB , FILEGROWTH = 65536KB )
WITH CATALOG_COLLATION = DATABASE_DEFAULT
GO
ALTER DATABASE [TestDB] SET COMPATIBILITY_LEVEL = 150
GO
IF (1 = FULLTEXTSERVICEPROPERTY('IsFullTextInstalled'))
begin
EXEC [TestDB].[dbo].[sp_fulltext_database] @action = 'enable'
end
GO
ALTER DATABASE [TestDB] SET ANSI_NULL_DEFAULT OFF
GO
ALTER DATABASE [TestDB] SET ANSI_NULLS OFF
GO
ALTER DATABASE [TestDB] SET ANSI_PADDING OFF
GO
ALTER DATABASE [TestDB] SET ANSI_WARNINGS OFF
GO
ALTER DATABASE [TestDB] SET ARITHABORT OFF
GO
ALTER DATABASE [TestDB] SET AUTO_CLOSE OFF
GO
ALTER DATABASE [TestDB] SET AUTO_SHRINK OFF
GO
ALTER DATABASE [TestDB] SET AUTO_UPDATE_STATISTICS ON
GO
ALTER DATABASE [TestDB] SET CURSOR_CLOSE_ON_COMMIT OFF
GO
ALTER DATABASE [TestDB] SET CURSOR_DEFAULT GLOBAL
GO
ALTER DATABASE [TestDB] SET CONCAT_NULL_YIELDS_NULL OFF
GO
ALTER DATABASE [TestDB] SET NUMERIC_ROUNDABORT OFF
GO
ALTER DATABASE [TestDB] SET QUOTED_IDENTIFIER OFF
GO
ALTER DATABASE [TestDB] SET RECURSIVE_TRIGGERS OFF
GO
ALTER DATABASE [TestDB] SET DISABLE_BROKER
GO
ALTER DATABASE [TestDB] SET AUTO_UPDATE_STATISTICS_ASYNC OFF
GO
ALTER DATABASE [TestDB] SET DATE_CORRELATION_OPTIMIZATION OFF
GO
ALTER DATABASE [TestDB] SET TRUSTWORTHY OFF
GO
ALTER DATABASE [TestDB] SET ALLOW_SNAPSHOT_ISOLATION OFF
GO
ALTER DATABASE [TestDB] SET PARAMETERIZATION SIMPLE
GO
ALTER DATABASE [TestDB] SET READ_COMMITTED_SNAPSHOT OFF
GO
ALTER DATABASE [TestDB] SET HONOR_BROKER_PRIORITY OFF
GO
ALTER DATABASE [TestDB] SET RECOVERY FULL
GO
ALTER DATABASE [TestDB] SET MULTI_USER
GO
ALTER DATABASE [TestDB] SET PAGE_VERIFY CHECKSUM
GO
ALTER DATABASE [TestDB] SET DB_CHAINING OFF
GO
ALTER DATABASE [TestDB] SET FILESTREAM( NON_TRANSACTED_ACCESS = OFF )
GO
ALTER DATABASE [TestDB] SET TARGET_RECOVERY_TIME = 60 SECONDS
GO
ALTER DATABASE [TestDB] SET DELAYED_DURABILITY = DISABLED
GO
ALTER DATABASE [TestDB] SET ACCELERATED_DATABASE_RECOVERY = OFF
GO
EXEC sys.sp_db_vardecimal_storage_format N'TestDB', N'ON'
GO
ALTER DATABASE [TestDB] SET QUERY_STORE = OFF
GO
USE [TestDB]
GO
/****** Object: Table [dbo].[cityTable] Script Date: 2021/7/23 18:29:26 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE TABLE [dbo].[cityTable](
[id] [int] IDENTITY(1,1) NOT NULL,
[provinceID] [int] NOT NULL,
[cityName] [nvarchar](20) NOT NULL,
CONSTRAINT [PK_cityTable] PRIMARY KEY CLUSTERED
(
[id] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON, OPTIMIZE_FOR_SEQUENTIAL_KEY = OFF) ON [PRIMARY]
) ON [PRIMARY]
GO
/****** Object: Table [dbo].[genderTable] Script Date: 2021/7/23 18:29:26 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE TABLE [dbo].[genderTable](
[id] [bit] NOT NULL,
[name] [nchar](1) NOT NULL,
CONSTRAINT [PK_genderTable] PRIMARY KEY CLUSTERED
(
[id] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON, OPTIMIZE_FOR_SEQUENTIAL_KEY = OFF) ON [PRIMARY]
) ON [PRIMARY]
GO
/****** Object: Table [dbo].[gradeTable] Script Date: 2021/7/23 18:29:26 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE TABLE [dbo].[gradeTable](
[id] [int] IDENTITY(1,1) NOT NULL,
[name] [nvarchar](20) NOT NULL,
[teacherID] [int] NOT NULL,
CONSTRAINT [PK_gradeTable] PRIMARY KEY CLUSTERED
(
[id] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON, OPTIMIZE_FOR_SEQUENTIAL_KEY = OFF) ON [PRIMARY]
) ON [PRIMARY]
GO
/****** Object: Table [dbo].[provinceTable] Script Date: 2021/7/23 18:29:26 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE TABLE [dbo].[provinceTable](
[id] [int] IDENTITY(1,1) NOT NULL,
[province] [nvarchar](10) NOT NULL,
CONSTRAINT [PK_provinceTable] PRIMARY KEY CLUSTERED
(
[id] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON, OPTIMIZE_FOR_SEQUENTIAL_KEY = OFF) ON [PRIMARY]
) ON [PRIMARY]
GO
/****** Object: Table [dbo].[studentTable] Script Date: 2021/7/23 18:29:26 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE TABLE [dbo].[studentTable](
[id] [int] IDENTITY(1,1) NOT NULL,
[name] [nvarchar](10) NOT NULL,
[gender] [bit] NOT NULL,
[cityID] [int] NOT NULL,
[address] [nvarchar](50) NULL,
[gradeID] [int] NOT NULL,
CONSTRAINT [PK_studentTable] PRIMARY KEY CLUSTERED
(
[id] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON, OPTIMIZE_FOR_SEQUENTIAL_KEY = OFF) ON [PRIMARY]
) ON [PRIMARY]
GO
/****** Object: Table [dbo].[teacherTable] Script Date: 2021/7/23 18:29:26 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE TABLE [dbo].[teacherTable](
[id] [int] IDENTITY(1,1) NOT NULL,
[name] [nvarchar](10) NOT NULL,
[gender] [bit] NOT NULL,
[cityID] [int] NOT NULL,
[address] [nvarchar](50) NULL,
[phone] [char](11) NOT NULL,
CONSTRAINT [PK_teacher] PRIMARY KEY CLUSTERED
(
[id] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON, OPTIMIZE_FOR_SEQUENTIAL_KEY = OFF) ON [PRIMARY]
) ON [PRIMARY]
GO
SET IDENTITY_INSERT [dbo].[cityTable] ON
GO
INSERT [dbo].[cityTable] ([id], [provinceID], [cityName]) VALUES (1, 1, N'東城區')
GO
INSERT [dbo].[cityTable] ([id], [provinceID], [cityName]) VALUES (2, 1, N'西城區')
GO
INSERT [dbo].[cityTable] ([id], [provinceID], [cityName]) VALUES (5, 1, N'崇文區')
GO
INSERT [dbo].[cityTable] ([id], [provinceID], [cityName]) VALUES (7, 1, N'宣武區')
GO
INSERT [dbo].[cityTable] ([id], [provinceID], [cityName]) VALUES (8, 1, N'朝陽區')
GO
INSERT [dbo].[cityTable] ([id], [provinceID], [cityName]) VALUES (9, 1, N'豐臺區')
GO
INSERT [dbo].[cityTable] ([id], [provinceID], [cityName]) VALUES (10, 1, N'石景山區')
GO
INSERT [dbo].[cityTable] ([id], [provinceID], [cityName]) VALUES (11, 1, N'海淀區')
GO
INSERT [dbo].[cityTable] ([id], [provinceID], [cityName]) VALUES (12, 1, N'門頭溝區')
GO
INSERT [dbo].[cityTable] ([id], [provinceID], [cityName]) VALUES (13, 1, N'房山區')
GO
INSERT [dbo].[cityTable] ([id], [provinceID], [cityName]) VALUES (14, 1, N'通州區')
GO
INSERT [dbo].[cityTable] ([id], [provinceID], [cityName]) VALUES (15, 1, N'順義區')
GO
INSERT [dbo].[cityTable] ([id], [provinceID], [cityName]) VALUES (16, 1, N'昌平區')
GO
INSERT [dbo].[cityTable] ([id], [provinceID], [cityName]) VALUES (17, 1, N'大興區')
GO
INSERT [dbo].[cityTable] ([id], [provinceID], [cityName]) VALUES (18, 1, N'懷柔區')
GO
INSERT [dbo].[cityTable] ([id], [provinceID], [cityName]) VALUES (19, 1, N'平谷區')
GO
INSERT [dbo].[cityTable] ([id], [provinceID], [cityName]) VALUES (20, 1, N'密云縣')
GO
INSERT [dbo].[cityTable] ([id], [provinceID], [cityName]) VALUES (21, 1, N'延慶縣')
GO
SET IDENTITY_INSERT [dbo].[cityTable] OFF
GO
INSERT [dbo].[genderTable] ([id], [name]) VALUES (0, N'女')
GO
INSERT [dbo].[genderTable] ([id], [name]) VALUES (1, N'男')
GO
SET IDENTITY_INSERT [dbo].[gradeTable] ON
GO
INSERT [dbo].[gradeTable] ([id], [name], [teacherID]) VALUES (5, N'一年級一班', 3)
GO
INSERT [dbo].[gradeTable] ([id], [name], [teacherID]) VALUES (7, N'一年級二班', 4)
GO
INSERT [dbo].[gradeTable] ([id], [name], [teacherID]) VALUES (8, N'一年級三班', 5)
GO
SET IDENTITY_INSERT [dbo].[gradeTable] OFF
GO
SET IDENTITY_INSERT [dbo].[provinceTable] ON
GO
INSERT [dbo].[provinceTable] ([id], [province]) VALUES (1, N'北京')
GO
INSERT [dbo].[provinceTable] ([id], [province]) VALUES (2, N'天津')
GO
INSERT [dbo].[provinceTable] ([id], [province]) VALUES (3, N'河北')
GO
INSERT [dbo].[provinceTable] ([id], [province]) VALUES (4, N'山西')
GO
INSERT [dbo].[provinceTable] ([id], [province]) VALUES (5, N'內蒙古')
GO
INSERT [dbo].[provinceTable] ([id], [province]) VALUES (6, N'遼寧')
GO
INSERT [dbo].[provinceTable] ([id], [province]) VALUES (7, N'吉林')
GO
INSERT [dbo].[provinceTable] ([id], [province]) VALUES (8, N'黑龍江')
GO
INSERT [dbo].[provinceTable] ([id], [province]) VALUES (9, N'上海')
GO
INSERT [dbo].[provinceTable] ([id], [province]) VALUES (10, N'江蘇')
GO
INSERT [dbo].[provinceTable] ([id], [province]) VALUES (11, N'浙江')
GO
INSERT [dbo].[provinceTable] ([id], [province]) VALUES (12, N'安徽')
GO
INSERT [dbo].[provinceTable] ([id], [province]) VALUES (13, N'福建')
GO
INSERT [dbo].[provinceTable] ([id], [province]) VALUES (14, N'江西')
GO
INSERT [dbo].[provinceTable] ([id], [province]) VALUES (15, N'山東')
GO
INSERT [dbo].[provinceTable] ([id], [province]) VALUES (16, N'河南')
GO
INSERT [dbo].[provinceTable] ([id], [province]) VALUES (17, N'湖北')
GO
INSERT [dbo].[provinceTable] ([id], [province]) VALUES (18, N'湖南')
GO
INSERT [dbo].[provinceTable] ([id], [province]) VALUES (19, N'廣東')
GO
INSERT [dbo].[provinceTable] ([id], [province]) VALUES (20, N'廣西')
GO
INSERT [dbo].[provinceTable] ([id], [province]) VALUES (21, N'海南')
GO
INSERT [dbo].[provinceTable] ([id], [province]) VALUES (22, N'重慶')
GO
INSERT [dbo].[provinceTable] ([id], [province]) VALUES (23, N'四川')
GO
INSERT [dbo].[provinceTable] ([id], [province]) VALUES (24, N'貴州')
GO
INSERT [dbo].[provinceTable] ([id], [province]) VALUES (25, N'云南')
GO
INSERT [dbo].[provinceTable] ([id], [province]) VALUES (26, N'西藏')
GO
INSERT [dbo].[provinceTable] ([id], [province]) VALUES (27, N'陜西')
GO
INSERT [dbo].[provinceTable] ([id], [province]) VALUES (28, N'甘肅')
GO
INSERT [dbo].[provinceTable] ([id], [province]) VALUES (29, N'青海')
GO
INSERT [dbo].[provinceTable] ([id], [province]) VALUES (30, N'寧夏')
GO
INSERT [dbo].[provinceTable] ([id], [province]) VALUES (31, N'新疆')
GO
INSERT [dbo].[provinceTable] ([id], [province]) VALUES (32, N'臺灣')
GO
INSERT [dbo].[provinceTable] ([id], [province]) VALUES (33, N'香港')
GO
INSERT [dbo].[provinceTable] ([id], [province]) VALUES (34, N'澳門')
GO
SET IDENTITY_INSERT [dbo].[provinceTable] OFF
GO
SET IDENTITY_INSERT [dbo].[studentTable] ON
GO
INSERT [dbo].[studentTable] ([id], [name], [gender], [cityID], [address], [gradeID]) VALUES (2, N'張三', 1, 1, N'xx街道', 5)
GO
INSERT [dbo].[studentTable] ([id], [name], [gender], [cityID], [address], [gradeID]) VALUES (3, N'李四', 0, 7, NULL, 5)
GO
INSERT [dbo].[studentTable] ([id], [name], [gender], [cityID], [address], [gradeID]) VALUES (4, N'王五', 1, 7, NULL, 5)
GO
INSERT [dbo].[studentTable] ([id], [name], [gender], [cityID], [address], [gradeID]) VALUES (5, N'趙六', 0, 8, NULL, 7)
GO
INSERT [dbo].[studentTable] ([id], [name], [gender], [cityID], [address], [gradeID]) VALUES (6, N'田七', 1, 7, NULL, 7)
GO
INSERT [dbo].[studentTable] ([id], [name], [gender], [cityID], [address], [gradeID]) VALUES (7, N'劉八', 0, 9, NULL, 5)
GO
INSERT [dbo].[studentTable] ([id], [name], [gender], [cityID], [address], [gradeID]) VALUES (8, N'錢九', 0, 7, NULL, 7)
GO
SET IDENTITY_INSERT [dbo].[studentTable] OFF
GO
SET IDENTITY_INSERT [dbo].[teacherTable] ON
GO
INSERT [dbo].[teacherTable] ([id], [name], [gender], [cityID], [address], [phone]) VALUES (3, N'老師1', 0, 1, N'xx街道', N'11111111111')
GO
INSERT [dbo].[teacherTable] ([id], [name], [gender], [cityID], [address], [phone]) VALUES (4, N'老師2', 0, 1, N'yy街道', N'22222222222')
GO
INSERT [dbo].[teacherTable] ([id], [name], [gender], [cityID], [address], [phone]) VALUES (5, N'老師3', 1, 1, N'xx街道', N'11111111112')
GO
SET IDENTITY_INSERT [dbo].[teacherTable] OFF
GO
ALTER TABLE [dbo].[cityTable] WITH CHECK ADD CONSTRAINT [FK_cityTable_provinceTable] FOREIGN KEY([provinceID])
REFERENCES [dbo].[provinceTable] ([id])
GO
ALTER TABLE [dbo].[cityTable] CHECK CONSTRAINT [FK_cityTable_provinceTable]
GO
ALTER TABLE [dbo].[gradeTable] WITH CHECK ADD CONSTRAINT [FK_gradeTable_teacherTable] FOREIGN KEY([teacherID])
REFERENCES [dbo].[teacherTable] ([id])
GO
ALTER TABLE [dbo].[gradeTable] CHECK CONSTRAINT [FK_gradeTable_teacherTable]
GO
ALTER TABLE [dbo].[studentTable] WITH CHECK ADD CONSTRAINT [FK_studentTable_cityTable] FOREIGN KEY([cityID])
REFERENCES [dbo].[cityTable] ([id])
GO
ALTER TABLE [dbo].[studentTable] CHECK CONSTRAINT [FK_studentTable_cityTable]
GO
ALTER TABLE [dbo].[studentTable] WITH CHECK ADD CONSTRAINT [FK_studentTable_genderTable] FOREIGN KEY([gender])
REFERENCES [dbo].[genderTable] ([id])
GO
ALTER TABLE [dbo].[studentTable] CHECK CONSTRAINT [FK_studentTable_genderTable]
GO
ALTER TABLE [dbo].[teacherTable] WITH CHECK ADD CONSTRAINT [FK_teacherTable_cityTable] FOREIGN KEY([cityID])
REFERENCES [dbo].[cityTable] ([id])
GO
ALTER TABLE [dbo].[teacherTable] CHECK CONSTRAINT [FK_teacherTable_cityTable]
GO
ALTER TABLE [dbo].[teacherTable] WITH CHECK ADD CONSTRAINT [FK_teacherTable_genderTable] FOREIGN KEY([gender])
REFERENCES [dbo].[genderTable] ([id])
GO
ALTER TABLE [dbo].[teacherTable] CHECK CONSTRAINT [FK_teacherTable_genderTable]
GO
USE [master]
GO
ALTER DATABASE [TestDB] SET READ_WRITE
GO
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/290516.html
標籤:其他
下一篇:盤點物聯網架構的4個必要階段
