此處源於一個基本的SQL Server試題,基本上涵蓋了SQL Server的所有基本語法,粘貼在此處,權當分享
--一、 建立TestDB數據庫
create database TestDB;
--二、 查看TestDB數據庫是否存在
IF EXISTS (SELECT 1 FROM SYSDATABASES WHERE NAME='TestDB') SELECT 1 ELSE SELECT 0;
--三、 在TestDB數據庫建立stuInfo學生表,字段:stuSeat座位號,stuName姓名,stuNo學號,stuAge年齡,stuID身價證號碼,stuAddress住址
--要求座位號是從100開始的自動編號,姓名不能爲空,學號不能重複,年齡只能在0-100,stuAddress默認值爲「未填寫」
if EXISTS (SELECT * FROM sysobjects WHERE NAME='stuInfo') drop table stuInfo ELSE print 'goon';
create table stuInfo(
stuSeat int IDENTITY(100,1),
stuName varchar(100) not null,
stuNo int unique,
stuAge int check(stuAge between 0 and 100) ,
stuID varchar(100),
stuAddress varchar(100) default '未填寫' -- 不能限制not null ,不然會報二進制錯誤
);
select * from stuInfo;
--四、 給學生表增長stuSex性別字段
alter table stuInfo add stuSex smallint not null ;
--五、 修改學生表的姓名列,新列名爲Name
exec sp_rename 'stuInfo.stuName','Name','column';
--六、 將學生表的自動編號列修改成主鍵
ALTER TABLE stuInfo ADD CONSTRAINT PK_stuSeat PRIMARY KEY (stuSeat);
--七、 向學生表中寫入數據
insert into stuInfo(Name,stuNo,stuAge,stuID,stuSex) values ('tangxin',1,18,'12365868',1);
--八、 經過學生表的學號修改學生表的數據
update stuInfo set stuAge=17 where stuID='12365868';
--九、 經過自動編號刪除學生表的數據
delete from stuInfo where stuSeat=100;
--十、 刪除學生表全部的數據
truncate table stuInfo;
--十一、 查詢學生表是否存在,若是存在就刪除
if EXISTS (SELECT * FROM sysobjects WHERE NAME='stuInfo') drop table stuInfo ELSE print 'not EXISTS';
--十二、 刪除學生表的年齡列
alter table stuInfo drop Constraint CK__stuInfo__stuAge__2EDAF651; -- 因爲年齡列存在約束,要先刪除約束
alter table stuInfo drop column stuAge ;
--1三、 刪除主鍵約束
exec sp_helpconstraint @objname=stuInfo; -- 查看全部約束
alter table stuInfo drop Constraint PK_stuSeat;
--1四、 刪除TestDB數據庫
drop database TestDB;
--1五、 寫腳本打印9*9乘法表
declare @x int
set @x=1
declare @y int
declare @c varchar(8000)
while(@x<=9)
begin
select @y=1,@c=''
while(@y<=@x)
begin
select @c=@c+cast(@y as varchar)+'*'+cast(@x as varchar)+'='+cast(@x*@y as varchar)+' '
set @y=@y+1
end
print @c+char(10)
set @x=@x+1
end