摘要: 对于像我一样的菜鸟级别人物来说,接触的项目比较少,平常做的那些练习,包括三层中,一般也只能用到增删改查,当然这些增删改查语句是学数据库语句的入门,在百度上搜索一大堆,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语句不是靠死记硬背的,根据逻辑去写,就很容易了。