全部产品
存储与CDN 数据库 安全 应用服务 数加·人工智能 数加·大数据基础服务 互联网中间件 视频服务 开发者工具 解决方案 物联网
表格存储

写入数据

更新时间:2017-09-01 09:48:13

SQL

关系型数据库中,表是一个由行和列组成的二维数据结构,可以使用 INSERT 语句向表中添加行,如下所示:

  1. INSERT INTO UserHistory (
  2. user_id, time_stamp, item_id, behavior_type,
  3. behavior_amount, behavior_count, content)
  4. VALUES(
  5. '10100', 1479265526, 'cell_phone', 'share', 4.9, 78,
  6. 'The phone is quite good!'
  7. );

表格存储

使用表格存储时,可以使用 PutRow 接口插入一行数据,如下所示:

  1. // 设置主键
  2. PrimaryKeyBuilder primaryKeyBuilder = PrimaryKeyBuilder.createPrimaryKeyBuilder();
  3. primaryKeyBuilder.addPrimaryKeyColumn("user_id", PrimaryKeyValue.fromString("10100"));
  4. primaryKeyBuilder.addPrimaryKeyColumn("time_stamp", PrimaryKeyValue.fromLong(1479265526));
  5. PrimaryKey primaryKey = primaryKeyBuilder.build();
  6. // 设置属性列的值
  7. RowPutChange rowPutChange = new RowPutChange(TABLE_NAME, primaryKey);
  8. rowPutChange.addColumn(new Column("item_id", ColumnValue.fromString("cell_phone")));
  9. rowPutChange.addColumn(new Column("behavior_type", ColumnValue.fromString("share")));
  10. rowPutChange.addColumn(new Column("behavior_amount", ColumnValue.fromDouble(4.9)));
  11. rowPutChange.addColumn(new Column("behavior_count", ColumnValue.fromLong(78)));
  12. rowPutChange.addColumn(new Column("content", ColumnValue.fromString("The phone is quite good!")));
  13. // 插入该行数据
  14. client.putRow(new PutRowRequest(rowPutChange));

注意:

  • 除了表名 TABLE_NAME 和主键 primaryKey,属性列和类型可以在写入时定义。
  • 多行数据的同名属性列也可以使用不同的类型。
  • 大多数 SQL 数据库是面向事务的,当发出 INSERT 语句时,只有 COMMIT 之后对数据的修改才是永久性的。使用表格存储,当表格存储通过 HTTP 200 状态码(OK)进行回复时,PutRow 写入的数据已经被持久化到所有备份。
  • 插入多条记录时,可以使用 BatchWriteRow 接口,从而大大提高数据的写入速度。
本文导读目录