SQL语句整理[第一章](学习笔记)
一、对数据库的基本操作1.创建数据库: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.修改数据库: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是向数据库添加文件;modify是扩展空间大小】
3.压缩数据库:dbcc shrinkdatabase(database-name,target-percent);
例:sp_dboption sales,'single user',true 【注:压缩前必须把用户设置为单用户】
dbcc shrinkdatabase(sales,25) 【注:减小数据库大小到原来的25%】
sp_dboption sales,'single user',fales 【注:将数据库再设置为多用户模式】
4.删除数据库:drop database database-name;
例:drop database sales
二、对数据库表基本操作
1.创数据库建表: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 【注:增加删除时不能加()否则错误】
3.删除数据库表:drop table table_name
例:drop table orders
4.使用约束强制执行数据完整性:
约束类型:(1)primary key约束:指定表中哪一列将充当主键。
例:create table student(studID identity(100,5) primary key,
name varchar(20) not null, telNo varchar(20))
(2)foreing key约束:定义列值与另一个表的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约束:以确保列中不输入重复值。
例:alter table student add constraint unq_telNo unique(TelNo)
(4)check约束:根据指定值测试列中的输入值。每次在更新数据时都要测试。
例:alter table student add check(sex in ('m','f'))
alter table student add check(age like('[0-9][0-9]'))
(5)default约束:用于用户在没有提供列值时,提供一个自动添加的列值。
例: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