一、對(duì)數(shù)據(jù)庫(kù)的基本操作
1.創(chuàng)建數(shù)據(jù)庫(kù):create database database-name;
例:create database sales
ON
(NAME=sales_dat,FILENAME="c:\mssql\data\saledat.mdf",
SIZE=10,MAXSIZE=50,FIELGROWTH=5)
LOG ON
(NAME=sales_log,FILENAME="c:\mssql\data\salelog.ldf",
SIZE=10mb,MAXSIZE=50MB,FIELGROWTH=5MB)
2.修改數(shù)據(jù)庫(kù):alter database database-name;
例:alter database sales
add file(name=sales_dat_2,filename='c:\mssql\data\salesdat1.ndf',
size=5mb,maxsize=100mb,filegrowth=5mb)
modify file(name=sales_dat,size=5mb)
【注:add file是向數(shù)據(jù)庫(kù)添加文件;modify是擴(kuò)展空間大小】
3.壓縮數(shù)據(jù)庫(kù):dbcc shrinkdatabase(database-name,target-percent);
例:sp_dboption sales,'single user',true
【注:壓縮前必須把用戶設(shè)置為單用戶】
dbcc shrinkdatabase(sales,25)
【注:減小數(shù)據(jù)庫(kù)大小到原來(lái)的25%】
sp_dboption sales,'single user',fales
【注:將數(shù)據(jù)庫(kù)再設(shè)置為多用戶模式】
4.刪除數(shù)據(jù)庫(kù):drop database database-name;
例:drop database sales
二、對(duì)數(shù)據(jù)庫(kù)表基本操作
1.創(chuàng)數(shù)據(jù)庫(kù)建表:create table table-name(col_name1 column_properties,
col_name2 column_properties,...)
例:create table orders(OrderNo char(4) not null,OrderDate datetime not null,
SalesExecCode char(4) not null)
2.添加和刪除列:alter table table_name(add column_name column_porperties)|(drop column column_name)
例:alter table employee add department char(20) null
alter table employee drop column department
【注:增加刪除時(shí)不能加()否則錯(cuò)誤】
3.刪除數(shù)據(jù)庫(kù)表:drop table table_name
例:drop table orders
4.使用約束強(qiáng)制執(zhí)行數(shù)據(jù)完整性:
約束類型:(1)primary key約束:指定表中哪一列將充當(dāng)主鍵。
例:create table student(studID identity(100,5) primary key,
name varchar(20) not null, telNo varchar(20))
(2)foreing key約束:定義列值與另一個(gè)表的primary key相匹配的列。
例:create table studmark(examlID int not null,marks int not null,studID int not null,
primary key(examlID),foreign key(studID) references student)
(3)unique約束:以確保列中不輸入重復(fù)值。
例:alter table student add constraint unq_telNo unique(TelNo)
(4)check約束:根據(jù)指定值測(cè)試列中的輸入值。每次在更新數(shù)據(jù)時(shí)都要測(cè)試。
例:alter table student add check(sex in ('m','f'))
alter table student add check(age like('[0-9][0-9]'))
(5)default約束:用于用戶在沒(méi)有提供列值時(shí),提供一個(gè)自動(dòng)添加的列值。
例:alter table studmarks add constraint df_examid default(101) for examid
【注:不能在timestamp和有identity屬性列中定義default約束】
(6)去除約束
例:alter table studmarks drop constraint df_examid
alter table table_name(表名)drop PRIMARY KEY CASCADE
alter table table_name(表名)drop constraint pk_name(主鍵名)CASCADE