SQL SERVER 學習過程(一)
阿新 • • 發佈:2022-03-03
還記得以前在學校的學習過資料庫SQL SERVER 2008 R2 的教程,從學校畢業出來後的哪家單位基本沒怎麼使用過資料庫,現在也忘得差不多了
做些相關的練習熟悉熟悉
--建立資料庫-- create database Archive2 -- 建立Archive2資料庫-- on primary (name=Arch21, filename='D:\Program Files\Microsoft SQL Server\MSSQL11.MYSQLSERVER\MSSQL\DATA\archdat21.mdf', size=100mb, maxsize=200, filegrOwth=20) -- 設定存放路徑,資料庫大小增長量大小-- log on (name=ArchLOG, FILENAME='D:\Program Files\Microsoft SQL Server\MSSQL11.MYSQLSERVER\MSSQL\DATA\ARCHDAT_LOG.LDF', SIZE =10MB, MAXSIZE=20, FILEGROWTH=2) -- 設定log檔案存放路徑以及大小和增長量-- GO --向資料庫中增加指定檔案組命令-- alter database Archive2 add filegroup filegroup --修改檔案組屬性-- alter database Archive2 modify filegroup filegroup name=filegroup1 go --刪除檔案組-- alter database Archive2 REMOVE FILEGROUP filegroup1 --向資料庫中新增檔案-- /*在資料庫中新增Arch2,初始大小100MB,最大檔案大小為200MB,每次檔案自動增長大小為20MB*/ alter database Archive2 add file (name= Arch2, filename='D:\Program Files\Microsoft SQL Server\MSSQL11.MYSQLSERVER\MSSQL\DATA\Arch2.mdf', size =100mb, maxsize=200, filegrowth=20 ) go --向指定檔案組中新增檔案-- /*使用to filegroup 關鍵字向指定的檔案組中新增資料檔案,子啊資料庫中Archive2中新增資料組file group1, 然後在這個資料組中新增檔案Arch3,並設定資料庫檔案大小,增長值,最大值,路徑等*/ alter database Archive2 add filegroup filegroup1 go alter database Archive2 add file (name=Arch3, filename='D:\Program Files\Microsoft SQL Server\MSSQL11.MYSQLSERVER\MSSQL\DATA\archdat3.mdf', size=100mb, maxsize=200, filegrowth=10) to filegroup filegroup1 go --向資料庫中新增日誌檔案及其定義,名稱為Archive_log,初始大小為10MB,最大檔案為100MB,每次檔案自動增長2MB-- alter database Archive2 add log file (name=Archive_log, filename='D:\Program Files\Microsoft SQL Server\MSSQL11.MYSQLSERVER\MSSQL\DATA\Archive_log.mdf', size=10mb, maxsize=100, filegrowth=2) go --修改資料庫中的檔案-- /*修改Arch2的大小為150MB*/ alter database Archive2 modify file (name=Arch2, size=150mb) go --如果空間不足可以使用下面方法,將資料庫移動到其他位置,需要目錄存在,-- alter database Archive2 modify file (name=Arch2, filename = N'D:\Microsoft SQL Server\DATA\archdat21.ndf') go --刪除資料庫中的檔案,刪除Archive2中資料檔案Arch3-- alter database Archive2 remove file Arch3 go --從系統檢視中 sys.database_files 中獲取當前資料庫檔案中的資訊-- use Archive2 go select * from sys.database_files go -- 收縮指定的資料庫檔案,這裡收縮Archive2中的Arch2的檔案收縮至50MB-- use Archive2 go dbcc shrinkfile(Arch2,50) go --演示使用emptyfile關鍵字清除資料庫檔案,將資料庫Archive2中的檔案Arch21清空-- use Archive2 go dbcc shrinkfile(Arch21,emptyfile) go alter database Archive2 remove file Arch21 go --設定自動收縮資料庫選項-- --auto_shrink 設定為on,則定期自動啟動收縮資料庫的功能,防止書看劇苦單個檔案過大-- alter database Archive2 set auto_shrink on --重新命名資料庫,前提先設定資料庫為單使用者模式,且無人在訪問,將Archive2改為Archive -- sp_renamedb 'Archive2','Archive' --刪除資料庫-- drop database Archive --移動使用者資料庫-- /* 先將資料庫設定為離線 */ use Archive alter database Archive SET offline --移動檔案到其他位置,例如:將Archive.mdf移動到d:\MySQL\data\file目錄下 alter database Archive modify file (name=Archive,filename='d:\MySQL\data\file\Archive.mdf') --設定資料庫為線上狀態-- alter database Archive set online /*在表的邏輯結構中,每一行代表一條資料,每一列代表表中的一個欄位,列的定義決定了表的結構,行則是表中的資料 列就是欄位,每個表中最多可以存在1024個列,需要指定資料型別 表分為永久表和臨時表,資料通常存放在永久表中,使用者不刪除則一直存在,臨時表存放在tempdb中,不再使用,系統自動刪除 臨時表分為:本地臨時表和全域性臨時表 本地臨時表以#符號開頭,當前連線使用者可見,斷開連線後,自動刪除 全域性臨時表以##符號開頭,全域性臨時表對所有連線資料庫的使用者都有效,斷開連線後,自動刪除 */ --表約束-- /*設計資料庫時需要考慮資料完整性,要求某個欄位必須存在,否則會造成資料庫中存在大量無效資料庫 表約束提供一種強制實現資料庫完整性條件的機制,它包含主鍵約束、唯一性約束、檢查約束、預設約束、外來鍵約束 --主鍵(PRIMARY KEY)約束-- 主鍵是一列或一組列,其值可以唯一地標識表中的每一行,也就是說每一行的主鍵各不相同,這樣就可以通過主鍵的值返回過來確定每一行。 在建立和修改表時,可以定義主鍵約束。主鍵列的值不允許為空。 --唯一性(UNIQUE)約束-- 唯一性約束可以保證除主鍵外的其他若干列的資料唯一性,以防止在列中輸入重複的值。 一個表中可以定義多個唯一性約束,而主鍵約束只有一個。 --檢查(CHECK)約束-- 檢查約束指定表中若干可以接受的資料值或格式,如果記錄不滿足約束檢查,則不將其插入到表中 --預設(DEFAULT)約束-- 預設約束可以為指定列定義一個預設值,在輸入資料時,如果沒有輸入該列的值,則該列的值就是預設列的值 --外來鍵(FOREIGN KEY)約束-- 外來鍵約束則是用於建立和加強兩個表資料之間的連線,通過將表中的主鍵列新增到另一個表中,可建立兩個表之間的連線。 這個主鍵列就是第二個表的外來鍵。外來鍵約束可以確保新增到外來鍵表中的任何行在主表中都存在相應的行。 */ --檢視-- /*檢視相當於把對錶的查詢儲存起來,檢視中儲存的是不是資料,而是查詢表的select語句 檢視兼有表和查詢的特點;與查詢相類似的是,檢視可以用來從一個或多個相關聯的表或檢視中提取有用資訊;與表相類似的是, 檢視可以用來更新其中的資訊,並將更新結果永久儲存在磁碟上.我們可以用檢視使資料暫時從資料庫中分離成為遊離資料, 以便在主系統之外收集和修改資料.*/