资源描述:
《sql语句学习手册实例》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、SQL语句学习手册实例例1对于表的教学管理数据库中的表STUDENTS,可以定义如下:复制代码代码如下:CreateTABLESTUDENTS(SNONUMERIC(6,0)NOTNULLSNAMECHAR(8)NOTNULLAGENUMERIC(3,0)SEXCHAR(2)BPLACECHAR(20)PRIMARYKEY(SNO))例2对于表的教学管理数据库中的表ENROLLS,可以定义如下:复制代码代码如下:CreateTABLEENROLLS(SNONUMERIC(6,0)NOTNULLCNOCHAR(4)NOTNULLGRA
2、DEINTPRIMARYKEY(SNO,CNO)FOREIGNKEY(SNO)REFERENCESSTUDENTS(SNO)FOREIGNKEY(CNO)REFERENCESCOURSES(CNO)CHECK((GRADEISNULL)or(GRADEBETWEEN0AND100)))例3根据表的STUDENTS表,建立一个只包含学号、姓名、年龄的女学生表。复制代码代码如下:CreateTABLEGIRLASSelectSNO,SNAME,AGEFROMSTUDENTSWhereSEX='女';例4删除教师表TEACHER。Drop
3、TABLETEACHER例5在教师表中增加住址列。AlterTABLETEACHERSADD(ADDRCHAR(50))例6把STUDENTS表中的BPLACE列删除,并且把引用BPLACE列的所有视图和约束也一起删除。AlterTABLESTUDENTSDropBPLACECASCADE例7补充定义ENROLLS表的主关键字。AlterTABLEENROLLSADDPRIMARYKEY(SNO,CNO);视图操作(虚表)例9建立一个只包括教师号、姓名和年龄的视图FACULTY。(在视图定义中不能包含orDERBY子句)Create
4、VIEWFACULTYASSelectTNO,TNAME,AGEFROMTEACHERS例10从学生表、课程表和选课表中产生一个视图GRADE_TABLE,它包括学生姓名、课程名和成绩。CreateVIEWGRADE_TABLEASSelectSNAME,CNAME,GRADEFROMSTUDENTS,COURSES,ENROLLSWhereSTUDENTS.SNO=ENROLLS.SNOANDCOURSES.CNO=ENROLLS.CNO例11删除视图GRADE_TABLEDropVIEWGRADE_TABLERESTRICT索引
5、操作例12在学生表中按学号建立索引。CreateUNIQUEINDEXSTONSTUDENTS(SNO,ASC)例13删除按学号所建立的索引。DropINDEXST数据库模式操作例14创建一个简易教学数据库的数据库模式TEACHING_DB,属主为ZHANG。CreateSCHEMATEACHING_DBAUTHRIZATIONZHANG例15删除简易教学数据库模式TEACHING_DB。(1)选用CASCADE,即当删除数据库模式时,则本数据库模式和其下属的基本表、视图、索引等全部被删除。(2)选用RESTRICT,即本数据库模式
6、下属的基本表、视图、索引等事先已清除,才能删除本数据库模式,否则拒绝删除。DropSCHEMATEACHING_DBCASCADE单表操作例16找出3个学分的课程号和课程名。SelectCNO,CNAMEFROM COURSESWhere CREDIT=3例17查询年龄大于22岁的学生情况。Select*FROMSTUDENTSWhereAGE>22例18找出籍贯为河北的男生的姓名和年龄。SelectSNAME,AGEFROM STUDENTSWhere BPLACE='河北'ANDSEX='男'例19找出年龄在20~23岁之间的学
7、生的学号、姓名和年龄,并按年龄升序排序。(ASC(升序)或DESC(降序)声明排序的方式,缺省为升序。)SelectSNO,SNAME,AGEFROMSTUDENTSWhereAGEBETWEEN20AND23orDERBYAGE例20找出年龄小于23岁、籍贯是湖南或湖北的学生的姓名和性别。(条件比较运算符=、<和逻辑运算符AND(与),此外还可以使用的运算符有:>(大于)、>=(大于等于)、<=(小于等于)、<>(不等于)、NOT(非)、or(或)等。谓词LIKE只能与字符串联用,常常是“<列名>LIKEpattern”的格式。特
8、殊字符“_”和“%”作为通配符。谓词IN表示指定的属性应与后面的集合(括号中的值集或某个查询子句的结果)中的某个值相匹配,实际上是一系列的or(或)的缩写。谓词NOTIN表示指定的属性不与后面的集合中的某个值相匹配。谓词BETWEEN