您好,欢迎访问三七文档
当前位置:首页 > 行业资料 > 冶金工业 > 第五章 采矿专业 课件
1第五章结构化查询语言(SQL)目录上页下页退出2本章目录第一节SQL概述第二节数据定义功能第三节数据操纵功能第四节数据查询功能目录上页下页退出3SQL全称是“结构化查询语言(StructuredQueryLanguage)”,是IBM公司为其关系数据库管理系统开发的一种查询语言。StructuredQueryLanguage包含4个部分:数据查询语言DQL-DataQueryLanguage:SELECT数据操纵语言DML-DataManipulationLanguage:INSERT,UPDATE,DELETE数据定义语言DDL-DataDefinitionLanguage:CREATE,ALTER,DROP数据控制语言DCL-DataControlLanguage:GRANT(授权),ERVOKE(收回权限)第一节SQL概述目录上页下页退出4SQL语言的特点1、SQL语言是一种一体化语言:它集数据定义(DDL)、数据操纵(DML)、数据管理(DCL)的功能于一体,语言风格统一,可以独立完成数据库的全部操作,包括定义关系模式、录入数据及建立数据库、查询、更新、维护数据、数据库的重新构造、数据库安全性等一系列操作的要求,为数据库应用系统开发者提供了良好的环境。2.高度非过程化3.以同一种语法结构提供两种使用方式4.语言简洁,易学易用。目录上页下页退出5数据定义语言DDL用于执行数据定义的操作,如创建或删除表、索引和视图之类的对象。由CREATE、DROP、ALTER命令组成,完成数据库对象的建立(CREATE)、删除(DROP)和修改(ALTER)。一、定义(创建)表【格式】CREATETABLE|DBF表名1(字段名1类型[(宽度[,小数位数])][NULL|NOTNULL][CHECK条件表达式[ERROR出错显示信息]][DEFAULT表达式][,字段名2…])[PRIMARYKEY|UNIQUE][REFERENCES表名2[TAG标识1]]【功能】定义(也称创建)一个表。第二节数据定义功能目录上页下页退出6字段类型字段宽度小数位说明Cn–字符型字段的宽度为n(Characterfieldofwidthn)D––日期类型(Date)T––日期时间类型(DateTime)Nnd数值字段类型,宽度为n,小数位为d(Numericfieldofwidthnwithddecimalplaces)Fnd浮点数值字段类型,宽度为n,小数位为d(Floatingnumericfieldofwidthnwithddecimalplaces)I––整数类型(Integer)B–d双精度类型(Double)Y––货币类型(Currency)L––逻辑类型(Logical)M––备注类型(Memo)G––通用类型(General)数据类型说明目录上页下页退出7【例5-1】创建一个表STUD(学生信息表),它由以下字段组成:学号(C,10);姓名(C,8);性别(C,2);班级名(C,10);系别代号(C,2);地址(C,50);出生日期(D);是否团员(L);备注(M)。CREATETABLESTUD(学号C(10),姓名C(10),性别C(2),班级名C(10),系别代号C(2),地址C(50),出生日期D,是否团员L,备注M,照片G)LISTSTRUCTURE【例5-2】创建一个表SC(课程成绩表),它由以下字段组成:学号(C,10);课程号(C,2)。CREATETABLESC(学号C(10),课程号C(2))LISTSTRUCTURE目录上页下页退出8【例5-3】利用SQL命令建立“图书管理”数据库,其中包含4个表:读者表、作者表、图书表、借书表。操作步骤如下:1.创建数据库:CREATEDATABASE图书管理2.用SQL命令建立“读者”表:CREATETABLE读者(读者编号C(9)NOTNULL;PRIMARYKEY,姓名C(8),性别C(2)CHECK(性别=“;男”OR性别=“女”)DEFAULT“男”,出生日期D,少;数民族否L,籍贯C(10),联系电话C(8),照片G)说明:该命令在当前打开的图书管理数据库中建立读者表,其中读者编号为主关键字,用CHECK对性别字段值说明了有效性规则,并设定了性别字段默认值为“男”。目录上页下页退出93.用SQL语句建立“作者”表:CREATETABLE作者(作者编号C(2)PRIMARYKEY,;作者姓名C(10),职称C(10),联系电话C(10),备注M)4.用SQL语句建立“图书”表:CREATETABLE图书(书号C(6)NOTNULLPRIMARYKEY,;作者编号C(2)NOTNULL,书名C(14),价格N(8,2),;数量I,出版社C(18),;FOREIGNKEY作者编号TAG作者编号REFERENCES作者)说明:该命令在当前打开的图书管理数据库中建立图书表,其中书号为主关键字,“FOREIGNKEY作者编号”表示在该表的“作者编号”字段上建立了一个普通索引,同时说明该字段是联接字段,通过引用作者表中的主索引“作者编号”(TAG作者编号REFERENCES作者)与作者表建立联系。目录上页下页退出105.用SQL语句建立“借书”表:CREATETABLE借书(读者编号C(6)NOTNULL,读者姓名C(10),书号C(6),借书日期DDEFAULTDATE(),还书日期DNULL,;FOREIGNKEY读者编号TAG读者编号REFERENCES读者,;FOREIGNKEY书号TAG书号REFERENCES图书)说明:该命令在当前打开的图书管理数据库中建立借书表,其中“FOREIGNKEY读者编号”在该表的“读者编号”字段上建立了一个普通索引,同时说明该字段是联接字段,通过引用读者表中的主索引“读者编号”(TAG读者编号REFERENCES读者)与读者表建立联系。这里要注意:“FOREIGNKEY读者编号TAG读者编号REFERENCES读者”语句中前后两个“读者编号”的含义不同。目录上页下页退出116.执行完以上命令后可以在数据库设计器中看到如图5-1所示界面。图5-1数据库设计器—图书管理目录上页下页退出12【格式1】ALTERTABLE表名[ADD|ALTER新字段名数据类型[(宽度[,小数位数])][NULL|NOTNULL][CHECK条件表达式[ERROR出错显示信息]][DEFUAULT表达式1][PRIMARYKEY|UNIQUE]REFERECES表名2[TAG标识1]]【功能】修改表结构。【说明】ADD子句用于增加指定表的字段变量名、数据类型、宽度和完整性约束条件;ALTER子句用于修改指定字段的数据类型、宽度和完整性约束条件;但不能用于修改字段名,不能删除字段和规则。【例5-4】在课程成绩表SC中,增加一个成绩字段变量(N,3)。ALTERTABLESCADD成绩N(3)LISTSTRUCTURE二、修改表目录上页下页退出13命令格式2:ALTERTABLE表名ALTER字段名[NULL|NOTNULL][SETCHECK条件表达式[ERROR出错显示信息]][SETDEFUAULT表达式1][DROPCHECK][DROPDEFUAULT]【功能】设置、修改和删除字段的有效性规则及默认值。命令格式3:ALTERTABLE表名[DROP字段名][SETCHECK条件表达式[ERROR出错显示信息]][DROPCHECK][ADDPRIMARYKEY表达式TAG标识名][DROPPRIMARYKEY][ADDFOREINGKEY表达式TAG标识名][DROPFOREINGKEY表达式TAG标识名][SAVE][RENAMECOLUMN原字段名TO新字段名【功能】删除字段、修改字段名、包括主索引、普通索引与关联字段、候选索引及有效性规则的添加与删除。其中加入SAVE参数将阻止从结构索引中删除索引标识.目录上页下页退出14【例5-5】修改表结构综合练习。(1)创建数据库和数据库表CREATEDATABASEtempbaseCREATETABLEtemp1(aaC(2),bbN(5,2),ddD)CREATETABLEtemp2(aa1C(2),bb1N(5,2),dd1I)(2)以字段aa为索引表达式为表temp1增加一个主索引,索引标识为aa_keyALTERTABLEtemp1ADDPRIMARYKEYaaTAGaa_key(3)以字段aa1为索引表达式给表temp2增加一个普通索引,索引标识aa1_key;并且将表temp1的索引aa_key作为temp2关联字段。ALTERTABLEtemp2ADDFOREIGNKEYaa1TAGaa1_key;REFERENCEStemp1TAGaa_key目录上页下页退出15(4)将表temp1中“dd”的字段名改为“cc”ALTERTABLEtemp1RENAMECOLUMNddTOcc(5)删除表temp2中字段名为“dd1”的字段ALTERTABLEtemp2DROPdd1(6)将(3)所建的普通索引的关联字段删除。ALTERTABLEtemp2DROPFOREIGNKEYTAGaa1_key;SAVE(7)将(3)所建的普通索引删除。ALTERTABLEtemp2DROPFOREIGNKEYTAGaa1_key注意:增加普通索引时,必须同时指明与它关联的字段。目录上页下页退出16三、删除表【格式】DROPTALBE表名【功能】删除指定表的结构和内容(包括在此表上建立的索引)。【说明】如果只是想删除一个表中的所有记录,则应使用DELETE语句。目录上页下页退出17数据操纵语言是完成数据操作的命令,一般分为两种类型的数据操纵,它们统称为DML:●数据检索(常称为查询):寻找所需的具体数据。●数据修改:添加、删除和改变数据。数据操纵语言一般由INSERT(插入)、DELETE(删除)、UPDATE(更新),SELETE(检索,又称查询)等组成,由于SELETE比较特殊,所以一般又将它以查询(检索)语言单独出现。第三节数据操纵功能目录上页下页退出18【格式1】INSERTINTO表名[字段名表]VALUES(表达式表)【格式2】INSERTINTO表名FROMARRAY数组名|FROMMEMVAR【功能】在指定的表文件末尾追加一条记录。格式1用表达式表中的各表达式值赋值给字段名表中的相应的各字段。格式2用数组或内存变量的值赋值给表文件中各字段。【说明】如果某些字段名在INTO子句中没有出现,则新记录在这些字段名上将取空值(或默认值)。但必须注意的是,在表定义说明了NOTNULL的字段名不能取空值。一、插入记录目录上页下页退出19字段名表:指定表文件中的字段,缺省时,按表文件字段的顺序依次赋值。表达式表:指定要追加的记录各个字段的值。【例5-6】在表文件STUD的末尾追加三条记录。***用表达式方式追加第一条记录***INSERTINTOSTUD(学号,姓名,性别,班级名,系别代号,地址,出生日期,是否团员)VALUES(011110,李建国,男,计0121,01,湖北武汉,{^2009-02-28},.T.)目录上页下页退出20DIMENSIONDATA(8)DATA(1)=011103DATA(2)=李宁DATA(3)=女DATA(4)=电0134DATA(5)=02DATA(6)=江西九江DATA(7)={^2005-06-08}DATA(8)=.F.INSERTINTOSTUDFROMARRAYDATA***用数组方式追加第二条记录***目录上页下页退出21学号=011202姓名=赵娜性别=女班级名=英0112系别代号=03地址=广西南宁出生日期={^2002-01-12}是否团员=.F.INSE
本文标题:第五章 采矿专业 课件
链接地址:https://www.777doc.com/doc-332507 .html