这次在机房重构中,配合SQLHelper,SQL语句中的增删改查都用到了。翻看第一次机房时候的代码,发现,当时用到的语句只有一个查询,增删改的功能就是用查询语句把它查出来,另外用cmd对象更改相应的字段,然后再更新记录这样的方式来实现的,总的来说,只见识到了查询语句。而这次重构,增删改语句都用全了。
先来看看这几个语句的格式:(SQL 语句对大小写不敏感。)
1、 SQL SELECT 语句:SELECT 语句用于从表中选取数据。结果被存储在一个结果表中(称为结果集)。
SELECT 列名称 FROM 表名称
SELECT * FROM 表名称
2、 SQL INSERT INTO 语句:INSERT INTO 语句用于向表格中插入新的行。
INSERT INTO 表名称 VALUES (值1, 值2,....)
或:INSERT INTO table_name (列1, 列2,...) VALUES (值1, 值2,....)
3、 SQL UPDATE 语句:Update 语句用于修改表中的数据。
UPDATE 表名称 SET 列名称 = 新值 WHERE 列名称 = 某值
4、 SQL DELETE 语句:DELETE 语句用于删除表中的行。
DELETE FROM 表名称 WHERE 列名称 = 值
下面是我在机房重构中用到的增删改查语句。
1、查询:
select * from ChargingStandard_Info where Head=@UserName
——返回ChargeStandard_Info表中满足Head=@UserName条件的所有记录,以DataTable类型
后在机房合作验收会议上,师哥师姐们提出,select后查询某一个或某几个字段和查询全部的信息(*)的效率是有很大差别的。功能实现了,就要考虑性能更好一点。
select count(*) from ChargeStandard_Info where Head=@UserName
——返回 ChargeStandard_Info表中满足Head=@UserName条件的记录总数
2、增加:
insert into ChargingStandard_Info (program,Rate,temRate,UnitTime,LeastTime,PreTime,LimitCash,Head)values(@Name,@Rate,@temRate,@UnitTime,@LeastTime,@PreTime,@LimitCash,@Head)
——在ChargingStandard_Info表中增加一条数据,表中各字段:(program,Rate,temRate,UnitTime,LeastTime,PreTime,LimitCash,Head)和参数:(@Name,@Rate,@temRate,@UnitTime,@LeastTime,@PreTime,@LimitCash,@Head)一一对应。
3、删除:
delete ChargingStandard_Info where program=@Name
——删除ChargingStandard_Info表中满足 program=@Name条件的记录
4、更新:
update ChargingStandard_Info set Rate=@Rate,temRate=@temRate,UnitTime=@UnitTime,LeastTime=@LeastTime,PreTime=@PreTime,LimitCash=@LimitCash,Head=@Head where program=@Name
——对ChargingStandard_Info表中满足条件 program=@Name 的记录进行更新操作,使得各个字段的值分别为: Rate=@Rate,temRate=@temRate,UnitTime=@UnitTime,LeastTime=@LeastTime,PreTime=@PreTime,LimitCash=@LimitCash,Head=@Head ,更新是把已经存在的数据项进行修改
总结:
上边用到的都是最基本的SQL语句,当我看到SQL语句格式的时候,对它们没有什么印象,可是当我真正用到它们之后,这些格式才为我接受,理解,应用。