SQL Server基础-SQL语句

本文介绍了如何使用SQL Server进行数据库管理,包括创建、查看数据库,创建表并设置约束,修改表结构,插入、更新和删除数据,以及删除表和数据库。示例包括创建TestDB数据库,stuInfo学生表,以及执行数据库操作如添加、修改和删除字段。

--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

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

老罗技术

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值