首先大家要知道資料庫是由哪三個部分組成的.解析:01.資料庫文件:*.mdf02.次要數據文件:*.ndf03.日誌文件:*.ldf每個資料庫至少要包含兩個文件:一個數據文件和一個日誌文件.數據文件中包含了資料庫的數據和對象,如表,視圖和索引等;日誌文件中包含了用於恢複數據庫所需的信息.創建資料庫時...
首先大家要知道資料庫是由哪三個部分組成的.
解析:
01.資料庫文件:*.mdf
02.次要數據文件:*.ndf
03.日誌文件:*.ldf
每個資料庫至少要包含兩個文件:一個數據文件和一個日誌文件.數據文件中包含了資料庫的數據和對象,如表,視圖和索引等;日誌文件中包含了用於恢複數據庫所需的信息.創建資料庫時,次要資料庫文件可選.一個資料庫可以有多個資料庫文件和多個日誌文件.
一.使用SQL語句創建資料庫
以Myschool資料庫為例:
create database Myschool
on primary --預設屬於primary主文件組,可省略
(
-----------數據文件的具體描述---------
--主數據文件的邏輯名稱
name='Myschool_data',
--主數據文件的物理名稱
filename='E:\Myschool.mdf',
--主數據文件的初始大小
size=5,
--主數據文件增長的最大值
maxsize=100,
--主數據文件的增長率
filegrowth=15%
)
Log on
(
---------日誌文件的具體描述---------
--日誌文件的邏輯名稱
name='Myschool_log',
--日誌文件的物理名稱
filename='E:\Myschool.ldf',
--日誌文件的初始大小
size=2,
--日誌文件的增長率
filegrowth=1
)
二.使用SQL刪除資料庫
--刪除資料庫名稱為Myschool
drop database Myschool
三.檢測要創建的資料庫是否存在
use master --設置當前資料庫為master ,以便訪問sysdatabase表
if exists(select * from sysdatabases where name='Myschool')
--如果存在則刪除Myschool資料庫
drop database Myschool
--重新創建Myschool資料庫
create database Myschool
on primary --預設屬於primary主文件組,可省略
(
-----------數據文件的具體描述---------
--主數據文件的邏輯名稱
name='Myschool_data',
--主數據文件的物理名稱
filename='E:\Myschool.mdf',
--主數據文件的初始大小
size=5mb,
--主數據文件增長的最大值
maxsize=100mb,
--主數據文件的增長率
filegrowth=15%
)
Log on
(
---------日誌文件的具體描述---------
--日誌文件的邏輯名稱
name='Myschool_log',
--日誌文件的物理名稱
filename='E:\Myschool.ldf',
--日誌文件的初始大小
size=2mb,
--日誌文件的增長率
filegrowth=1mb
)
四.如何在指定的路徑下創建文件夾.
xp_cmdshell時SQL server的擴展儲存過程,他以操作系統命令行解釋器的方式執行給定的命令字元串,並以文本行的方式返回任何輸入.
在SQL server Management Studio 中,如果希望在操作系統的指定路徑下創建文件夾,可以使用下麵的語句:
EXEC xp_cmdshell 'mkdir E:\project'
其中,字元串mkdir E:\project 是DOS命令用於在E盤下創建文件夾.
註意.在使用xp_cmdshell之前,需要執行sp_configure以啟用xp_cmdshell
EXEX sp_configure 'show advanced options',1
go
reconfigure
co
EXEC sp_configure 'xp_cmdshell',1
go
reconfigure
go
五.使用SQL語句創建表
create table 表名
(
列1 數據類型 列的特征,
列2 數據類型 列的特征
)
列的特征:包括該列是否為空,是否是標識列,是否有預設值,是否是主鍵等.
eg:
--同創建資料庫一樣,如果當前資料庫中已存在Student表,則再次創建時系統會提示錯誤,所以我們需要先檢測當前資料庫
--中是否存在該表,如果存在該表,則刪除,然後在創建.
use myschool
if exists(select * from sysobjects where name='student')
drop table student--刪除表student
------------創建表Myschool中的學生表--------
create table student
(
studentNO int not null,--學號,非空
studentname nvarchar(20) not null,--學生姓名,非空
Sex bit not null ,--性別,非空,取值0或1
gradeid int not null,--年級編號
phone nvarchar(50) null, --聯繫電話,允許為空
address nvarchar(200) null, --住址,允許為空
bornDate datetime null,--出生日期,允許為空
Email nvarchar(50) null,--郵箱,允許為空
Cid varchar(18) not null --身份證,非空
)
六.使用sql語句刪除表
drop table student
七.使用sql語句創建和刪除約束
01.實體完整性:唯一確定表中一行記錄.
02.域完整性:表中特定列數據的有效性,以確保不會輸入無效的數值.
03.引用完整性:插入或刪除記錄時,維護表之間定義的關係.
04.自定義完整性:為了確保資料庫的數據完整性.
常用的約束類型:
01.主鍵約束(Primary Key Constraint):要求主鍵列數據唯一,並且不允許為空.
02.非空約束:(not null):要求列不能存在空值.
03.檢唯一約束:(Unique Constraint):要求該列的值必須唯一,允許為空,但只能出現一個空值.
04.預設約束:(Dafault Constraint):某列的預設值.
05.外鍵約束:(Foregin Key Constraint):用於在兩表之間建立關係,需要指定引用主表的哪一列.
添加約束的語法:
alter table 表名
add Constraint 約束名 約束類型 具體的約束說明
--把studentno學號列設置為主鍵
alter table student
add constraint PK_studentno primary Key (studentno)
--把身份證號列cid添加唯一約束
alter table student
add constraint UQ_cid unique(cid)
--把地址列添加預設約束
alter table student
add constraint DF_address Default('地址不詳') for address
--為出生日期列添加檢查約束
alter table student
add constraint CK_bornDate Check(bornDate>='1980-01-01')
--添加外鍵約束(主表student和從表result建立關係,關聯列為StudentNo)
alter table result
add constraint FK_studentno foreign key (studentno) references student(studentno)
--添加grade表中的主鍵
alter table grade
add constraint pk_gradeid primary key (gradeid)
--添加外鍵約束(主表grade和從表student建立關係,關聯列為gradeid)
alter table grade
add constraint FK_gradeid foreign key (gradeid) references grade(gradeid)
刪除約束:
語法:
alter table 表名
drop Constraint 約束名
eg:刪除student表中地址預設約束
alter table student
drop constraint DF_adress
八.sqlserver 文檔
如何查看 sql server 幫助:
把游標放置在需要查找某個語法的關鍵字上方,飯F1鍵,就會啟動Sql server聯機叢書,並查找出有關關鍵字的幫助資料.