首页 > 数据库 >表格存储SQL查询及索引

表格存储SQL查询及索引

时间:2024-10-12 10:23:26浏览次数:7  
标签:表格 查询 索引 otsClient SQL new col row

十年河东,十年河西,莫欺少年穷

学无止境,精益求精

表格存储.NET SDK从5.0.0版本开始支持SQL查询功能。使用SQL查询功能时,请确保获取了最新的.NET SDK版本。关于.NET SDK历史迭代版本的更多信息,请参见.NET SDK历史迭代版本

1、创建表的映射关系

/// <summary>
/// 创建数据表的映射关系。
/// </summary>
/// <param name="otsClient"></param>
public static void CreateMappingTable(OTSClient otsClient)
{
    string sqlCommand = @"CREATE TABLE `test_table` (
        `pk0` VARCHAR(1024),
        `pk1` BIGINT(20),
        `col0` MEDIUMTEXT,
        `col1` BIGINT(20),
        `col2` DOUBLE,
        `col3` BOOL,
        `col4` MEDIUMBLOB,
        `date_col` MEDIUMTEXT,
        `geo_col` MEDIUMTEXT,
        `col0_v1` MEDIUMTEXT,
        `col0_v2` MEDIUMTEXT,
        PRIMARY KEY(`pk0`,`pk1`)
    );";

    SQLQueryRequest sqlQueryRequest = new SQLQueryRequest(sqlCommand);

    SQLQueryResponse sqlQueryResponse = otsClient.SQLQuery(sqlQueryRequest);
}

2、通过阿里云工具常见映射

点击加号

 

 

配置并生成sql

 执行sql后,就将表格存储和sql表映射成功了

 2、创建多元索引

/// <summary>
/// 创建一个多元索引,包含Keyword_type_col、Long_type_col、Text_type_col三个属性列,类型分别设置为不分词字符串(Keyword)、整型(Long)、分词字符串(Text)。
/// </summary>
/// <param name="otsClient"></param>
public static void CreateSearchIndex(OTSClient otsClient)
{
    //设置数据表名称和多元索引名称。
    CreateSearchIndexRequest request = new CreateSearchIndexRequest(TableName, IndexName);
    List<FieldSchema> FieldSchemas = new List<FieldSchema>() {
        new FieldSchema(Keyword_type_col,FieldType.KEYWORD){ //设置字段名和字段类型。
            index =true, //设置开启索引。
            EnableSortAndAgg =true //设置开启排序与统计聚合功能。
        },
        new FieldSchema(Long_type_col,FieldType.LONG){ index=true,EnableSortAndAgg=true},
        new FieldSchema(Text_type_col,FieldType.TEXT){ index=true}
    };
    request.IndexSchame = new IndexSchema()
    {
        FieldSchemas = FieldSchemas
    };
    //调用client创建多元索引。
    CreateSearchIndexResponse response = otsClient.CreateSearchIndex(request);
    Console.WriteLine("Searchindex is created: " + IndexName);
}

通过阿阿里云工具创建索引更方便,如下:

 3、查询数据

通过sql查询

/// <summary>
/// 查询数据。
/// </summary>
/// <param name="otsClient"></param>
public static void QueryData(OTSClient otsClient)
{
    SQLQueryRequest sqlQueryRequest = new SQLQueryRequest("select pk0,pk1,col0,col1,date_col,geo_col from test_table limit 20");

    SQLQueryResponse sqlQueryResponse = otsClient.SQLQuery(sqlQueryRequest);

    SQLTableMeta sqlTableMeta = sqlQueryResponse.GetSQLResultSet().GetSQLTableMeta();
    Console.WriteLine(JsonConvert.SerializeObject(sqlTableMeta.GetSchema()));

    ISQLResultSet resultSet = sqlQueryResponse.GetSQLResultSet();
    while (resultSet.HasNext())
    {
        ISQLRow row = resultSet.Next();
        Console.WriteLine(row.GetString("pk0") + " , " + row.GetLong("pk1") + " , " + row.GetString("col0") + " , " +
                          row.GetLong("col1") + " , " + row.GetString("date_col") + " , " + row.GetString("geo_col"));
    }
}

阿里云工具查询

 4、阿里云借助sql功能查询是按照次数收费的,也可以采用传统模式查询,但比较繁琐,如下sdk

请参考:

