精华内容
下载资源
问答
  • 二:导出整个表 单击 “工具”--“导出” --“SQL插入” (记得选中,否者导出的.sql文件没有结构) 导出之后是一个插入数据的SQL(包含创建注释,空间等结构) 三:导出部分数据 SQL...

    一:导出表结构

    单击 “工具”--“导出用户对象”         (记得选中表)

    导出之后是一个创建表的SQL(包含注释,表空间等表结构)

    二:导出整个表

    单击 “工具”--“导出表” --“SQL插入”        (记得选中表,否者导出的.sql文件没有表结构)

    导出之后是一个插入数据的SQL(包含创建表和表注释,表空间等表结构)

    三:导出表部分数据

    SQL-->执行-->导出查询结果

    导出之后是一个插入数据的SQL(不含创建表和表注释,表空间等表结构)

    四:复制表

    SQL语句:create table IGIS_COPY as select * from IGIS_LOCATION

    五:导入表

    工具-->导入表-->SQL插入(使用SQL*Plus)-->导入文件(必须是带有表结构的导入的SQL文件,注意不同表空间的表在导入时是否需要修改表空间

     

     这里可以使用导出表里边或者导出表结构的表结构,必须是带有表结构的插入语句才可以导入表。

     

    ------------------------------原文链接------------------------------

     

     

    展开全文
  • MySQL数据库修改数据表引擎

    万次阅读 2018-08-16 16:37:04
    mysql 类型说明  MyISAM:这个是默认类型,它是基于传统的ISAM类型,ISAM是Indexed Sequential Access Method (有索引的 顺序访问方法) 的缩写,它是存储记录和文件的标准方法。与其他存储引擎比较,MyISAM具有...

    mysql 表类型说明

     MyISAM:这个是默认类型,它是基于传统的ISAM类型,ISAM是Indexed Sequential Access Method (有索引的 顺序访问方法) 的缩写,它是存储记录和文件的标准方法。与其他存储引擎比较,MyISAM具有检查和修复表格的大多数工具。 MyISAM表格可以被压缩,而且它们支持全文搜索。它们不是事务安全的,而且也不支持外键。如果事物回滚将造成不完全回滚,不具有原子性。如果执行大量 的SELECT,MyISAM是更好的选择

    InnoDB:这种类型是事务安全的。它与BDB类型具有相同的特性,它们还支持外键。InnoDB表格速度很快,具有比BDB还丰富的特性,因此如果需要一个事务安全的存储引擎,建议使用它。如果你的数据执行大量的INSERT或UPDATE,出于性能方面的考虑,应该使用InnoDB表。

    对于支持事物的InnoDB类型的标,影响速度的主要原因是AUTOCOMMI,默认设置是打开的,而且程序没有显式调用BEGIN 开始事务,导致每插入一条都自动Commit,严重影响了速度。可以在执行sql前调用begin,多条sql形成一个事物(即使autocommit打 开也可以),将大大提高性能。

    1、查看表状态

    SHOW TABLE STATUS LIKE 'corr_alert';

       Engine:引擎类型(旧版为type);

        Row_format:行的格式。可选值Dynamic、Fixed或Compressed;

        Dynamic行长度可变,一般包含可变长度字段,varchar或Bolb

        Fixed:长度固定

        Compressed:只在压缩表中存在

        collation:默认字符集和字符列排序规则;

        checkSum:如果启用,保存的整个表的实时校验和;

        Comment:注释或表空间剩余信息;视图则为VIEW文本字样;

     

    2、修改表引擎

    目前有三种方式进行切换:

    1)ALTER TABLE语句:

    ALTER TABLE corr_alert_copy ENGINE=INNODB;

    优点:高效,按行复制表记录到新表中

    缺点:可能消耗系统所有I/O,原表加锁

    2)手工导入与导出

           使用MYSQL自带工具mysqldump导出到文件,修改文件中的CREATE TABLE引擎语句,同时修改表名,且默认在create table前加上drop table语句

    3)创建与查询

    CREATE TABLE corr_alert_copy LIKE corr_alert;

    ALTER TABLE corr_alert_copy ENGINE=INNODB;

    INSERT INTO corr_alert_copy SELECT * FROM corr_alert;

    数据量不大,工作很好;数据量大,分批处理,每一段数据一个事务,避免大事务产生的undo操作;

    START TRANSACTION

    INSERT INTO corr_alert_copy select * from corr_alert WHERE id BETWEEN x AND y;

    COMMIT;

    优点:原表还在,可在执行过程中对原表加锁,确保数据一致,操作简单;

    案例1:需要把100张表的引擎,从InnoDB改为MYISAM。想到要手工执行,简直头大,还好有存储过程。可以利用存储过程来批量处理。

        -- 定义存储过程
        DELIMITER //
        CREATE PROCEDURE alter_table_enegine()
        BEGIN
        DECLARE `@i` INT(11);
        DECLARE `@sqlstr` VARCHAR(2560);
        SET `@i`=0;
        WHILE `@i` < 100 DO
        SET @sqlstr = CONCAT(
        "ALTER TABLE pt_course_",
        `@i`,
        " ENGINE=MYISAM"
        );
        PREPARE stmt FROM @sqlstr;
        EXECUTE stmt;
        SET `@i` = `@i` + 1;
        END WHILE;
        END;
        -- 执行存储过程
        CALL alter_table_enegine();
        -- 执行完,删掉临时用的存储过程
        DROP PROCEDURE alter_table_enegine;

    案例2:

    查询数据库有什么引擎:

    select table_name,`engine` from information_schema.tables where table_schema = 'database_name';

    查询表引擎(查看MYISAM)
    SELECT CONCAT(table_name,'  ', engine)   FROM information_schema.tables WHERE table_schema="bpm" AND ENGINE="MyISAM";  


    生成修改sql(把MYISAM改成INNODB)
    select CONCAT('alter table ',table_name,' engine=InnoDB;') FROM information_schema.tables WHERE table_schema="bpm" AND ENGINE="MyISAM"; 

    注:Mysql 建表用 MyISAM不用InnoDB(大数据高读取)原因

    MyISAM类型不支持事务处理等高级处理,而InnoDB类型支持。MyISAM类型的表强调的是性能,其执行数度比InnoDB类型更快,但是不提供事务支持,而InnoDB提供事务支持已经外部键等高级数据库功能。两种类型最主要的差别就是Innodb  支持事务处理与外键和行级锁.而MyISAM不支持.所以MyISAM往往就容易被人认为只适合在小项目中使用。

      我作为使用MySQL的用户角度出发,Innodb和MyISAM都是比较喜欢的,但是从我目前运维的数据库平台要达到需求:99.9%的稳定性,方便的扩展性和高可用性来说的话,MyISAM绝对是我的首选。

      原因如下:

      1、首先我目前平台上承载的大部分项目是读多写少的项目,而MyISAM的读性能是比Innodb强不少的。

      2、MyISAM的索引和数据是分开的,并且索引是有压缩的,内存使用率就对应提高了不少。能加载更多索引,而Innodb是索引和数据是紧密捆绑的,没有使用压缩从而会造成Innodb比MyISAM体积庞大不小。

      3、从平台角度来说,经常隔1,2个月就会发生应用开发人员不小心update一个表where写的范围不对,导致这个表没法正常用了,这个时 候MyISAM的优越性就体现出来了,随便从当天拷贝的压缩包取出对应表的文件,随便放到一个数据库目录下,然后dump成sql再导回到主库,并把对应 的binlog补上。如果是Innodb,恐怕不可能有这么快速度,别和我说让Innodb定期用导出xxx.sql机制备份,因为我平台上最小的一个数 据库实例的数据量基本都是几十G大小。

      4、从我接触的应用逻辑来说,select count(*) 和order by   是最频繁的,大概能占了整个sql总语句的60%以上的操作,而这种操作Innodb其实也是会锁表的,很多人以为Innodb是行级锁,那个只是 where对它主键是有效,非主键的都会锁全表的。

      5、还有就是经常有很多应用部门需要我给他们定期某些表的数据,MyISAM的话很方便,只要发给他们对应那表的frm.MYD,MYI的文 件,让他们自己在对应版本的数据库启动就行,而Innodb就需要导出xxx.sql了,因为光给别人文件,受字典数据文件的影响,对方是无法使用的。

      6、如果和MyISAM比insert写操作的话,Innodb还达不到MyISAM的写性能,如果是针对基于索引的update操作,虽然MyISAM可能会逊色Innodb,但是那么高并发的写,从库能否追的上也是一个问题,还不如通过多实例分库分表架构来解决。

      7、如果是用MyISAM的话,merge引擎可以大大加快应用部门的开发速度,他们只要对这个merge表做一些select  count(*)操作,非常适合大项目总量约几亿的rows某一类型(如日志,调查统计)的业务表。

      当然Innodb也不是绝对不用,用事务的项目如模拟炒股项目,我就是用Innodb的,活跃用户20多万时候,也是很轻松应付了,因此我个人也是很喜欢Innodb的,只是如果从数据库平台应用出发,我还是会首选MyISAM。

      另外,可能有人会说你MyISAM无法抗太多写操作,但是我可以通过架构来弥补,说个我现有用的数据库平台容量:主从数据总量在几百T以上,每 天十多亿   pv的动态页面,还有几个大项目是通过数据接口方式调用未算进pv总数,(其中包括一个大项目因为初期memcached没部署,导致单台数据库每天处理  9千万的查询)。而我的整体数据库服务器平均负载都在0.5-1左右。

    展开全文
  • 第一种方法:ALTER TABLE 将从一个引擎修改为另一个引擎最简单的办法是使用ALTER TABLE语句,转换的存储引擎会导致失去原引擎相关的所有特性。...MySQL会按行将数据从原复制到一张新中,在复制...

    第一种方法:ALTER TABLE

    将表从一个引擎修改为另一个引擎最简单的办法是使用ALTER TABLE语句,转换表的存储引擎会导致失去原引擎相关的所有特性。

    例:将mytable的引擎修改为InnoDB

    mysql> ALTER TABLE mytable ENGINE = InnoDB;
    

    上述方法适用任何的存储引擎,但执行时间较长。MySQL会按行将数据从原表复制到一张新表中,在复制过程中会消耗系统所有的I/O能力,同时会对原表加上读锁。如果在繁忙的表上执行此操作需要特别小心。

    第二种方法:导出和导入数据

    使用mysqldump工具将数据导出到文件,然后修改文件中CREATE TABLE语句的存储引擎选项和表名,同时注意mysqldump默认会自动加上CREATE TABLE语句前加上DROPTABLE语句,若忽略此点可能会导致数据丢失。

    第三种方法:创建与查询(CREATE 和 SELECT)

    此方法综合了上述两种方法的高效和安全,不需要导出整个表,而是先创建一个新的存储引擎的表,然后利用 INSERT … SELECT语法导入数据。

    mysql > CREATE TABLE innodb_table LIKE myisam_table;
    mysql > ALTER TABLE innodb_table ENGINE=InnoDB;
    mysql > INSERT INTO innodb_table SELECT * FROM myisam_table;
    

    如果数据量大,可考虑分批处理,针对每一段数据执行事务提交操作,以免大事务产生过多的undo。

    假设有主键字段id,可重复运行以下语句将数据导入新表:

    mysql > START TRANSACTION;
    mysql > INSERT INTO innodb_table SELECT * FROM myisam_table
    			-> WHERE id BETWEEN x AND y;
    mysql > COMMIT;
    

    以上操作完成后,新表是原表的一个全量复制,原表不受任何影响。如果有必要,可以在执行中对原表加锁,确保新表与原表的数据一致。

    persona Toolkit提供了一个pt-online-schema-change的工具,可以简单方便地执行上述的过程,避免手工操作可能导致的失误。

    展开全文
  • 用到了显示表格,修改数据,写回数据表的项目,几乎用了两天的事件查询电子书和网页资料,竟然无法找到将DataSet修改后的数据使用update写到数据表中的任何一个正确的代码,几乎快崩溃了,看来我真的不是学VB的脑袋...

    用到了显示表格,修改数据,写回数据表的项目,几乎用了两天的事件查询电子书和网页资料,竟然无法找到将DataSet修改后的数据使用update写到数据表中的任何一个正确的代码,几乎快崩溃了,看来我真的不是学VB的脑袋啊,几乎忍不住要转回delphi了,就在刚才抱着最后一次运行的绝望修改后,TNND竟然可以了,真想说粗话,谁说VB好学了,你过来,我保证不打死你!

    我确认我的代码基本正确,也参考了帮助文件,没想到的是问题的关键是数据表,竟然必须要设置主键,但错误提示尽然和主键没有一点屁关系!!!

    觉得不好看的自己修改一下吧,我真是奇怪,VB的代码确实怪怪的,真的真的真的不如delphi写着舒服!

    Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
            Dim constr As String = "Data Source=.;Initial Catalog=数据库;Integrated Security=True"
            Dim sqlstr As String = "select * from 数据表"
            Dim scon As New SqlConnection(constr)
            Dim sda As New SqlDataAdapter()
            sda.SelectCommand = New SqlCommand(sqlstr, scon)
            Dim builder As New SqlCommandBuilder(sda)
            scon.Open()
            Dim customers As New DataSet
            sda.Fill(customers, " 数据表")
            DataGridView1.DataSource = customers.Tables(" 数据表")
            customers.Tables(" 数据表").Rows(0)(8) = 7      '为了演示省事了,你可以先显示数据,再修改数据,再写回数据表
            customers.Tables(" 数据表").Rows(1)(8) = 7
            Button1.Text = sda.Update(customers, " 数据表").ToString
            customers.AcceptChanges()
        End Sub

    展开全文
  • MYSQL 修改语句(数据)

    万次阅读 多人点赞 2017-12-21 14:51:51
    修改数据(UPDATE)  如果你失忆了,希望你能想起曾经为了追求梦想的你。 我们玩QQ、微信、淘宝等等,都会有一个操作:修改信息 淘宝常用的嘛,新增了收货地址,也可以修改它,微信/QQ修改昵称、密码、签名...
  • C# 数据修改

    千次阅读 2019-04-27 10:37:29
    表数据修改涉及到数据库,所以先实例化数据库为自己所用 ,然后可写修改数据的方法,在修改方法之前,先说明一个问题,用户在操作的时候时常要提示用户目前的一个状态,需要一些提示文本,这里选择封装调用 ...
  • use ccb_ryfz ...IF NOT EXISTS (select * from `ccb_ryfz`.`user` where ...此时,delimiter作用就是对整个小段语句做一个简单的封装。 此命令多用在定义子程序,触发程序等mysql自己内嵌小程序中。
  • 是一个基于hadoop的数据仓库工具,可以将结构化数据映射成一张数据表,并提供类SQL的查询功能。 Hive的意义是什么 背景:hadoop是个好东西,但是学习难度大,成本高,坡度陡。 意义(目的):降低程序员使用...
  • vue中修改data中数据的方法

    万次阅读 2019-12-16 11:10:06
    有的时候,当我们手动对data中的数据修改时,vue却监听不到这些数据的变化,导致页面没有触发新一轮的更新。 注意:出现以上问题的原因在于,没有通过vue提供的方法对保存在data中的数据进行修改。强制性通过js对...
  • setData 函数用于将数据从逻辑层发送到视图层(异步),同时改变对应的 this.data 的值(同步)。 参数说明 字段 类型 必填 描述 版本 data Object 是 这次要改变的数据 callback Function 否 setData...
  • 在创建完分区表后,可以向分区表中直接插入数据,而不用去管它这些数据放在哪个物理上的数据表中。接上篇文章,我们在创建好的分区表中插入几条数据:    从以上代码中可以看出,我们一共在数据表中插入了13...
  • 目录 一、背景 二、分析流程 三、验数方法 3.1 数据量级比对 3.2 一致性比对 ...3.3差异数据发现 ...做数据,经常遇到数据验证,很烦很枯燥,即耗时又耗人,但又必须...相同结构数据验证:比如修改表逻辑 相似结...
  • 腾讯云官网中有一篇帮助文档“扩容Linux文件系统,https://www.qcloud.com/document/product/362/6738,讲解了GPT分区云硬盘扩容后修改分区指引和MBR分区云硬盘扩容后修改分区指引。其中MBR分区扩容下,若扩容后的...
  • DDL语句--修改表

    万次阅读 2016-03-31 16:42:12
    MySQL中通过ALTER TABLE语句来修改表修改表包括修改表名,修改字段数据类型,修改字段名,增加字段,删除字段,修改字段的排列位置,更改默认存储引擎和删除的外键约束等。 OK,这篇博客会详细的整理到上面的几...
  • mysql 批量修改整个数据库字符集

    千次阅读 2018-11-19 15:16:13
    单个表修改吧,太多了。目前没找到一个简单的方法,下面介绍批量修改数据库字符集的办法之一:   1、创建批量修改语句  修改单个的字符集的命令是:alter table 表名 convert to character set utf8mb4 ...
  • mysql修改、删除数据记录

    千次阅读 2016-08-05 11:36:46
    mysql数据库相信很多人都接触过,在进行mysql数据库的操作的时候,有人就希望删除或者修改mysql数据库中的一些数据记录。DELETE 和UPDATE 语句令我们能做到这一点。 用update修改记录 UPDATE tbl_name SET 要...
  • SQL 之 修改数据

    千次阅读 2016-10-06 19:57:09
    修改数据: (1)插入新的行 (2)删除中的行 (3)更新中指定的行与列已有的数据 一、修改策略 修改数据的机制十分直接,意味着非常危险。实际中有各种可以帮助防止灾难性错误的策略。 (1)删除行时,可以...
  • 微信小程序修改数组的数据

    千次阅读 2019-04-13 22:32:30
    小程序使用 setData() 修改数据以及修改数组对象的数据值 setData 用于将数据从逻辑层发送到视图层,同时改变对应的 this.data 的值。 Page.prototype.setData(); 在此页的.js文件中,直接使用 this.setData(); ...
  • 在创建完分区表后,可以向分区表中直接插入数据,而不用去管它这些数据放在哪个物理上的数据表中。接上篇文章,我们在创建好的分区表中插入几条数据:"50" rows="15" name="code" class="c-sharp">insert Sale (...
  • Oracle误删数据、误修改数据恢复

    千次阅读 2015-11-14 21:30:02
    select * from com_parameter(表名) as of timestamp TO_TIMESTAMP('2015-08-03 9:00:00','YYYY-MM-DD HH24:MI:SS')这条sql语句是用于查找某个在某个特点的时间点的表数据,假如在9:05分的时候不小心误删了...
  • vue修改数组数据

    千次阅读 2018-04-16 13:52:05
    修改数组数据改变,Dom不刷新,使用$set(数组名,key,value)解决示例:this.$set(this.figure, i, 1);
  • 修改一批数据、无法断定存在于哪个中、 大体情况如下: odata列为旧数据、需要修改数据 ndata列为新数据、更新后的数据 需要将全库所有内容为odata列的数据更新为ndata列 无法断定具体哪张表存在相同数据...
  • 【Excel】数据透视数据透视布局 【Excel】数据透视—标签合并居中 【Excel】数据透视—新增一列(字段) ...主要就是修改生成的数据透视的【值显示方式】,就不需要我们自己用公式去计算...
  • 第6章 创建、修改和删除 是数据库存储数据的基本单位。 一个包含若干字段或记录。 的操作包括创建新修改表和删除。 本章将讲解如何在数据库中操作,包括: 创建的方法; 的完整性约束条件...
  • vue修改 表格数据

    千次阅读 2019-06-12 15:09:25
    在使用 element-UI 中el-table时,更新TABLEDATA 中 ROW的某一个属性时,没有更新视图的问题。 原因:受 ES5 的限制,Vue.js 不能检测到对象属性的添加或删除。...例:由于table表格只能监听整个row的变化,不...
  • ABAP数据字典和数据表的读取

    万次阅读 2016-05-31 16:44:29
    本章主要介绍:实例建表,数据表维护程序,添加数据,建立域、数据元素和搜索帮助,逻辑数据库,数据表的读取。 相关概念  通过本章的学习能清晰地了解ABAP数据字典与实际数据库之间的关系。数据字典对象由数据字段...
  • 微信小程序有自己的语法,修改数据我们必须要使用setData(),参数是一个key,value形式的对象。一下是我做的一个关于修改几种数据的小小记录: 1.修改单个值: page({ data:{ resultOpacity:true, }, change(e){ ...
  • 用Ajax实现修改页面的数据

    千次阅读 2018-03-22 17:08:41
    用Ajax实现修改页面数据信息的实现方式: 1、要有一个表示修改或者提交的按钮 2、用Ajax 来实现这个按钮的功能,即写相应的JavaScript和Jquery代码。。 3、Java代码的信息:(这是重点) (1)获取修改后的文本...
  • 数据库快速更新全表数据

    千次阅读 2017-10-28 16:50:36
    备注:以下更新的算法适合所有数据库,示例采用PostgreSQL,...开始谈正事,在update全表数据时,常规写法下大家经常抱怨更新太慢,语句如下:update set 字段1=0,字段n=n实际上这里由于在update前,数据库需要读取整个表,然
  • PB-数据窗口缓冲区与数据修改状态

    千次阅读 2016-03-01 15:55:36
    PB-数据窗口缓冲区与数据修改状态   1--缓冲区的介绍   在应用程序运行时,用户对数据窗口进行的操作情况是很复杂的,删除、插入、修改等操作有...在每一个DataWindow对象中有4个二维作为数据缓冲区,用来存储

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 1,175,772
精华内容 470,308
关键字:

修改整个表的数据