SQL数据库基本语法格式_第1页
SQL数据库基本语法格式_第2页
SQL数据库基本语法格式_第3页
SQL数据库基本语法格式_第4页
免费预览已结束,剩余1页可下载查看

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、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啊,之类的。 这样我们就之看符合条件的。grou

2、p 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 BY列 名 N这样就是依照列名 N 的顺序排列了,

3、最后加上 DESC就是降序排列连表查询Select 需要的列名 1,需要的列名 2 ,需要的列名 N from 表 1,表 2Where表 1.某列 =表 2.某列 and 其他要求的条件表达式以上就是连两个表的 Select 语句,你也可以连 3 或多个表,只要每个表和其他的表有 联系就可以了。如果上面的看不太懂我举个例子:我们有 2张表: B1,B2。B1里有“动画名称”和“时间”两列。 B2里有 “动画名称” 和“制作公司”两列。其中两个表的动画名称是对应的,现在要你显示出“动画名称” , “时间”和“制作公司” ,做法如下:SELECT B1. 动画名称 , 时间 , 制作公司 fro

4、m B1,B2 where B1. 动画名称 = B2. 动画名称 ps: “SELECT B1. 动画名称 , 时间, 制作公司”里面我要求返回 3 项,第一项因为两 个表列名重复所以要前面加“表名 . ”如果上面的题目还要加条件, 比如我们只要 “制作公司” 是“ A”公司的, 就这样写 where 语句:where B1. 动画名称 = B2. 动画名称 AND 制作公司 =Aupdate (更新)的语句格式 :update 表名set 列名 1 = xxx, 列名 2 = xx, .列名 N = xxwhere 列名 x =?insert( 插入一列 ) 的语句格式:1, 全部插入,也

5、就是把表里每一条的记录都写一边,这样格式就要求和表的格式一 样。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表名

6、where 条件表达式PS :最后一句是更具要求来的游标声明declare 游标名 cursorforselect * from表名游标的属性比较复杂,一般定义在 for 前面,参考 P112 页,或其他资料。Ps: 一般在 for 前面加 local( 说明是全局游标 ),scroll( 说明是可以前后移动的 ) 游标的关键字: (也就是加在 for 前面的)Scroll 说明这游标是前后移动的(默认是单向的)Local 说明这游标是局部游标Global 说明这游标是全局的Static 静态游标(就是不可以再修改了)Dynamic 动态游标打开游标OPEN游标名读取游标数据FETCH NEX

7、T或 PRIOR或 FIRST或 LAST from 游标名 修改游标update 表名 set 列名 = 列值 where CURRENTOF 游标名ps: 上面那一句只可以修改当前的一条游标的值,如果要修改多条就写循环语句 +if 语句吧关闭游标Close 游标名删除游标Deallocate 游标名存储过程create proc 存储过程名asselect 语句 或其他语句(比如: update (更新)的语句、 deldte( 删除 ) 的语句 ) 使用 存储过程EXEC存储过程名带变量的存储过程create proc 存储过程名 变量名 1 类型, 变量名 2 类型 asselect

8、* from表 1where 列 1=变量名 1 and 列 2=变量名 2使用 带变量的存储过程EXEC存储过程名 变量名 1=某个值, 变量名 2=某个值PS: 某个值你按照要求定的,变量的数量,可以没有(如上一个例子) ,可以一个,也 可以多个,如果类型是 INT 就不需要加单引号。创建触发器CREATE TRIGGER触 发器名ON 表名 AFTER INSERT 或 UPDATE或 DELETEASBEGINEND 触发器中间的语句(也就是 BEGIN到 END之间的语句 ) ( 插入之后 ), 一般也就是要求在其他的相关表上做添加或修改。语句如下(加到 BEGIN 与 END之间)

9、:UPDATE X 表 SET 列 1=列 1 + ( select 列 1 from INSERTED )WHERE 列 2 = ( select 列2 from INSERTED )上面两行的意思是, 第一行 “X 表” 的 “列 1”的值加上新添加的那条记录的 “列 1”(更具题目的要求也可能是不同列名)的值。第二行表示只修改符合条件的那行(一般用主键 关联, 如果不指定关联就全改了! !)。2. UPDATE(更新之后) , 我( 0&0)也不知道会怎么考,我就举个例子吧:当”表1”的”列 A”更新了,”表 2 ”的”列 5”就同时更新成”列 A”的值。CREATE TRIGGER触

10、发器名ON 表 1 AFTER UPDATEASBEGINUPDATE 表 2 SET 列 5=(select 列 A from INSERTED )WHERE ID列=( select ID 列 from INSERTED )END这里我们也是用了 INSERTED这个零时表, 好像只有 INSERTED和 DELETED两个零时表。(如 果我错了,及时告诉我,谢谢)3. DELETE (删除之后) , 删除一般就是要你同时删除另一张表的有关的信息 .CREATE TRIGGER触 发器名ON 表 1 AFTER DELETEASBEGINDELETE from 表 2WHERE ID列 i

11、n (select ID 列 from DELETE D )END这里我们用了 IN 而不是 =,其实两个都可以,但有区别 in(1,2,3) 就是说明只要在()里 的数都是范围里的, =一般就等于一个数。具体用那个看考试题目。声明变量DECLAER 变量名 类型Set 变量名 =某个值Ps:某个值的地方你可以直接付,也可以是select 语句。 Int 不需要加单引号,其他的好像都要。变量前一定要加 用户函数CREATE FUNCTION函 数名( 变量 X名 类型) RETURNS类 型ASBEGINDECLAER 变量 1 名 类型SELECT 变量 1 名 =( SELECT 列 X名 FROM 表名 WHERE 列 Y 名=变量 X名)RETURN 变量 1 名AND 这样是创建了一个用户函数,调用的方法自己看书,不高兴打了。全文索引在 sql serv

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论