此处源于一个基本的SQL Server试题,基本上涵盖了SQL Server的全部基本语法,粘贴在此处,权当分享
--1、 创建TestDB数据库
create database TestDB;
--2、 查看TestDB数据库是否存在
IF EXISTS (SELECT 1 FROM SYSDATABASES WHERE NAME='TestDB') SELECT 1 ELSE SELECT 0;
--3、 在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;
--4、 给学生表增加stuSex性别字段
alter table stuInfo add stuSex smallint not null ;
--5、 修改学生表的姓名列,新列名为Name
exec sp_rename 'stuInfo.stuName','Name','column';
--6、 将学生表的自动编号列修改为主键
ALTER TABLE stuInfo ADD CONSTRAINT PK_stuSeat PRIMARY KEY (stuSeat);
--7、 向学生表中写入数据
insert into stuInfo(Name,stuNo,stuAge,stuID,stuSex) values ('tangxin',1,18,'12365868',1);
--8、 通过学生表的学号修改学生表的数据
update stuInfo set stuAge=17 where stuID='12365868';
--9、 通过自动编号删除学生表的数据
delete from stuInfo where stuSeat=100;
--10、 删除学生表所有的数据
truncate table stuInfo;
--11、 查询学生表是否存在,如果存在就删除
if EXISTS (SELECT * FROM sysobjects WHERE NAME='stuInfo') drop table stuInfo ELSE print 'not EXISTS';
--12、 删除学生表的年龄列
alter table stuInfo drop Constraint CK__stuInfo__stuAge__2EDAF651; -- 由于年龄列存在约束,要先删除约束
alter table stuInfo drop column stuAge ;
--13、 删除主键约束
exec sp_helpconstraint @objname=stuInfo; -- 查看所有约束
alter table stuInfo drop Constraint PK_stuSeat;
--14、 删除TestDB数据库
drop database TestDB;
--15、 写脚本打印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