sql数据库

两台服务器数据库同步

匆匆过客 提交于 2020-03-10 12:41:55
官网下载: https://www.syncnavigator.cn SQL Server 自动同步到 MySQL 本文章将向您介绍如何将数据从 SQL Server 自动或定时同步到 MySQL 数据库(或从 MySQL 自动或同步到 SQL Server 数据库)。只需通过几个步骤即可轻松实现。 1. 在 "同步管理" 面板中点击 "新建" 按钮创建同步项目。 2. 首先切换到 "来源数据库" 选项卡。填写同步的来源数据库信息。 数据库类型选择 SQL Server 2000/2005/2008/2012/2014 3. 切换到 "目标数据库" 选项卡。以相同的方式填写同步的目标数据库。 数据库类型选择 Mysql 4.x 5.x 6.x 当您从 MySQL 同步到 SQL Server 时,每张表至少需要一个主键(从 SQL Server 到 MySQL 不需要) 4. 切换到 "同步内容设置" 选项卡。选择需要同步的数据库表。 5. 切换到 "计划调度设置" 选项卡,新建一个运行计划。 如果需要自动同步(如24小时不间断)则选择自动。 如果需要定时同步,则点击对应的选项。 6. 点击 "确定" 按钮保存当前设置。 7. 设置成功。当系统时间符合您的条件时软件会自动开始同步。 当您使用软件自动创建表结构,从MySQL 同步到 SQL Server 可能出现的问题: 1.

Oracle数据库SQL优化的最佳思路

断了今生、忘了曾经 提交于 2020-03-10 10:33:42
如何在 Oracle数据库里写出高质量的SQL语句,如何在Oracle数据库里对有性能问题的SQL做诊断和调整,这是DBA们在ORACLE数据库实践中不可避免的难题。下面就让我们来分析一下拿到一条问题sql后DBA可以如何去开始优化思路。 对于有问题的SQL做SQL优化的具体步骤一般为: 1、查看该SQL语句的执行计划,并结合其资源消耗情况和相关统计信息、Trace文件来分析其执行计划是否合理; 2、通过修正措施(如调整该SQL的执行计划等)来对该SQL做调整以缩短其执行时间,Oracle数据库里SQL优化的终极目标就是要缩短目标SQL语句的执行时间。要达到上述目的,我们通常只有如下三种方法可以选择: 1、降低目标SQL语句的资源消耗; 2、并行执行目标SQL语句; 3、平衡系统的资源消耗。 方法1:降低目标SQL语句的资源消耗”以缩短执行时间,这是DBA们最常用的SQL优化方法。这种方法的核心是要么通过在不更改业务逻辑的情况下改写SQL来降低目标SQL语句的资源消耗,要么不改SQL但通过调整执行计划或相关表的数据来降低目标SQL语句的资源消耗。 方法2:并行执行目标SQL语句”,这实际上是以额外的资源消耗来换取执行时间的缩短,很多情况下使用并行是针对某些SQL的唯一优化手段。 方法3:平衡系统的资源消耗” 可以避免不必要的资源争用所导致的目标SQL语句执行时间的增长

如何在MySQL中运行SQL脚本?

五迷三道 提交于 2020-03-10 09:55:09
我想在MySQL中执行包含SQL查询的文本文件。 我试图运行 source /Desktop/test.sql 并收到错误: mysql>。 \\ home \\ sivakumar \\ Desktop \\ test.sql错误:无法打开文件'\\ home \\ sivakumar \\ Desktop \\ test.sql',错误:2 对我做错了什么的想法? #1楼 您可以使用以下命令执行已在文本文件中编写的mysql语句: mysql -u yourusername -p yourpassword yourdatabase < text_file 如果尚未创建您的数据库,请首先使用以下命令登录您的mysql: mysql -u yourusername -p yourpassword yourdatabase 然后: mysql>CREATE DATABASE a_new_database_name 然后: mysql -u yourusername -p yourpassword a_new_database_name < text_file 应该这样做! 更多信息: http : //dev.mysql.com/doc/refman/5.0/en/mysql-batch-commands.html #2楼 很可能,你只需要更改斜杠/ blackslash:from

备份数据重复的数据库sql删除操作

