常用sql 语句(SqlServer)

1 数据库的基本操作(增 删 改 查)
1.1增

//1.1.1
// 表名:table1
//列名:column1 column2 column3
//列值:values 后在括号中填充列值 ps:列值为数字时直接填写数字,为字符串时需要用单引号括起来
insert into table1 (column1,column2,column3)values(1,2,'zifuchuan' ) 

// 1.1.2
// 表名:table1 table2 
// 列名:table1 中要插入的列名:colt1,colt2,colt3 table2 中查询的列名:colt2 ,colt2,colt3
// ps:该方法会从table2 中搜索colt2 ,colt2,colt3 三列的列值,作为table1 的colt1,colt2,colt3的列值插入table1 中
insert into table1 (colt1,colt2,colt3)select colt2 ,colt2,colt3 from table2 

1.2 删

// 该方法用于删除table1 中所有的内容如需根据特定的条件删除需要在该语句后面添加where + 搜索条件 
delete from table1 

1.3 修

update table1 set colum1 = 'newvalue'  // 将colum1 的列值全部设置为newvalue
update table1 set colum1 = colum2 , colum2 = colum1 // 将table1 中colum1 和colum2 的列值进行替换
update table1 set name = REPLACE(name ,'小','大') // 字符串替换,将table1中name 列值中的“小”字替换为“大”字。

1.4 查询语句
查询语句主要包括三部分:select关键字表示该语句为搜索语句 ,where 后面添加搜索的条件约束,order by 会将搜索的数据按约定的条件进行排序。

select * from table1 where name = '小明' order by id desc // 搜索出table1 中name列值为小明的数据,并根据id降序排列
 select name,id from table1 where name like '%明%' order by id asc // 找出table1 中name 中包含“明”字的数据,并根据id升序排列。
select * from person where charindex (name,'小明,小刘,小张')> 0 order by id asc // 搜索person表中name 为小明,小刘,或小张的所有数据。

2.1 用sql实现一个循环

DECLARE @name VARCHAR(50)
--声明一个长度为50的字符串变量PAYID
 DECLARE C1 CURSOR FOR
--声明一个数据容器 C1 搜索后将搜索到的数据存入 C1 中 
    select UserName from person where name like '%晓%' 
    OPEN C1 
    FETCH NEXT FROM C1 INTO @name
--循环遍历获取C1 中存储的数据存入变量PAYID中
    WHILE @@FETCH_STATUS = 0 
 -- 检测获取状态 获取成功时进行一下操作
    begin  
     
      update person set UserName = @name+'二年级一班' where UserName = @name
    
    FETCH NEXT FROM c1 INTO @name   
    end 
    
    CLOSE c1
    DEALLOCATE c1

2.2 搜索中常用的关键词
2.2.1 top 1 :获取搜索到的所有数据中的第一条数据

select top 1  name from person // 搜索person表中第一个名字(name)

2.2.2 MAX 函数 搜索每列的最大值

select MAX(age) from person // 搜索person 表中最大的年龄(age)

2.2.3 ISNULL(列名,‘字段为null值时替代的字符串’) 函数

select ISNULL(age,'1') from person // 搜索person 表中所有的年龄信息,如果该字段为null值用1填充

2.2.4 LEFT(,) RIGHT(,) 用于对某个字段进行截取

select right(name,1) as name from person // 搜索person 表中name 字段的最后一个字符
    原文作者:codeing小牛
    原文地址: https://www.jianshu.com/p/5eaa374a778a
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