资源描述:
《sql(structured query language,结构查询语言)介绍》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、SQL语法介绍1SQL简介SQL是什么SQL功能简介1.1什么是SQLSQL(StructuredQueryLanguage,结构查询语言)是一个功能强大的数据库操纵语言。SQL使用场合:应用程序与数据库的通讯通过DBMS或第三方工具,完成一些数据库的操作任务,比如在数据库中更新数据,或者从数据库中检索数据1.2SQL命令分组DML(DataManipulationLanguage,数据操作语言):用于检索或者修改数据DDL(DataDefinitionLanguage,数据定义语言):用于定义数据的结构,比如创建、修改或者删除数据库对象DCL(DataControlLangu
2、age,数据控制语言):用于定义数据库用户的权限1.2.1DML命令SELECT:用于检索数据INSERT:用于增加数据到数据库UPDATE:用于从数据库中修改现存的数据DELETE:用于从数据库中删除数据1.2.2DDL命令CREATETABLE:创建表结构ALTERTABLE:修改表结构DROPTABLE:从数据库中删除表CREATEINDEX:创建索引DROPINDEX:删除索引1.2.3DCL命令ALTERPASSWORD:设置访问口令GRANT:分配权限REVOKE:收回权限CREATESYNONYM:创建替代用户1.2.4SQL功能概述建立数据库的表格改变数据库系统
3、环境设置针对某个数据库或表格,授予用户存取权限对数据库表格建立索引值修改数据库表格结构。(新建、删除或是修改表格字段)对数据库进行数据的新建、删除、修改、查询2SQL命令常用SQL命令SQL语法2.1Select命令功能:从数据库中检索所需要信息。例:从学生表(student)中检索出李明的档案信息,其SQL语法为:Select*fromstudentwhereSNAME=‘李明’2.1.1Select命令语法SELECT[predicate]{*
4、table.*
5、[table.]field[,[table.]field2[,...]]}[ASalias1[,alias2[,.
6、..]]]FROMtableexpression[,...][INexternaldatabase][WHERE...][GROUPBY...][HAVING...][ORDERBY...][WITHOWNERACCESSOPTION]2.1.2predicateALL,DISTINCT,DISTINCTROW,TOPnDISTINCT:SelectDISTINCTSNAMEfromstudentTOPn:Selecttop2*fromstudent2.1.3查询字段所有字段:Select*fromStudent指定查询字段:SelectSNO,SNAMEfromSt
7、udent字段换名:SelectSNOas学号,SNAMEas姓名fromStudent查询多表字段:Selecta.SNO,a.SNAME,b.CNAME,b.SCOREfromStudenta,Cursebwherea.SNO=b.SNOSelecta.*,b.CNAME,b.SCOREfromStudenta,Cursebwherea.SNO=b.SNO2.1.4From子句指定从哪些表中获取数据,可以同时给表取一个别名。Selecttop2Student.SNO,Student.SNAME,Curse.CNAME,Curse.SCOREfromStudent,Curse
8、whereStudent.SNO=Curse.SNOSelecttop2a.SNO,a.SNAME,b.CNAME,b.SCOREfromStudenta,Cursebwherea.SNO=b.SNO2.1.5where子句指定从表中获取哪些记录。Select*fromstudentwhereSSEX=‘女’Selecta.SNO,a.SNAME,b.CNAME,b.SCOREfromStudenta,Cursebwherea.SNO=b.SNOandb.SCORE>=90Selecta.SNO,a.SNAME,b.CNAME,b.SCOREfromStudenta,Curse
9、bwherea.SNO=b.SNOand((b.SCORE>=90anda.SSEX=‘男’)or(b.SCORE>=80anda.SSEX=‘女’))2.1.6orderby子句指定结果如何排序:升序:ASC;降序:DESC。Select*fromstudentorderbySNAMESelecta.SNO,a.SNAME,b.CNAME,b.SCOREfromStudenta,Cursebwherea.SNO=b.SNOorderbya.SNAME,b.SCOREDESC2.1.7gro