《数据库操作技术》PPT课件.ppt_第1页
《数据库操作技术》PPT课件.ppt_第2页
《数据库操作技术》PPT课件.ppt_第3页
《数据库操作技术》PPT课件.ppt_第4页
《数据库操作技术》PPT课件.ppt_第5页
已阅读5页,还剩13页未读 继续免费阅读

下载本文档

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

文档简介

数据库操作技术,主要内容,数据定义语言DDL 利用DDL操作数据表 DDL的其他功能 结果集元数据(ResultSetMetaData) 数据库元数据(DatabaseMetaData),数据定义语言DDL,数据定义语言用于创建(CREATE)、修改和删除数据库(database)以及数据库中的数据表(table);数据表可以操作的属性包括表的名称、字段名称、字段的数据类型以及数据表的完整性限制等。 操作数据库的SQL语法各DBMS有一定差异,且大部分DBMS都提供了GUI来操作,所以操作数据库的SQL语法不作介绍; 了解创建数据库的语法: CREATE DATABASE database_name 了解操作数据表的SQL语法是很有必要的,即使很多DBMS同样提供了操作数据表的GUI。,利用DDL操作数据表,创建数据表 基本语法: CREATE TABLE table_name ( column_name datatype NULL | NOT NULL , column_name datatype NULL | NOT NULL ) 例如: CREATE TABLE employees1 ( id varchar(3) NOT NULL, name varchar(10) NOT NULL, email varchar(30), age integer, ),利用DDL操作数据表,修改数据表 基本语法: ALTER TABLE table_name ADD new_column_name datatype ALTER COLUMN column_name new_datatype 例如: ALTER TABLE employees ADD hometown char(10) ALTER TABLE employees ALTER COLUMN hometown varchar(10) 删除数据表 基本语法: DROP TABLE table_name 例如: DROP TABLE employees 注意:DROP TABLE会将数据表及表中所有数据全部删除,慎用!,利用DDL操作数据表,DDL操作数据表程序举例 为SQL Server2000的yinhe数据库创建一个数据表:testtable 为testtable添加一条数据纪录 为testtable增加两个字段 修改testtable的某个字段的数据类型 删除testtable,DDL的其他功能,操作视图 视图最终是定义在基本表之上的,它可以简化用户的操作,对机密数据提供安全保护等(对不同的用户定义不同的视图),DDL可以定义、查询以及更新视图 操作索引 索引的主要用途是提供了一种无需扫描每个页面,而能够快速访问数据页的方法,从而提高查询效率,通过DDL可以创建、删除索引。,元数据(MetaData),MetaDataData about Data,描述数据的数据。 DatabaseMetaData,纪录了数据库及用户所使用的驱动的相关信息,并向用户提供了获取这些信息的方法。 ResultSetMetaData,记录了结果集的相关描述性信息,如结果集中字段的名称、类型及数目等,此类在编写通用性的数据库应用程序时非常有用。,结果集元数据(ResultSetMetaData),大多数情况下,我们对于获得的结果集的形式和结构是很清楚的;但有时也可能在获得结果前对结果集不甚了解,此时就需要用到ResultSetMetaData来获得对该结果集的列的数目、列值类型及其他特性的描述信息。 通过ResultSet接口的getMetaData可获得对应结果集的ResultSetMetaData对象。 常用方法: int getColumnCount() 结果集的总列数 int getColumnDisplaySize(int column) 字段的最大字符数 String getColumnName(int column) 字段的名称 int getColumnType(int column) 数据库字段的类型,返回值定义在Types类中 String getColumnTypeName(int column) 数据库字段的类型名称 boolean isReadOnly(int column) 字段是否只能读取 boolean isWritable(int column) 字段是否可以写入 int isNullable(int column) 字段是否允许Null值 boolean isCaseSensitive(int column) 字段值是否大小写一样,结果集元数据(ResultSetMetaData),举例,使用ResultSetMetaData获取对应结果集的常用描述信息。,复习与实践,使用ResultSetMetaData编写通用的数据查询程序: 写一个函数,用于输出任意结果集到屏幕终端上,输出信息中必须包含字段名称和字段类型。 执行任意查询语句,调用上面写的函数将结果集打印出来。 复习内容:ResultSetMetaData,数据库元数据(DatabaseMetaData),通过Connection对象的getMetaData方法返回正在连接的数据库的DatabaseMetaData对象。 DatabaseMetaData接口提供了数量众多的方法,这些方法可分为两大类,一类返回值为boolean型,多用于检查数据库或驱动器是否支持某项功能;另一类是用来获取数据库或者驱动器本身的某些特性值,返回值可能为int、String,甚至可能为ResultSet对象。 返回值为boolean的常用方法: boolean isReadOnly() 检查数据库是否只读 boolean supportsGroupBy() 检查数据库是否支持Group By子句 boolean supportsOuterJoins() 检查数据库是否支持外联接 boolean supportsStoredProcedures() 检查是否支持存储过程 boolean supportsTransactions() 检查是否支持事务 ,数据库元数据(DatabaseMetaData),获取数据库或驱动信息的常用方法: String getURL() 返回用于连接数据库的URL地址 String getUserName() String getDriverName() String getProcedureTerm() 返回DBMS对存储过程的特定称呼 int getMaxColumnNameLength() 返回字段名允许的最大长度 最重要的方法: ResultSet getTables(String catalog, String schemaPattern, String tableNamePattern, String types),数据库元数据(DatabaseMetaData),ResultSet getTables()方法说明 取得当前所连接的数据库中所有数据表的信息,每一个数据表的信息作为返回的ResultSet的一个记录行,这些信息包括:,数据库元数据(DatabaseMetaData),形参说明 catalog是数据库的目录名称,可以传入想要获取的数据表所在的目录名称,如果要获取所有目录名称下的数据表则传入null。 schemaPattern是数据库的模式,它用来做数据库组件的分类;通常数据库以用户作为一个模式,可以传入想要获取的数据表所属的模式,若想获取所有模式下的数据表,传入null。 tableNamePattern数据库的数据表名称,如果只想获取某一个数据表,传入此表的名称;否则以null代表所有的数据表。 types数据库的数据表类型,可能的类型有:”TABLE”, “VIEW”, “SYSTEM_TABLE”, 举例:使用DatabaseMetaData的getTables()方法,获取数据库中的所有数据表的信息。,数据库元数据(DatabaseMetaData),既然已经知道了如何获取数据库中所有数据表的信息,可进一步利用DatabaseMetaData的getColumns方法获取各数据表的字段信息: ResultSet getColumns(String catalog, String schemaPattern, String tableNamePattern, String columnNamePattern) 参数说明: catalog, schemaPattern, tableNamePattern与getTables()的形参意义一样。 columnNamePattern要获取的字段名称,若想获取数据表中所有字段,传入null。,数据库元数据(DatabaseMetaData),返回的结果集中,每一个记录行是一个字段的信息,部分信息如下表:,举例:先利用getT

温馨提示

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

评论

0/150

提交评论