特别想学下如何向sql里插入,删除,更新,查询,谢谢
在下新手,书上教的都是连到ACCESS数据库,和对ACCESS的操作,有很多用到SQL里就不知所错了,现在连接绑定到SQL到可以了,就是向SQL里做插入,等操作不会,请高手给点代码,指点一下吧!谢谢
[解决办法]
插入数据:Insert into 表名 [(列名1,列名2,……,列名n)] values(值1,值2,…….,值n)
用法介绍:用于向已创建的表中添加与各个列名字段相对应的值,若
向表中添加的值能与所有表中所有列名一一对应的话,可省略[]中的内容,但各个值的顺序必须与表中的字段的顺序一一对应。
注意:insert into语句一次只能向表中添加一条数据。
更新:Update 表名 set 列名1=值1[,列名2=值2,……,列名n=值n] [where 条件]
用法介绍:用于向已创建的表中更新数据,可以一次更新多行的多列数据,但更新后这些列的每一行数据都是相同了,所以一般用where+条件来限制更新某一行或者某几行,[]里的内容可省略,但前提是在具体的情况下,以后无特殊说明,[]的功能与此处相同。
删除:Delete from 表名 [where 条件]
用法介绍:用于删除表中的一条或者多条数据,若删除多条数据,where后的限制条件用or连接。
注意:限制条件中,可能有的字段在多个行的位置上的内容都相同,因此,限制条件有可能要写多个,这时候用and连接各个限制条件。
查询:select 列名list from 表名list [where 检索条件] [order by 排序条件 [asc或者desc]]
语句用法:用于检索表中的符合检索条件的数据,并按照排序条件有规律的显示出来,其中asc代表升序,desc代表降序,若不写,则默认为升序。
注:检索条件可以用and、not、和or来控制,and为逻辑且,not为逻辑非,or为逻辑或;
如果需要进行模糊查询,可以使用like,其后的正则表达式常用的’%’和’_’,前者代表字符串,后者代表一个字符;
如果进行范围查询,可以使用between 数据1 and 数据2;进行范围查询还可以使用in(‘符串1’,’字符串2’,……,’字符串n’)不过范围被限制在你所写的这个集合里而已;
运算符以及优先级:> 、 <、> =、 <=、 <> 、!=、^=等,优先级依次为()、not、and、or、一般运算符。
查询语句的分组查询:select ……[where] [group by] [having] [order by]
Group by字段list:必须把select后跟的字段全部包括(函数元素除外),并且可以添写根据需要select后没有的字段。
Having字段list:分组的条件,用以限制group,所以其字段必须为group后的字段列表中所包含的字段。
Order by字段list:必须位于group by的后面,其字段必须是group by字段list中有的字段。
别名:可以在from后面以“表明 别名”的形式为表命别名
例如:select s.name,s.id from t_staff s group by s.name,s.id having s.id> 7400 order by s.id desc
[解决办法]
xinzeng
set ANSI_NULLS ON
set QUOTED_IDENTIFIER ON
go
ALTER PROCEDURE [dbo].[ProcInsertTArea]
(
@AreaName nvarchar(50),
@ParentAreaID int,
@Description nvarchar(50),
@PK int output
)
AS
SET NOCOUNT OFF;
INSERT INTO TArea (AreaName, ParentAreaID,Description)
VALUES (@AreaName, @ParentAreaID,@Description);
SET @PK= SCOPE_IDENTITY()
return @PK
删除
set ANSI_NULLS ON
set QUOTED_IDENTIFIER ON
go
ALTER PROCEDURE [dbo].[ProcDeleteTArea]
(
@AreaID int
)
AS
SET NOCOUNT OFF;
DELETE FROM TArea WHERE AreaID=@AreaID
修改
set ANSI_NULLS ON
set QUOTED_IDENTIFIER ON
go
ALTER PROCEDURE [dbo].[ProcUpdateTArea]
(
@AreaID int,
@AreaName nvarchar(50),
@ParentAreaID int,
@Description nvarchar(50)
)
AS
SET NOCOUNT OFF;
UPDATE TArea
SET AreaName = @AreaName , ParentAreaID = @ParentAreaID ,Description = @Description
where AreaID = @AreaID