前沿: 在中使用 xml数据 可以更好的管理数据,将所有数据进行了格式化,这个过程是怎么样的呢?
在存储过程中使用ExtractValue()函数
上面使用的方法***的缺陷就是在代码中写死了要检索的行,这样很不灵活,下面我们使用一个存储过程来解决这个问题。
有Igor Romanenko编写的MySqlDump客户端最初是一个备份程序,它可以备份数据库,或将一个数据库转移到另一个数据库(MySQL或其它数据库),它的这个备份过程其实是一个创建表,填充表的过程。此外,MySqlDump还可以生成CSV,XML或其它由分隔符控制的文本文件。
虽然不止一种执行MySqlDump的方法,但我想使用下面的语法:
你也可以使用标准的Unix/Dos方法输出到一个文件,如下面的命令将一个表转成一个XML文件:
打开sqldump.xml看看,我们发现MySqlDump客户端包括了比–xml选项更多的信息,但它却是按每一行、字段名和值的方式输出的,MySqlDump将表结构和表数据单独输出。
我们使用这个工具创建XML数据结构的原因是已经有存储过程可以将MySqlDump XML数据插入到表中,MySQL开发人员Alexander Barkov编写了这样一个存储过程xmldump_load,这个存储过程可以从mysqldump –xml命令输出的XML文档中提取数据,并将提取到的数据插入到MySQL表的列中,下面是这个存储过程的全部代码。
仔细阅读代码你就会发现其实这个存储过程使用了我们前面使用到的工具,如LOAD_FILE()和ExtractValue()函数,它只不过增加了两个嵌套的While循环,遍历每一行和列。
下面说说导入sqldump.xml文件的步骤。首先须创建xmldump_load存储过程。
你也可以使用source或\.命令从MySQL客户端载入存储过程。
这个存储过程接受下面三个输入参数:
我们还是以前面创建的sqldump.xml文件,数据库和表名为例。
这条命令将向client_info数据库client表中插入sqldump.xml文件中的内容。
即将推出的新特性
MySQL 6.0可以接受新的SQL语句,6.0.3版本将提供LOAD XML功能,直接导入XML文件,再也不用啥存储过程了,在写本文的时候还是5.4 Beta版本,因此还需耐心等候一段时间。
上文详细介绍了在MySQL中使用XML数据—数据格式化,这个看上去全是代码,可能理解起来并不是那么容易,所以就需要大家深入其中,认真去理解,希望对大家有用处。
【编辑推荐】
SSH框架的配置步骤是什么?
在 中配置 文件 action config /WEB-INF/,/WEB-INF/struts-config_,/WEB-INF/struts-config_,/WEB-INF/struts-config_,/WEB-INF/struts-config_,/WEB-INF/struts-config_,/WEB-INF/struts-config_,/WEB-INF/struts-config_,/WEB-INF/struts-config_,/WEB-INF/struts-config_,/WEB-INF/struts-config_jf_ debug 2 detail 2 2
hibernate和jdbc有什么区别?(面试题)
hibernate和Jdbc?两个之间基本不是个级别的,hibernate包括了jdbc,jdbc是java用来连接,访问数据库的,hibernate需要封装jdbc才能运行。 jdbc连接数据库和hibernate大致相同,因为hibernate只是将配置信息写入到xml文件中,剩下连接数据库,访问数据库都要通过jdbc的。 hibernate是一个持久层框架,hibernate将表的信息映射到xml文件中,再从xml文件映射到相应的持久化类中,这样可以使用hibernate独特的查询语言hql了。 而jdbc访问数据库是通过sql语句直接访问的。 hibernate的hql查询语句返回的是list类,而jdbc通过statement返回的查询结果是ResultSet并且有时候需要自己封装到List中。 hibernate其重要区别在于hibernate具有访问层(DAO类层),该层是HQL查询语句唯一出现的位置,再往上层则不会出现查询语句,而jdbc可以随时连接随时访问,试想如果1000个类都有sql查询语句,如果表名变了是不是要全部重写1000个类的查询语句呢?hibernate只需要将DAO层的类变了就行了,上层毫无关系,对数据维护有重要作用。 再者,使用jdbc依然可以建立DAO层,但是却需要大量的代码支持,而hibernate自己就有,不用编写。 应该说全了吧。 。 。 。
什么是sql注入?

