基本语法格式
select(聚合函数)的语句格式:(这个不会考试就危险了 )
select * from 表名
上面一句可以查出一张您指定表名的表里的全部东西 ,*的位置可以替换其她的东西,
比如:
select列1名,列2名from 表名
这样您就可以只瞧表里 列1,列2两列。还可以加 COUNT(),YEAR等函数,具体瞧书
吧! !
在后面可以接 where,group by,order by 等 where的用法:
select * from 表名 where条件表达式
条件表达式就好比 列1值>0啊,列2值=0&0啊,之类的。
这样我们就之瞧符合条件的。
group by的用法:
select列名1,count(列名2) as '自定义列名'from 表名
group by 列名 1
这句就就是把表里所有列名 1相同的行集合成一行,顺便说下count(列名2) as '自定义
列名',count()就是总行数的意思,考试经常要与group by 一起用。如果要求总合用 sum() 这个函数。as '自定义列名’就就是给列付个名字。如果要进一步筛选就在语句的最后加 "HAVING条件表达式"就可以了。
ORDER BY勺用法:
select * from 表名[where条件表达式]
ORDER B洌名 N
这样就就是依照列名 N的顺序排列了,最后加上DESCft就是降序排列
连表查询
Select需要的列名1,需要的列名2 ,……需要的列名 N from 表1,表2
Where表1、某列=表2、某列and其她要求的条件表达式
以上就就是连两个表的 Select语句,您也可以连3或多个表,只要每个表与其她的表有联 系就可以了。
如果上面的瞧不太懂我举个例子:
我们有2张表:B1,B2。B1里有“动画名称”与“时间”两列。 B2里有“动画名称” 与“制作公司”两列。其中两个表的动画名称就是对应的,现在要您显示出“动画名称”, “时间”与“制作公司”,做法如下:
SELECT B1、 动画名称,时间,制作公司from B1,B2
where B1、 动画名称=B2、 动画名称
ps: SELECT B1、动画名称,时间,制作公司”里面我要求返回3项,第一项因为两个表 列名重复所以要前面加“表名、”
如果上面的题目还要加条件,比如我们只要“制作公司”就是“A”公司的,就这样写where 语句:
where B1、 动画名称=B2、 动画名称 AND制作公司=A'
update(更新)的语句格式:
update表名
set 列名 1 = xxx,列名 2 = xx,、、、 列名 N = xx
where 列名 x =?、、、、
insert(插入一列)的语句格式:
1,全部插入,也就就是把表里每一条的记录都写一边 ,这样格式就要求与表的格式一
样。
insert into 表名
values('列 1 值',1,'列 3 值',、、、、冽 N 值')
2,部分插入,也就就是插入某几列的数据 ,其她的里面不可以有不允许为空的又不会
自动生产的,语句格式:
insert into表名(列1名,列2名,列3名)
values('列 1 值','列 2 值','列 3 值')
deldte(删除)的语句格式:
deldte from 表名
where条件表达式
条件表达式就好比 列1值>0啊,列2值=0&0啊,之类的。
视图创建
create view 视图名 as
select * from 表名
where条件表达式
PS最后一句就是更具要求来的
游标声明
declare 游标名 cursor
for
select * from 表名
游标的属性比较复杂,一般定义在for前面,参考P112页,或其她资料。
Ps: 一般在for前面加local(说明就是全局游标),scroll(说明就是可以前后移动的) 游标的关键字:(也就就是加在for前面的)
Scroll说明这游标就是前后移动的(默认就是单向的)
Local说明这游标就是局部游标
Global说明这游标就是全局的
Static静态游标(就就是不可以再修改了 )
Dynamic动态游标
打开游标
OPEN游标名
读取游标数据
FETCH NEXT< PRIO毗 FIRS枫 LAST from 游标名
修改游标
update 表名set 列名='列值'where CURRENT OF游标名
ps:上面那一句只可以修改当前的一条游标的值 ,如果要修改多条就写循环语句 +if语句吧
关闭游标
Close游标名
删除游标
Deallocate 游标名
存储过程
create proc存储过程名
as
select语句 或其她语句(比如:update(更新)的语句、deldte(删除)的语句 )
使用存储过程
exeCf储过程名
带变量的存储过程
create proc存储过程名@变量名1类型,@变量名2类型
as
select * from 表 1
where列1=@变量名1 and 列2=@变量名2
使用带变量的存储过程
EXEC^储过程名 @变量名1='某个值:@变量名2='某个值'
PS:某个值您按照要求定的,变量的数量,可以没有(如上一个例子),可以一个,也可以多个
如果类型就是INT就不需要加单引号。
创建触发器
CREATE TRIGGER 触发器名
ON 表名 AFTER INSERT^ UPDATE^ DELETE
AS
BEGIN
END
触发器中间的语句(也就就是BEGIN到END之间的语句)
1、 insert(插入之后),一般也就就是要求在其她的相关表上做添加或修改。语句如下
(加到
BEGIN与 END 之间):
UPDATE X表 SET列 1=列 1 +(select 列 1 from INSERTED)
WHERE 列 2 =(select 列 2 from INSERTED)
上面两行的意思就是,第一行“X表”的“列1 ”的值加上新添加的那条记录的 “列T (更
具题目的要求也可能就是不同列名 )的值。第二行表示只修改符合条件的那行 (一般用主键
关联,如果不指定关联就全改了 0、0!!)。
2、 UPDATE更新之后),我(0&0)也不知道会怎么考,我就举个例子吧:当”表1 ”的”列A”更新了 : 表2”的”列5”就同时更新成”列A”的值。
CREATE TRIGGER 触发器名
ON 表 1 AFTER UPDATE
AS
BEGIN
UPDATE 表 2 SET 列 5=(select 列 A from INSERTED)
WHERE ID 列=(select ID 列 from INSERTED) END
这里我们也就是用了 INSERTED个零时表,好像只有INSERTER DELETED^个零时表。(如 果我错了,及时告诉我,谢谢)
3、 DELETER除之后),删除一般就就是要您同时删除另一张表的有关的信息、
CREATE TRIGGER 触发器名
ON 表 1 AFTER DELETE
AS
BEGIN
DELETE from 表 2
WHERE ID 列 in(select ID 列 from DELETE D) END
这里我们用了 IN而不就是=,其实两个都可以,但有区别in(1,2,3)就就是说明只要在()里的数 都就是范围里的,=一般就等于一个数。具体用那个瞧考试题目。
声明变量
DECLAER @变量名 类型
Set @变量名=某个值
Ps某个值的地方您可以直接付,也可以就是select语句。Int不需要加单引号,其她的好像都要。 变量前一定要加@
用户函数
CREATE FUNCTION®数名(@变量X名类型)update语法大全RETURNS类型
AS BEGIN
DECLAER廖量1名类型
SELECT彦量1名=(SELECNU X名FROM表名 WHERE列Y名=@变量X名)
RETURN砂量1名 AND
这样就是创建了一个用户函数 ,调用的方法自己瞧书,不高兴打了。
全文索引
在 sql server configuration manager 中启动 sql server FullText Search 服务 先打开某数据库的全文索引,打开查询,输入"exec sp_fulltext_database 'enable' ”。后
面就是界面操作,写不清楚,自己练吧。
聚合函数创建表
SELECT * INTO 新表名 FROM 表名 WHERE 条件表达式
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论