1. blob转换成clob
只要不是逐项提交,效率都可以。但你的数据量很大,如果导入的数据不在乎排序,那么就不必要在意了,否则如果你将来业务代码里可能要通过主键排序,那这时要加事务,虽然oracle并发控制不会主键冲突,但连续的主键就不能保证了。
如果只是找个时间导入数据的话,直接把所有其他用户都断掉,然后1000条更新一次就好。
如果有blob,clob这种字段,还是100-200一次比较好
2. blob转换成string oracle
方法一:利用PL/SQL Developer工具导出:菜单栏---->Tools---->Export Tables
方法二:利用cmd的操作命令导出,详情如下:1:G:\Oracle\product\10.1.0\Client_1\NETWORK\ADMIN目录下有个tnsname.ora文件,内容如下:
CMSTAR = (DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST = 172.18.13.200)(PORT = 1521)) ) (CONNECT_DATA = (SERVICE_NAME = cmstar) ) )
其中:CMSTAR为数据库名,HOST为IP地址,所以可以仿效上面的例子手动添加数据录连接。
2:用cmd进入命令行输入:tnsping cmstar就是测试172.18.13.200是否连接成功
3:导入与导出,如下:数据导出:1 将数据库TEST完全导出,用户名system 密码manager 导出到D:\daochu.dmp中exp system/manager@TEST file=d:\daochu.dmp full=y2将数据库中system用户与sys用户的表导出expsystem/manager@TESTfile=d:\daochu.dmpowner=(system,sys)3将数据库中的表table1、table2导出expsystem/manager@TESTfile=d:\daochu.dmptables=(table1,table2)4将数据库中的表table1中的字段filed1以"00"打头的数据导出expsystem/manager@TESTfile=d:\daochu.dmptables=(table1)query=\"wherefiled1like'00%'\"
上面是常用的导出,对于压缩我不太在意,用winzip把dmp文件可以很好的压缩。不过在上面命令后面加上compress=y就可以了
数据的导入
1将D:\daochu.dmp中的数据导入TEST数据库中。impsystem/manager@TESTfile=d:\daochu.dmp上面可能有点问题,因为有的表已经存在,然后它就报错,对该表就不进行导入。在后面加上ignore=y就可以了。
2将d:\daochu.dmp中的表table1导入impsystem/manager@TESTfile=d:\daochu.dmptables=(table1)
注意事项:导出dmp数据时需要有导出表的权限的用户,否则不能导出。
PL/SQL Developer是Oracle数据库中用于导入或导出数据库的主要工具,本文主要介绍了利用PL/SQL Developer导入和导出数据库的过程,并对导入或导出时的一些注意事项进行了说明,接下来我们就一一介绍。
导出步骤:
1 tools ->export user object 选择选项,导出.sql文件。
2 tools ->export tables-> Oracle Export 选择选项导出.dmp文件。
导入步骤:
注:导入之前最好把以前的表删除,当然导入另外数据库除外。1 tools->import tables->SQL Inserts 导入.sql文件。2 tools->import talbes->Oracle Import然后再导入dmp文件。
一些说明:
Tools->Export User Objects导出的是建表语句(包括存储结构)。Tools->Export Tables里面包含三种导出方式,三种方式都能导出表结构以及数据,如下:Oracle ExportSql Insertpl/sql developer
第一种是导出为.dmp的文件格式,.dmp文件是二进制的,可以跨平台,还能包含权限,效率也很不错,用得最广 。第二种是导出为.sql文件的,可用文本编辑器查看,通用性比较好,但效率不如第一种,适合小数据量导入导出。尤其注意的是表中不能有大字段(blob,clob,long),如果有,会提示不能导出(提示如下: table contains one or more LONG columns cannot export in sql format,user Pl/sql developer format instead)。第三种是导出为.pde格式的,.pde为Pl/sql developer自有的文件格式,只能用Pl/sql developer自己导入导出,不能用编辑器查看。
3. blob转换成json
任何web软件和应用程序都需要强大的数据库管理工具,因此开发者选择一款合适的数据库管理工具尤为重要。本文列出了几款好用的数据库管理工具(有些并非开源或免费),以供开发者们参考选择:
1、
MySQL管理工具 phpMyAdmin
phpMyAdmin是一个非常受欢迎的基于web的MySQL数据库管理工具。它能够创建和删除数据库,创建/删除/修改表格,删除/编辑/新增字段,执行SQL脚本等。
缺点:
SQL语法不高亮
2、
数据库管理工具 Navicat Lite
Navicat是一套快速、可靠并价格相宜的资料库管理工具,大可使用来简化资料库的管理及降低系统管理成本。它的设计符合资 料库管理员、开发人员及中小企业的需求。 Navicat是以直觉化的使用者图形介面所而建的,让你可以以安全且简单的方式建立、组织、存取并共用资讯。Navicat 支持的数据库包括 MySQL、Oracle、SQLite、PostgreSQL 和 SQL Server 等。
Navicat 提供商业版 Navicat Premium 和 免费的版本 Navicat Lite 。但目前 Navicat 已不再提供 LITE 版本。
缺点:
免费版本已停止更新。
3、
数据库管理工具 DBeaver
DBeaver 是一个通用的数据库管理工具和 SQL 客户端,支持 MySQL, PostgreSQL, Oracle, DB2, MSSQL, Sybase, Mimer, HSQLDB, Derby, 以及其他兼容 JDBC 的数据库。DBeaver 提供一个图形界面用来查看数据库结构、执行SQL查询和脚本,浏览和导出数据,处理BLOB/CLOB 数据,修改数据库结构等等。
4、
MySQL 数据库建模工具 MySQL Workbench
MySQL Workbench是数据库架构师和开发人员的可视化数据库设计、管理的工具,它是著名的数据库设计工具DBDesigner4的继任者。你可以用MySQL Workbench设计和创建新的数据库图示,建立数据库文档。它同时有开源和商业化的两个版本。可以在Windows,Linux和MAC OS X上使用。
它在2016年十月份成为一个稳定的工具。
缺点:
比 phpMyAdmin 更复杂。
5、
MAC上的MySQL管理工具 Sequel Pro
Sequel Pro 的原名是CocoaMySQL,是一个与phpMyAdmin相像的MySQL管理工具。它是由Cocoa和面对对象的C(Mac OSX)编写的。Sequel Pro允许你编辑数据库,表格(字段和索引)和列,执行个性化查找和导入导出数据。
缺点:
不适用于其他系统。
6、
web数据库管理工具 webcat
webcat是一个java版的web数据库管理工具,核心功能包括数据库的创建、编辑、sql分析、代码生成、数据备份等。 目前一期功能已开发完毕,所涉及到的功能我基本都已经测试通过,稳定版本为1.0.0.5。 接下来会继续完善一期功能,部分代码会重构,增加一些使用者提出的功能。 因此在此期间暂时关闭fork,待新版本开发完成并稳定之后再开放。代码会持续更新,敬请关注。 QQ群:341624652 有问题或者新需求请到QQ群反馈. 安装部署请参见下方。
7、
SQLite管理工具 SQLiteStudio
SQLiteStudio 是一个跨平台的
SQLite
数据库的管理工具,采用Tcl
语言开发。主要特性:
便携性 - 无需安装和卸载,下载解压即可使用
界面直观
功能强大,同时保持轻量级而且快速
通过简单的 GUI 封装了所有 SQLite3 及 SQLite2 的功能
支持跨平台 包括 Windows 9x/2k/XP/2003/Vista/7, Linux, MacOS X
支持导出各种格式数据 (SQL statements, CSV, HTML, XML, PDF, JSON),
支持导入各种格式数据(CSV, 自定义文本文件[正则表达式]),
额外的小功能,包括代码格式化,查询历史记录,语法检查等等
支持 Unicode ,
支持换肤
可配置的颜色、字体和快捷方式
开源且免费
GPLv3 license
.8、
Oracle 数据库开发工具 Oracle SQL Developer
Oracle SQL Developer 是一个
免费非开源
的用以开发数据库应用程序的图形化工具,使用 SQL Developer 可以浏览数据库对象、运行 SQL 语句和脚本、编辑和调试 PL/SQL 语句。另外还可以创建执行和保存报表。该工具可以连接任何 Oracle 9.2.0.1 或者以上版本的 Oracle 数据库,支持 Windows、Linux 和 Mac OS X 系统。9、
数据库管理客户端 HeidiSQL
HeidiSQL 是一个功能非常强大的数据库客户端软件,采用 Delphi 开发,支持 Windows 操作系统。支持 MySQL、MariaDB、Percona Server 和微软的 SQL Server。
当然,优秀的数据库管理工具还有很多,欢迎在评论区补充,以供更多开发者学习和交流。
文章素材来源【开源中国社区】
只会增删查改?你还缺个数据库管理工具! - 编辑部的故事
4. blob转换成file
Blob 是 HTML5 中提供的 API,一般在浏览器环境中使用。Blob 简单的理解是类似文件对象的二进制数据,因此可以像操作File对象一样操作Blob对象,File继承自Blob。
不清楚你的需求是什么
如果想要将前端的二进制数据(图片)传到后端然后保存起来的话,应该使用 http 进行前后端交互,通过 multipart/form-data 类型提交表单,然后由后端解析得到图片的二进制文件进行存储。
利用 FormData 对象和 Blob对象 上传文件和上传普通的 File 类型的文件方式相同 eg.
觉得有用点个赞吧
5. blob转换成varchar
这是因为删除操作后在数据文件中留下碎片所致。
DELETE只是将数据标识位删除,并没有整理数据文件,当插入新数据后,会再次使用这些被置为删除标识的记录空间。
另外实际操作过程中还发现这个问题还存在两种情况。
(1)当DELETE后面跟条件的时候,则就会出现这个问题。如:delete from table_name where 条件删除数据后,数据表占用的空间大小不会变。
(2)不跟条件直接delete的时候。如:delete from table_name清除了数据,同时数据表的空间也会变为0。
这就存在了一个问题,在网站的实际运行过程中。经常会存在这样的附带条件删除数据的操作行为。
天长日久,这不就在数据库中浪费了很多的空间吗。这个时候我们该使用 OPTIMIZE TABLE 指令对表进行优化了。如何使用 OPTIMIZE 以及在什么时候该使用 OPTIMIZE 指令呢? 命令语法:OPTIMIZE [LOCAL | NO_WRITE_TO_BINLOG] TABLE tbl_name [, tbl_name] ...最简单的:optimize table phpernote_article; 如果您已经删除了表的一大部分,或者如果您已经对含有可变长度行的表(含有VARCHAR, BLOB或TEXT列的表)进行了很多更改,则应使用 OPTIMIZE TABLE。
被删除的记录被保持在链接清单中,后续的INSERT操作会重新使用旧的记录位置。
您可以使用OPTIMIZE TABLE来重新 利用未使用的空间,并整理数据文件的碎片。
在多数的设置中,您根本不需要运行OPTIMIZE TABLE。
即使您对可变长度的行进行了大量的更新,您也不需要经常运行,每周一次或每月一次即可,只对特定的表运行。
OPTIMIZE TABLE只对MyISAM, BDB和InnoDB表起作用。 注意,在OPTIMIZE TABLE运行过程中,MySQL会锁定表。因此,这个操作一定要在网站访问量较少的时间段进行。
TRUNCATE其语法结构为:TRUNCATE [TABLE] tbl_name这里简单的给出个示例,我想删除 friends 表中所有的记录,可以使用如下语句:truncate table friends;delete的效果有点像将mysql表中所有记录一条一条删除到删完,而truncate相当于保留mysql表的结构,重新创建了这个表,所有的状态都相当于新表,这样空间就减下来了。好了,当然对于我们网站不可能使用truncate table来清除了,因这样之后所有数据都丢失了,这样肯定是不合理的清除了,我们必须使用delete来删除,然后再来修复优化表了哦。
- 相关评论
- 我要评论
-