SQL
关系型数据库中,表是一个由行和列组成的二维数据结构,可以使用 INSERT 语句向表中添加行,如下所示:
INSERT INTO UserHistory (
user_id, time_stamp, item_id, behavior_type,
behavior_amount, behavior_count, content)
VALUES(
'10100', 1479265526, 'cell_phone', 'share', 4.9, 78,
'The phone is quite good!'
);
表格存储
使用表格存储时,可以使用 PutRow 接口插入一行数据,如下所示:
// 设置主键
PrimaryKeyBuilder primaryKeyBuilder = PrimaryKeyBuilder.createPrimaryKeyBuilder();
primaryKeyBuilder.addPrimaryKeyColumn("user_id", PrimaryKeyValue.fromString("10100"));
primaryKeyBuilder.addPrimaryKeyColumn("time_stamp", PrimaryKeyValue.fromLong(1479265526));
PrimaryKey primaryKey = primaryKeyBuilder.build();
// 设置属性列的值
RowPutChange rowPutChange = new RowPutChange(TABLE_NAME, primaryKey);
rowPutChange.addColumn(new Column("item_id", ColumnValue.fromString("cell_phone")));
rowPutChange.addColumn(new Column("behavior_type", ColumnValue.fromString("share")));
rowPutChange.addColumn(new Column("behavior_amount", ColumnValue.fromDouble(4.9)));
rowPutChange.addColumn(new Column("behavior_count", ColumnValue.fromLong(78)));
rowPutChange.addColumn(new Column("content", ColumnValue.fromString("The phone is quite good!")));
// 插入该行数据
client.putRow(new PutRowRequest(rowPutChange));
[backcolor=transparent]注意:
- 除了表名 TABLE_NAME 和主键 primaryKey,属性列和类型可以在写入时定义。
- 多行数据的同名属性列也可以使用不同的类型。
- 大多数 SQL 数据库是面向事务的,当发出 INSERT 语句时,只有 COMMIT 之后对数据的修改才是永久性的。使用表格存储,当表格存储通过 HTTP 200 状态码(OK)进行回复时,PutRow 写入的数据已经被持久化到所有备份。
- 插入多条记录时,可以使用 BatchWriteRow 接口,从而大大提高数据的写入速度。
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。