别等时光非礼了梦想. 提交于 2020-03-10 08:48:08
两张表做笛卡尔积, 利用笛卡儿积的方法进行去重 。逻辑删除update,或直接删除delete update eepm_engineer_pro_implement set state=2 where id in ( select p1.id FROM eepm_engineer_pro_implement p1,eepm_engineer_pro_implement p2 WHERE p1.guid = p2.guid AND p1.id > p2.id and p1.histortydate like '2020-03-06%' and p1.state =1 and p2.histortydate like '2020-03-06%' and p2.state =1 ); 来源: oschina 链接: https://my.oschina.net/suncici1101/blog/3190804

SQL Server存储过程

喜你入骨 提交于 2020-03-10 08:05:02
在SQL Server中,存储过程是比视图更强大。视图让我们简单地做一个SELECT查询也在可视图本身,它的工作方式是用于运行复杂的查询。 但视图并不姝真正为我们提供代码业务逻辑的能力。例如,视图不会能让我们增加条件代码(如IF语句)。幸运的是存储过程可能使用。 什么是存储过程? 存储过程是一组SQL语句编译成一个SQL。类似于在说的SQL脚本页面,在这里可以运行许多SQL脚本合为一个整体。 然而,存储过程并不仅仅是一个长脚本。这是已保存在SQL Server中明确在存储过程节点的脚本。存储过程通常包含一些业务逻辑。 例如,一个存储过程可以接受被传递给它的并针对这些参数测试使用IF语句的参数。例如,如果该参数是一个值,这样做,如果它是另一个值。 它们包含业务逻辑的能力使存储过程SQL Server的强大的一部分。存储过程可以提高性能的应用程序,因为存储过程进行解析,并尽快,因为它是建立优化,然后存储在内存中。运行通过存储过程条件的查询可以是非常快 - 相比,发送查询通过网络,到SQL Server的应用程序,遂将全部返还给它在网络上,因此它可以过滤通过它,并挑选出只是它感兴趣的记录数据。 存储过程的好处 下面是一些在使用存储过程的主要优点: 好处 说明 模块化编程 可以写一个存储过程一次,然后一次又一次地调用它,从应用程序的不同部分(甚至多个应用程序)。 性能

恢复oracle中误删除drop掉的表

爱⌒轻易说出口 提交于 2020-03-09 22:22:01
查看回收站中表 select object_name,original_name,partition_name,type,ts_name,createtime,droptime from recyclebin; 恢复表 SQL>flashback table test_drop to before drop;或 SQL>flashback table "BIN$b+XkkO1RS5K10uKo9BfmuA==$0" to before drop; 注:必须9i或10g以上版本支持,flashback无法恢复全文索引 以下为参考资料 使用 Oracle Database 10g 中的闪回表特性,可以毫不费力地恢复被意外删除的表   以下是一个不该发生却经常发生的情况:用户删除了一个非常重要的表 ― 当然是意外地删除 ― 并需要尽快地恢复。(在某些时候,这个不幸的用户可能就是 DBA!)   Oracle9i Database 推出了闪回查询选项的概念,以便检索过去某个时间点的数据,但它不能闪回 DDL 操作,如删除表的操作。唯一的恢复方法是在另一个数据库中使用表空间的时间点恢复,然后使用导出/导入或其他方法,在当前数据库中重新创建表。这一过程需要 DBA 进行大量工作并且耗费宝贵的时间,更不用说还要使用另一个数据库进行克隆。   请使用 Oracle Database 10g

ORACLE基本数据类型总结

為{幸葍}努か 提交于 2020-03-09 20:09:51
ORACLE基本数据类型(亦叫内置数据类型 built-in datatypes)可以按类型分为:字符串类型、数字类型、日期类型、LOB类型、LONG RAW& RAW类型、ROWID & UROWID类型。 在讲叙字符串类型前,先要讲一下编码。字符串类型的数据可依编码方式分成数据库字符集(CHAR/VARCHAR2/CLOB/LONG)和国际字符集(NCHAR/NVARCHAR2/NCLOB)两种。数据库中的字符串数据都通过字符集将字符转换为数字后(二进制),才存储到数据块中。通过不同的编码集转换,即便是相同的字符,也可能会转换成不同的二进制编码。这也是产生乱码的原因。数据库的编码格式一般是在创建数据库时指定的。当然也可以修改数据库的编码。 查看数据库视图所包含的数据类型:SELECT * FROM DBA_TYPES WHERE OWNER IS NULL.具体细节情况参见 Oracle® Database SQL Language Quick Reference 10/11 g 或 官方文档 一 字符串类型 字符串数据类型还可以依据存储空间分为固定长度类型(CHAR/NCHAR) 和可变长度类型(VARCHAR2/NVARCHAR2)两种. 所谓固定长度:是指虽然输入的字段值小于该字段的限制长度,但是实际存储数据时,会先自动向右补足空格后,才将字段值的内容存储到数据块中