SQL是Structured Quevy Language(结构化查询语言)的缩写。 SQL是专为数据库而建立的操作命令集,是一种功能齐全的数据库语言。 在使用它时,只需要发出“做什么”的命令,“怎么做”是不用使用者考虑的。 SQL功能强大、简单易学、使用方便,已经成为了数据库操作的基础,并且现在几乎所有的数据库均支持SQL。 ##1 二、SQL数据库数据体系结构 SQL数据库的数据体系结构基本上是三级结构,但使用术语与传统关系模型术语不同。 在SQL中,关系模式(模式)称为“基本表”(base table);存储模式(内模式)称为“存储文件”(stored file);子模式(外模式)称为“视图”(view);元组称为“行”(row);属性称为“列”(column)。 名称对称如^a^: ##1 三、SQL语言的组成 在正式学习SQL语言之前,首先让我们对SQL语言有一个基本认识,介绍一下SQL语言的组成: 1.一个SQL数据库是表(Table)的集合,它由一个或多个SQL模式定义。 2.一个SQL表由行集构成,一行是列的序列(集合),每列与行对应一个数据项。 3.一个表或者是一个基本表或者是一个视图。 基本表是实际存储在数据库的表,而视图是由若干基本表或其他视图构成的表的定义。 4.一个基本表可以跨一个或多个存储文件,一个存储文件也可存放一个或多个基本表。 每个存储文件与外部存储上一个物理文件对应。 5.用户可以用SQL语句对视图和基本表进行查询等操作。 在用户角度来看,视图和基本表是一样的,没有区别,都是关系(表格)。 用户可以是应用程序,也可以是终端用户。 SQL语句可嵌入在宿主语言的程序中使用,宿主语言有FORTRAN,COBOL,PASCAL,PL/I,C和Ada语言等。 SQL用户也能作为独立的用户接口,供交互环境下的终端用户使用。 ##1 四、对数据库进行操作 SQL包括了所有对数据库的操作,主要是由4个部分组成: 1.数据定义:这一部分又称为“SQL DDL”,定义数据库的逻辑结构,包括定义数据库、基本表、视图和索引4部分。 2.数据操纵:这一部分又称为“SQL DML”,其中包括数据查询和数据更新两大类操作,其中数据更新又包括插入、删除和更新三种操作。 3.数据控制:对用户访问数据的控制有基本表和视图的授权、完整性规则的描述,事务控制语句等。 4.嵌入式SQL语言的使用规定:规定SQL语句在宿主语言的程序中使用的规则。 下面我们将分别介绍: ##2 (一)数据定义 SQL数据定义功能包括定义数据库、基本表、索引和视图。 首先,让我们了解一下SQL所提供的基本数据类型:(如^b^) 1.数据库的建立与删除 (1)建立数据库:数据库是一个包括了多个基本表的数据集,其语句格式为: CREATE DATABASE 〔其它参数〕 其中,在系统中必须是唯一的,不能重复,不然将导致数据存取失误。 〔其它参数〕因具体数据库实现系统不同而异。 例:要建立项目管理数据库(xmmanage),其语句应为: CREATE DATABASE xmmanage (2) 数据库的删除:将数据库及其全部内容从系统中删除。 其语句格式为:DROP DATABASE 例:删除项目管理数据库(xmmanage),其语句应为: DROP DATABASE xmmanage 2.基本表的定义及变更 本身独立存在的表称为基本表,在SQL语言中一个关系唯一对应一个基本表。 基本表的定义指建立基本关系模式,而变更则是指对数据库中已存在的基本表进行删除与修改
发表评论