SQL server 基础

1|0数据库创建

1|1创建数据表

create table ( 字段1 字段类型 not null字段2 字段类型 ) primary key()

1|2删除数据表

drop table 表名

1|3增加字段

alter table xxx add 列名 类型

1|4修改字段类型或长度

alter tablealter column 字段名 类型

1|5删除字段

alter tabledrop column 字段名

1|6重命名表或者字段

exec sp_rename 'oldname','newname' -- 表重命名 exec sp_rename 'table.oldcolumn','newname','column' -- 字段重命名

2|0数据增删改查

2|1查询

select * from [表名] where 条件 group by 字段 -- 分组 having 条件 -- 分组过滤

2|2增加

insert into 表名(字段1,字段2,...) values (值1,值2,...) insert into 表名 select * from2 select * into 新表 from1

2|3修改

update 表名 set 字段1='',字段2='' where 条件

2|4删除

delete from 表名 where 条件 truncate table 表名 -- 直接删除数据表数据

3|0数据库函数

3|1聚合函数

  • 可以配合group by 一起使用
MAX() --最大值 MIN() -- 最小值 AVG()-- 平均值 COUNT()--返回的行数 SUM() -- 求和 STDEV() -- 返回给定表达式中所有值的统计标准偏差 VAR() --返回给定表达式中所有值的统计方差

3|2分析函数

--分析函数通常和OVER()函数搭配使用 CUME_DIST 和PERCENT_RANK CUME_DIST 计算的逻辑是:小于等于当前值的行数/分组内总行数 PERCENT_RANK 计算的逻辑是:(分组内当前行的RANK值-1/ (分组内总行数-1),排名值是RANK()函数排序的结果值

3|3排名函数

ROW_NUMBER函数:实际上是一个序列,每个分组内都会创建一个序列,序列从1开始,按照顺序依次 +1 递增。 RANK函数:用于排名时,不会返回连续的整数。RANK函数的语法是:在分组内,按照特定的顺序排名,序号从1依次递增, 排名函数以tie为单位,每个tie中的所有行的排名是相同的,排名可能是不连续的 DENSE_RANK函数:用于排名时,会返回连续的整数 NTILE函数:在每个分组中,NTILE按照指定的顺序,把数据行分为N个小组(tile),NTILE返回小组编号。在每个分组内 ROW_NUMBER() OVER ( [ PARTITION_BY_clause ] order_by_clause )

3|4日期函数

相关博客

getdate() -- 获取当前时间 datediff(dd/yy/mm,'2004-09-01','2004-09-18') -- 日期求差,年,月,日 dateadd() 日期相加 DATEPART(dp,d)函数返回指定日期中相应的部分的整数值,dp的取值与DATETIME函数相同。 DAY(),MONTH(),YEAR(),返回日期中的日,月,年

3|5字符串函数

相关博客

ASCII(character_expression)函数用于返回字符串表达式中最左侧的ASCII代码值 CHAR(integer_expression)函数将整数类型的ASCII值转换为对应的字符,integer_expression是一个介于0~255之间的整数。 如果该整数表达式不在此范围内,将返回nullLEFT(character_expression,integer_expression)函数返回字符串左边开始指定个数的字符串、字符或者二进制数据表达式 RIGHT(character_expression,integer_expression)返回字符串character_expression最右边integer_expression个字符。 LTRIM(character_expression)用于除去字符串左边多余的空格 RTRIM(character_expression)用于除去字符串右边多余的空格 REVERSE(s)将字符串s反转,返回的字符串的顺序和s的顺序相反 LEN()函数返回字符表达式中的字符数。如果字符串中包含前导空格和尾随空格,则函数将它们包含在内。LEN对相同的单字节和双字节字符串返回相同的值 CHARINDEX(str1,str,[start])函数返回子字符串str1在字符串str中的开始位置,start为搜索的开始位置,如果指定start参数,则从指定位置开始搜索; 如果不指定start参数或者指定为0或者负值,则从字符串开始位置搜索。 SUBSTRING(value_expression,start_expression,length_expression)函数返回字符表达式,二进制表达式,文本表达式或图像表达式的一部分 UPPER()/LOWER() 字母大小写转换 REPLACE(s,s1,s2)使用字符串s2替代字符串s中的s1.

4|0存储过程

if (object_id('存储名', 'P') is not null) drop proc 存储名 go create procedure 存储名字 ( 参数1 类型=‘’, 参数2 类型=‘’ ) with encryption -- 加密 as declare @id int, -- 申明变量 @name varchar(20), @temp varchar(20); set @id = 7; -- 变量赋值 set @temp = 1; select * from 表名 ...
--带游标参数存储过程 if (object_id('proc_cursor', 'P') is not null) drop proc proc_cursor go create proc proc_cursor @cur cursor varying output as set @cur = cursor forward_only static for select id, name, age from student; open @cur; go --调用 declare @exec_cur cursor; declare @id int, @name varchar(20), @age int; exec proc_cursor @cur = @exec_cur output;--调用存储过程 fetch next from @exec_cur into @id, @name, @age; while (@@fetch_status = 0) begin fetch next from @exec_cur into @id, @name, @age; print 'id: ' + convert(varchar, @id) + ', name: ' + @name + ', age: ' + convert(char, @age); end close @exec_cur; deallocate @exec_cur;--删除游标

4|1查询所有的存储是否包含某个字符串或者表

select * from sys.sysobjects a left join syscomments b on b.id=a.id WHERE text LIKE '%medical_record%'

__EOF__

本文作者李家的张麻子
本文链接https://www.cnblogs.com/HelloMrLee/p/17149382.html
关于博主:评论和私信会在第一时间回复。或者直接私信我。
版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!
声援博主:如果您觉得文章对您有帮助,可以点击文章右下角推荐一下。您的鼓励是博主的最大动力!
posted @   李家的张麻子  阅读(60)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
点击右上角即可分享
微信分享提示