SQL(updating)
小看了sql语法的厉害之处了,在做相关项目时,获取特殊数据时,总要编写特别的sql语句,以下为记录
- 查找表中某字段非空的数据行
select * from MapPoint where PicMark is not null
- 执行sql语句后返回最新的自增值
insert into dbo.MapPoint(Coordinate) values('coordination.SelectedValue')Select @@Identity //执行并返回id
- 执行表删除(sql manage只能一次删除前200条数据,使用这条能将表数据全部删除,不影响其他内容)
truncate table <表名>
SQL Server删除表及删除表中数据的方法 - 在有自增主键的表中,删除了数据后,主键的自增位置是上次删除前的最终值,不从1开始,使用该语句可恢复为1
dbcc checkident('tablename',reseed,0)
- 获取表中的唯一值(多个重复值取一个)
select distinct RoadNetId from MapLine
- 表中有两个字段,要求按字段VehicleId先排序后按VehicleId排序
select * from [VehicleStateRecord] order by VehicleId,VehicleId
- 表联立
在sql表vehicle的右侧添加另一个表vehicletype,合并原则为a(vehicle)的typeid与b(vehicletype)的id相等,在添加后再根据需要获取指定字段,或者添加限制条件,需要注意的是如果在上面的vehicle中获取idselect * from Vehicle a left join VehicleType b on a.TypeId=b.Id where b.PurposeId=1
select id from vehicle a……
时,则会报列名 'ID' 不明确。
,原因是两个链接的表中同时包含id,仅仅使用id来获取则有意义不明的问题,在此时则要使用a.id的方式来获取对应的字段,即select a.id from vehicle a ……
- 判断表中某值是否为空
select Id,TextMark from MapPoint where TextMark is not null
参考:
SQL(基础查询)、SQL(关联查询)
C#进行SQL执行Insert插入语句后返回新增行的ID
SQL Server ID自增列设置为重新从1开始
sql server字符串非空判断实现方法