云数据库 GAUSSDB NOSQL-使用COPY命令导出导入数据:如何使用COPY命令导出、导入数据

时间:2023-11-10 12:13:52

如何使用COPY命令导出、导入数据

下面将以具体的示例介绍从预置数据到导出数据、导入数据的完整过程。

  1. 预置数据

    1. 创建keyspace。
      CREATE KEYSPACE cycling WITH replication = {'class': 'SimpleStrategy', 'replication_factor': 3};
    2. 创建table。
      CREATE TABLE cycling.cyclist_name (
         id UUID PRIMARY KEY,
         lastname text,
         firstname text
      );
    3. 插入数据。
      INSERT INTO cycling.cyclist_name (id, lastname, firstname) VALUES (5b6962dd-3f90-4c93-8f61-eabfa4a803e2, 'VOS','Marianne');
      INSERT INTO cycling.cyclist_name (id, lastname, firstname) VALUES (e7cd5752-bc0d-4157-a80f-7523add8dbcd, 'VAN DER BREGGEN','Anna');
      INSERT INTO cycling.cyclist_name (id, lastname, firstname) VALUES (e7ae5cf3-d358-4d99-b900-85902fda9bb0, 'FRAME','Alex');
      INSERT INTO cycling.cyclist_name (id, lastname, firstname) VALUES (220844bf-4860-49d6-9a4b-6b5d3a79cbfb, 'TIRALONGO','Paolo');
      INSERT INTO cycling.cyclist_name (id, lastname, firstname) VALUES (6ab09bec-e68e-48d9-a5f8-97e6fb4c9b47, 'KRUIKSWIJK','Steven');
      INSERT INTO cycling.cyclist_name (id, lastname, firstname) VALUES (fb372533-eb95-4bb4-8685-6ef61e994caa, 'MATTHEWS', 'Michael');

  2. “cyclist_name”表中导出、导入数据。

    1. “cyclist_name”表中的“id”“lastname”列导出到CSV文件。
      COPY cycling.cyclist_name (id,lastname)  TO '../cyclist_lastname.csv' WITH HEADER = TRUE;
      图1 导出成功

      上述命令执行成功后,会在当前目录的上一层目录中创建“cyclist_lastname.csv”文件。如果该文件已经存在,则会将其覆盖。

    2. “cyclist_name”表中的“id”“first name”列导出到另一个CSV文件。
      COPY cycling.cyclist_name (id,firstname)  TO '../cyclist_firstname.csv' WITH HEADER = TRUE;
      图2 导出成功

      上述命令执行成功后,会在当前目录的上一层目录中创建“cyclist_firstname.csv”文件。如果该文件已经存在,则会将其覆盖。

    3. “cyclist_name”表中的数据删除。为了您的数据安全,暂不支持TRUNCATE命令。
      DELETE FROM cycling.cyclist_name WHERE id = 'fb372533-eb95-4bb4-8685-6ef61e994caa';
    4. 查看此时表中无数据。
      SELECT * FROM cycling.cyclist_name ;
      图3 查询数据
    5. 导入“cyclist_firstname.csv”文件。
      COPY cycling.cyclist_name (id,firstname) FROM '../cyclist_firstname.csv' WITH HEADER = TRUE;
      图4 导入成功
    6. 校验新导入的数据。
      SELECT * FROM cycling.cyclist_name;
      图5 导入成功
    7. 导入“cyclist_lastname.csv”文件。
      COPY cycling.cyclist_name (id,lastname) FROM '../cyclist_lastname.csv' WITH HEADER = TRUE;
      图6 导入数据
    8. 校验数据是否更新。
      SELECT * FROM cycling.cyclist_name;

      查询结果显示,

      图7 导入成功

support.huaweicloud.com/productdesc-nosql/nosql_03_0015.html