https://help.aliyun.com/zh/tablestore/developer-reference/basic-query-for-search-index-of-dotnet-sdk/?spm=a2c4g.11186623.0.0.3919260e5bgYoR

总之,可以自行查看阿里云sdk

 

标签:表格,查询,索引,otsClient,SQL,new,col,row
From: https://www.cnblogs.com/chenwolong/p/18459981

相关文章

  • 网站连接sql数据库
    要让网站连接到SQL数据库,通常需要遵循以下步骤来配置和建立连接。这里我将分点简要说明,并以PHP和MySQL为例给出示例代码:安装数据库驱动确保你的Web服务器上已经安装了相应的数据库驱动。例如,对于MySQL,你需要安装mysqli或PDO_mysql。配置数据库连接信息准备好数据库的连......
  • MySQL数据备份
    MySQL数据备份是数据库管理员非常重要的工作之一。系统意外崩溃或者硬件的损坏都可能导致数据的丢失,因此MySQL管理员应该定期地备份数据,使得在意外情况发生时最大限度地减少损失。本节将介绍数据备份的3种方法。11.1.1 使用mysqldump命令备份数据mysqldump是MySQL提供的一个非......
  • mysql数据库服务器错误怎么回事
    MySQL数据库服务器错误可能由多种原因导致,这里列举一些常见的问题及其解决方法:服务未启动检查MySQL服务是否已经启动。在命令行中使用 netstartmysql (Windows)或 sudoservicemysqlstart (Linux)来尝试启动MySQL服务。配置文件错误确认my.cnf(Linux)或my.ini(Window......
  • 在Java程序中监听mysql的binlog
    目录1、背景2、mysql-binlog-connector-java简介3、准备工作1、验证数据库是否开启binlog2、开启数据库的binlog3、创建具有REPLICATIONSLAVE权限的用户4、事件类型eventType解释1、TABLE_MAP的注意事项2、获取操作的列名5、监听binlog的position1、从最新的binlog位置开始监......
  • SQL优化方案
    微信公众号:阿俊的学习记录空间小红书:ArnoZhangwordpress:arnozhang1994博客园:arnozhangCSDN:ArnoZhang19941.基础优化策略理解数据库设计对性能的影响:数据库的设计直接影响查询性能,特别是索引和约束的设置。大型表中的查询通常会随着表的增长而变慢,因此需要合理的表......
  • MySQL 时间类型 DATE、DATETIME和TIMESTAMP
    1.DATE、DATETIME和TIMESTAMP表达的时间范围TypeRangeRemarkDATE'1000-01-01' to '9999-12-31'只有日期部分,没有时间部分DATETIME'1000-01-0100:00:00' to '9999-12-3123:59:59'时间格式为 YYYY-MM-DDhh:mm:ss,默认精确到秒TIMESTAMP '1970-01-0100:00:01......
  • 毕设项目案例实战II基于Java+Spring Boot+MySQL的学生选课系统的设计与实现(源码+数据
    目录一、前言二、技术介绍三、系统实现四、论文参考五、核心代码六、源码获取全栈码农以及毕业设计实战开发,CSDN平台Java领域新星创作者,专注于大学生项目实战开发、讲解和毕业答疑辅导。获取源码联系方式请查看文末一、前言随着信息技术的飞速发展和教育信息化的不......
  • MySQL 表的增删改查、表约束
    本篇博客主要用来记录和分享本人学习MySQL数据库的基本操作指令的笔记和心得,包括数据表操作、数据管理、数据类型的讲解以及表的约束。通过实际的示例和注意事项,帮助大家更好地理解和应用这些知识。一、数据表操作指令1.1创建数据表使用CREATETABLE指令可以创建一个新的数......
  • MySQL基础知识
    基础篇通用语法及分类DDL:数据定义语言,用来定义数据库对象(数据库、表、字段)DML:数据操作语言,用来对数据库表中的数据进行增删改DQL:数据查询语言,用来查询数据库中表的记录DCL:数据控制语言,用来创建数据库用户、控制数据库的控制权限DDL(数据定义语言)数据定义语言数据......
  • Win11安装及卸载 PL/SQL Developer
    安装1.plsqldev12707x64.msi单击plsqldev12707x64.msi按Ctrl键+Shift键+Enter键以管理员身份运行plsqldev12707x64.msi进行安装,否则容易安装失败。基本都是默认,修改安装目录,没有复杂的地方。 2.PL/SQL登录 运行桌面PLSQLDeveloper14(64bit)。因为本地......