SQL数据库基本语法格式[技术学习].doc

上传人:rrsccc 文档编号:9349434 上传时间:2021-02-20 格式:DOC 页数:5 大小:53KB
返回 下载 相关 举报
SQL数据库基本语法格式[技术学习].doc_第1页
第1页 / 共5页
SQL数据库基本语法格式[技术学习].doc_第2页
第2页 / 共5页
SQL数据库基本语法格式[技术学习].doc_第3页
第3页 / 共5页
亲,该文档总共5页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

《SQL数据库基本语法格式[技术学习].doc》由会员分享,可在线阅读,更多相关《SQL数据库基本语法格式[技术学习].doc(5页珍藏版)》请在三一文库上搜索。

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啊,之类的。 这样我们就之看符合条件的。 group by的用法:select 列名

2、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的顺序排列了,最后加上DESC就是降序排列 连表查询Select 需要的列名1,需要的列名2 ,需

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

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

5、的数据,其他的里面不可以有不允许为空的又不会自动生产的,语句格式:insert into 表名(列1名,列2名,列3名)values(列1值,列2值,列3值) deldte(删除)的语句格式:deldte from 表名where 条件表达式 条件表达式就好比 列1值0 啊,列2值=0&0啊,之类的。 视图创建create view 视图名 asselect * from 表名where 条件表达式 PS:最后一句是更具要求来的 游标声明declare 游标名 cursor for select * from 表名 游标的属性比较复杂,一般定义在for前面,参考P112页,或其他资料。Ps:

6、一般在for前面加local(说明是全局游标),scroll(说明是可以前后移动的)游标的关键字:(也就是加在for前面的)Scroll 说明这游标是前后移动的(默认是单向的)Local 说明这游标是局部游标 Global 说明这游标是全局的 Static 静态游标(就是不可以再修改了)Dynamic 动态游标 打开游标OPEN游标名 读取游标数据FETCH NEXT或PRIOR或FIRST或LAST from 游标名 修改游标update 表名 set 列名=列值 where CURRENT OF 游标名 ps:上面那一句只可以修改当前的一条游标的值,如果要修改多条就写循环语句+if语句吧关

7、闭游标Close 游标名删除游标Deallocate游标名 存储过程create proc 存储过程名as select语句 或其他语句(比如:update(更新)的语句、deldte(删除)的语句) 使用存储过程 EXEC存储过程名 带变量的存储过程create proc 存储过程名 变量名1 类型,变量名2 类型asselect * from 表1where 列1=变量名1 and 列2=变量名2使用带变量的存储过程EXEC存储过程名 变量名1=某个值, 变量名2=某个值PS: 某个值你按照要求定的,变量的数量,可以没有(如上一个例子),可以一个,也可以多个,如果类型是INT就不需要加单引

8、号。创建触发器CREATE TRIGGER 触发器名ON 表名 AFTER INSERT或UPDATE或DELETEAS BEGINEND 触发器中间的语句(也就是BEGIN到END之间的语句)1.insert(插入之后),一般也就是要求在其他的相关表上做添加或修改。语句如下(加到BEGIN与END之间):UPDATE X表 SET列1=列1 +(select 列1 from INSERTED)WHERE 列2 =(select 列2 from INSERTED) 上面两行的意思是,第一行 “X表” 的 “列1”的值加上新添加的那条记录的“列1”(更具题目的要求也可能是不同列名)的值。第二行表

9、示只修改符合条件的那行(一般用主键关联,如果不指定关联就全改了0.0!)。 2. UPDATE(更新之后),我(0&0)也不知道会怎么考,我就举个例子吧:当”表1”的”列A”更新了,”表2”的”列5”就同时更新成”列A”的值。CREATE TRIGGER 触发器名ON 表1 AFTER UPDATEAS BEGINUPDATE 表2 SET 列5=(select 列A from INSERTED)WHERE ID列=(select ID列 from INSERTED)END 这里我们也是用了INSERTED这个零时表,好像只有INSERTED和DELETED两个零时表。(如果我错了,及时告诉我

10、,谢谢) 3. DELETE(删除之后),删除一般就是要你同时删除另一张表的有关的信息.CREATE TRIGGER 触发器名ON 表1 AFTER DELETEAS BEGINDELETE from 表2 WHERE ID列 in(select ID列 from DELETE D)END 这里我们用了IN而不是=,其实两个都可以,但有区别 in(1,2,3)就是说明只要在()里的数都是范围里的,=一般就等于一个数。具体用那个看考试题目。声明变量DECLAER 变量名 类型Set 变量名=某个值Ps:某个值的地方你可以直接付,也可以是select语句。Int不需要加单引号,其他的好像都要。变量

11、前一定要加 用户函数CREATE FUNCTION 函数名(变量X名 类型)RETURNS 类型AS BEGINDECLAER 变量1名 类型SELECT 变量1名=(SELECT 列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 条件表达式5互联网络

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 社会民生


经营许可证编号:宁ICP备18001539号-1