Oracle基本数据类型总结

痞子三分冷 提交于 2020-03-09 20:08:04
ORACLE基本数据类型(亦叫内置数据类型 built-in datatypes)可以按类型分为:字符串类型、数字类型、日期类型、LOB类型、LONG RAW& RAW类型、ROWID & UROWID类型。 在讲叙字符串类型前,先要讲一下编码。字符串类型的数据可依编码方式分成数据库字符集(CHAR/VARCHAR2/CLOB/LONG)和国际字符集(NCHAR/NVARCHAR2/NCLOB)两种。数据库中的字符串数据都通过字符集将字符转换为数字后(二进制),才存储到数据块中。通过不同的编码集转换,即便是相同的字符,也可能会转换成不同的二进制编码。这也是产生乱码的原因。数据库的编码格式一般是在创建数据库时指定的。当然也可以修改数据库的编码。 查看数据库视图所包含的数据类型:SELECT * FROM DBA_TYPES WHERE OWNER IS NULL.具体细节情况参见 Oracle® Database SQL Language Quick Reference 10/11 g 或 官方文档 一 字符串类型 字符串数据类型还可以依据存储空间分为固定长度类型(CHAR/NCHAR) 和可变长度类型(VARCHAR2/NVARCHAR2)两种. 所谓固定长度:是指虽然输入的字段值小于该字段的限制长度,但是实际存储数据时,会先自动向右补足空格后,才将字段值的内容存储到数据块中

Oracle学习<六>

走远了吗. 提交于 2020-03-09 20:04:16
Oracle基本数据类型 数据类型(datatype)是列(column)或存储过程中的一个属性。 Oracle支持的数据类型可以分为三个基本种类:字符数据类型、数字数据类型以及表示其它数据的数据类型。 字符数据类型 CHAR CHAR数据类型存储固定长度的子符值。一个CHAR数据类型可以包括1到2000个字符。如果对CHAR没有明确地说明长度,它的默认长度则设置为1.如果对某个CHAR类型变量赋值,其长度小于规定的长度,那么Oracle自动用空格填充。 VARCHAR2存储可变长度的字符串。虽然也必须指定一个VARCHAR2数据变量的长度,但是这个长度是指对该变量赋值的的最大长度而非实际赋值长度。不需要用空格填充。最多可设置为4000个字符。 因为VARCHAR2数据类型只存储为该列所赋的字符(不加空格),所以VARCHAR2需要的存储空间比CHAR数据类型要小。 Oracle推荐使用VARCHAR2 NCHAR和NVARCHAR2 NCHAR和NVARCHAR2数据类型分别存储固定长度与可变长度的字符数据,但是它们使用的是和数据库其他类型不同的字符集。在创建数据库时,需要指 定所使用的字符集,以便对数据库中数据进行编码。还可以指定一个辅助的字符集[即本地语言集(National Language Set,简称NLS)]。NCHAR和NVARCHAR2类型的列使用辅助字符集。

Oracle数据类型

与世无争的帅哥 提交于 2020-03-09 20:02:24
数据类型(datatype)是列(column)或存储过程中的一个属性。 Oracle支持的数据类型可以分为三个基本种类:字符数据类型、数字数据类型以及表示其它数据的数据类型。 字符数据类型 CHAR CHAR数据类型存储固定长度的子符值。一个CHAR数据类型可以包括1到2000个字符。如果对CHAR没有明确地说明长度,它的默认长度则设置为1.如果对某个CHAR类型变量赋值,其长度小于规定的长度,那么Oracle自动用空格填充。 VARCHAR2存储可变长度的字符串。虽然也必须指定一个VARCHAR2数据变量的长度,但是这个长度是指对该变量赋值的的最大长度而非实际赋值长度。不需要用空格填充。最多可 设置为4000个字符(byte) 。 当然是要看DB的字符集(AL32UTF8/ ZHS16GBK)的, select lengthb('bb字節') from dual 存储时,一个英文字母是1byte,中文是2(或3)byte, (对照数据库) System.Text .Encoding .Default (UTF8).GetBytes(strNow).Length .ToString () 因为VARCHAR2数据类型只存储为该列所赋的字符(不加空格),所以VARCHAR2需要的存储空间比CHAR数据类型要小。 Oracle推荐使用VARCHAR2 NCHAR和NVARCHAR2