SQL Server菜鸟

一、小菜鸟

(1).增:insert into 表名(字段) values(值)
(2).删:delete from 表名 where 限制条件
(3).改:update 表名 set 字段名=字段值 where 限制条件
(4).查:select 字段名(全字段名时也可用‘*’号) from 表名
(5).创建数据库:create database 数据库名
(6).创建表:create table 表名(字段名 数据类型,
字段名 数据类型,
…);
(7).删除表:drop table 表名
(8).去重:distinct
分组:group by
排序:order by(降序后面跟desc,升序不管)

数据库中查询表和表的信息(可模糊查询):
	select * from information_schema.tables where table_name =表名
给表添加新的字段:
	alter table 表名 add 字段名 数据类型 约束条件

二、菜鸟

(1).非空约束:Not Null
(2)唯一约束:Unique
(3)主键约束:Primary Key
(4)外键约束:Foreign Key

功能聚合函数
统计数量COUNT
--
平均数AVG
--
最大/最小MAX/MIN
--
求和SUM
--
从文本字段中提取字符SUBSTRING
--
类型转换CAST/CONVERT
--
值为null则赋值为指定值isNULL

三、大菜鸟

1、 BEGIN…END语句
语句块是多条Transact-SQL语句组成的代码段,从而可以执行一组Transact-SQL语句。BEGIN和END是控制流语言的关键字。BEGIN…END语句块通常包含在其他控制流程中,用来完成不同流程中有差异的代码功能。

2、WHILE语句
WHILE语句根据条件重复执行一条或多条T-SQL代码,只要条件表达式为真,就循环执行语句。可以使用 BREAK 和 CONTINUE 关键字在循环内部控制 WHILE 循环中语句的执行。

DECLARE @count INT
SELECT @count = 0
WHILE @count < 10
BEGIN
    PRINT 'count = ' + CONVERT(VARCHAR(10), @count)
    SELECT @count = @count + 1
END

3、IF…ELSE语句
IF…ELSE语句用于在执行一组代码之前进行条件判断,根据判断的结果执行不同的代码。IF…ELSE语句语句对布尔表达式进行判断,如果布尔表达式返回为TRUE,则执行IF关键字后面的语句块;如果布尔表达式返回FALSE,则执行 ELSE关键字后面的语句块。

DECLARE @score INT
SET @score = 100
IF @score >= 60
    PRINT '及格'
ELSE
    PRINT '不及格'

DECLARE:定义变量

4、CASE语句
CASE语句是多条件分支语句,相比IF…ELSE语句,CASE语句进行分支流程控制可以使代码更加清晰,易于理解。CASE语句根据表达式逻辑值的真假来决定执行的代码流程。

DECLARE @score INT
SET @score = 100

SELECT CASE 
            WHEN @score >= 90 THEN '优秀'
            WHEN @score >= 80 THEN '良好'
            WHEN @score >= 70 THEN '中等'
            WHEN @score >= 60 THEN '及格'
            ELSE '不及格'
        END
        AS '成绩'

四、老菜鸟

1、视图
视图是虚拟表,它存储的不是表信息,而是sql逻辑,为了便于查询,实现了sql逻辑复用。
语法:Create view 视图名称 AS sql逻辑
视图命名规范:通常以 V_ 、View 开头接本视图的的名称

create view V_StudentScore
as
select s.CNO,s.CName,s.CSex,s.Iage,s.CNation,s.CIDCard,r.Lessons,r.Score
from TBStudent s,TBScore r
where s.CNO=r.CNO;

2、函数

语法:Create function 函数名(参数名 数据类型)
	 Returns 数据类型
	 Begin
	 代码逻辑
	 end

自定义函数调用:

select 函数名(参数)

3、存储过程
提高代码复用,重复使用的逻辑可以放在一个存储过程里,使用时直接调用即可。

CREATE  PROCEDURE 过程名 参数 数据类型(多个参数用逗号隔开)
as
begin
代码逻辑
end

在管理数据库工具中调用过程的方法:

exec 过程名

五、混合

rtrim():去除字符串右边的空字符串
ltrim():去除字符串左边的空字符串
charindex(string1,string2[,index]):两参数时,从1位置开始查找string2中是否包含string1.三参数时,从index处开始查找string2中是否包含string1,包含时返回string1的起始位置,不包含时返回0。
left(character,integer):参数1:要截取的字符串,参数2:截取字符个数,返回从字符串左边开始指定个数的字符
right(character,integer):参数1:要截取的字符串,参数2:截取字符个数返回从字符串右边开始指定个数的字符
substring(character,start,length):参数1:要截取的字符串,参数2:开始截取的下标,参数3:截取的字符长度
Stuff(expression1_Str,startIndex,lengthInt,expression2_Str):有四个参数,
其功能是将expression1_Str中自startIndex位置起删除lengthInt个字符,然后将expression2插入到expression1_Str中的startIndex位置。startIndex 从1开始
  • 0
    点赞
  • 0
    评论
  • 0
    收藏
  • 一键三连
    一键三连
  • 扫一扫,分享海报

©️2021 CSDN 皮肤主题: 数字20 设计师:CSDN官方博客 返回首页
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值