变量,赋值,循环,字符串函数,日期函数,数学函数

--变量

--1.:声明变量   declare @变量名 类型

--2.赋值set @变量名 =值

           -- select@变量名=值

--3.输出显示到控制台 select @变量名;

--           print @变量名

 

declare @a int;

declare @b varchar(20);

set @a=10;

select @b='sg';

 

select @a;

print @b;

 

--赋值 set 和select区别  :set一次赋值一个值;select可以赋值多个

 

declare @c int,@d varchar(20);

 

set @c=15;

set @d='rg'

select @c=20,@d='sfi';

 

--注意 begin开始 end 结束

--分支结构:if 条件

--begin

--  内容

--end

--else if

--begin

--  内容

--end

--else

--begin

--  内容

--end

 

--输入分数  >90 输出优秀   >80 输出良好    >60输出及格   否则输出挂科

 

declare @dd int;

declare @ddd varchar(50);

 

set @dd=65;

if @dd>90

begin 

set @ddd='优秀';

end

else if @dd>80

begin 

set @ddd='良好';

end

else if @dd>60

begin 

set @ddd='及格';

end

else

begin 

set @ddd='挂科';

end

 

print @ddd;

 

--循环

--while 条件

--begin

--  循环体

--  break;|continue;

--end

 

declare @i int = 1;

while @i <= 100

begin

print @i;

select @i=@i+1;

end

 

--系统内置函数

--字符串函数

--1.截取 substring(字符串,开始下表,截取长度)

declare @str varchar(50)='abcdefg';

print substring(@str ,3,3)

--2.获取字符串长度:len(字符串)

select LEN(@str)

--3.字符串替换

--stuff(字符串,起始下标i,删除长度n,替换字符串)

select STUFF(@str,2,2,'渣渣')

--4.转换为大写字符串upper

--upper(字符串)

select upper('abcdefg') 

--大转小 lolower(字符串)

select lower('ABCDEFG') 

--.反序字符串reverse(字符串)

select reverse('12345') 

--日期函数

--1.获取当前日期:getdata()

select GETDATE()

--2.获取部分日期 datepart(获取类型,日期)

select DATEPART(DAY,GETDATE())

--3添加或减少时间: dateadd(类型,数量,日期)

select DATEADD(Month,-4,GETDATE())

--4.获取两个日期的间隔datediff:(类型,开始日期,结束日期)

select datediff(YEAR,'1555-1-1',GETDATE())

--数学函数

--1.随机数;rand()

select RAND()

--2.向上取整 ceiling (数)

select CEILING(3.14)

--3.向下取整 floor(数)

select FLOOR (3.14)

--4.四舍五入 round(数,小数点后几位)

select ROUND(3.2545,3)

 

--索引
--优点:加快查询速度
--缺点:占用空间,数据越大维护费用越大
--分类
--按存储结构区分:"聚集索引","非聚集索引"
--按数据唯一性区分:"唯一索引","非唯一索引"
--添加索引的格式 :unique 唯一 clustered聚集 nonclustered:非聚集索引 --create [unique] [clustered|nonclustered] index 索引名字 on 表名(列名 asc|desc) create nonclustered index idx_s_p on dbo.t_Student(sPhone) --查看索引 --exec sp_helpindex 表名; exec sp_helpindex t_Student --删除索引
--drop index 表名|视图.索引名;
drop index t_Student.idx_s_p;

--视图:是由一张或多张表中的数据组成
--视图分类 :标准视图 索引视图 分区视图

--1.创建视图
--create view 视图名 as sql语句
create view v_stu as
select s.sName,r.rScore,m.mName from dbo.t_Student s
join dbo.t_Result r on s.stuNo=r.stuNo
join dbo.t_Major m on m.mid=s.mid

select * from v_stu
--2.修改视图
--alter view 视图名 as 新sql语句

--3.使用视图
--select * from 视图名

--4.删除视图
--drop view 视图名

--5.使用sp_help存储过程查看视图的定义信息
--exec sp_help 视图名

 

posted @ 2021-09-08 16:47  djx359  阅读(69)  评论(0)    收藏  举报