项目中常用的SQL语句

摘要: 对于像我一样的菜鸟级别人物来说,接触的项目比较少,平常做的那些练习,包括三层中,一般也只能用到增删改查,当然这些增删改查语句是学数据库语句的入门,在百度上搜索一大堆,w3cschool中帮助文档也可以查阅。

这里是把平常用的增删改做一个小小总结,对一些小小项目也是比较适用的 ,当然,好记性不如烂笔头吗,这个时代纸质版的笔记感觉很欠缺,因为想要看的时候,你得找到那本书,而且要翻翻在哪里,感觉很不方便。并且电子版

的随便copy之类的都可以。

 

常用的sql语句(增删改查)

1、增加、插入语句

insert into TableName(columnname1,columnname2) values('val1','val2')

insert into TableName values('val1','val2')     --插入一条数据
     insert into TableName (columnname1,columnname2)
     select 'val1','val2' union all
     select 'val3','val4' union all
     select 'val5','val6'                   --插入多条数据
     

注:当然,平常项目中,执行多条插入操作可以用stringbuilder来拼接sql语句,或者条个sql语句之间用分号隔开,或者执行多次都可以的。

 

 

2、删除语句

delete from TableName where columnname1='val1'      --删除一条数据
truncate table TableName        --清空表中的数据(不删除表),还原标识种子

注:当然删除语句还有删除列,删除表什么的,不过,一般都不常用,当然,清空表中的数据也是不常用的,这里只是为了记住truncate

 

 

3、修改(更新)数据语句

update TableName set columnname1='val1' where columnname2='val2'              --修改(更新)值

注:一般常用的修改也就这样了,比较容易记,当然还有alter,不过一般是对表或者什么的操作的吧

 

 

4、查询数据

select * from TableName  where columnname1='val1'

select columnname1,columnname2  from TableName where columnname1='val1'            --查询一条数据

 

select * from  TableName
    
select columnname1,columnname2 from TableName       --查询所有数据

 

select top 3 from TableName  where columnname1='val1'       --查询前三条数据

select top 50 percent from TableName         --查询百分之多少数据

select * from TableName order by columnname1 asc    --升序排序查询

select * from TableName order by columnname2 desc     --反序排序查询

select distinct columnname1 from  TableName      --对整个结果集去掉重复项查询

 

    select MAX(columnname1) from TableName             --求最大值
    
    select Min(columnname1) from TableName             --求最小值

    select Sum(columnname1) from TableName            --求总和
    
    select AVG(columnname1) from TableName            --求平均值(当然,平均值没有对有null进行计算,确切的应该用sum除以数量)

 

select count(*) from TableName                --查询数据总条数

select * from TableName where columnname1 like '%val1%'      --模糊查询

select columnname1 ,count(*) from TableName group by columnname1            --分组查询

注:这些查询一般用为单表查询,多种结合都可以得到想要对应的查询结果,这就得看需求来确定SQL语句

 

5、高级查询

(1)inner join

--在表中存在至少一个匹配时返回行(只能查询两张表相匹配的数据)
select column_name(s)
from table1
inner join table2
on table1.column_name=table2.column_name;

 

(2)left join

--关键字从左表(table1)返回所有的行,即使右表(table2)中没有匹配。如果右表中没有匹配,则结果为 NULL。
select column_name(s)
from table1
left out join table2
on table1.column_name=table2.column_name;

 

(3)right join

--从右表(table2)返回所有的行,即使左表(table1)中没有匹配。如果左表中没有匹配,则结果为 NULL。
select column_name(s)
from table1
right out join table2
on table1.column_name=table2.column_name;

 

(4)union

--UNION 操作符用于合并两个或多个 SELECT 语句的结果集。
--UNION 内部的每个 SELECT 语句必须拥有相同数量的列。列也必须拥有相似的数据类型。同时,每个 SELECT 语句中的列的顺序必须相同。
select column_name(s) from table1
union
select column_name(s) from table2;

 

总结: sql语句不是靠死记硬背的,根据逻辑去写,就很容易了。

posted @ 2017-09-19 00:54  蓝色标记  阅读(1042)  评论(0编辑  收藏  举报