千家信息网

怎么从MYSQL数据库表中SELECT选取数据

发表于:2025-12-01 作者:千家信息网编辑
千家信息网最后更新 2025年12月01日,这篇文章主要介绍"怎么从MYSQL数据库表中SELECT选取数据",在日常操作中,相信很多人在怎么从MYSQL数据库表中SELECT选取数据问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法
千家信息网最后更新 2025年12月01日怎么从MYSQL数据库表中SELECT选取数据

这篇文章主要介绍"怎么从MYSQL数据库表中SELECT选取数据",在日常操作中,相信很多人在怎么从MYSQL数据库表中SELECT选取数据问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答"怎么从MYSQL数据库表中SELECT选取数据"的疑惑有所帮助!接下来,请跟着小编一起来学习吧!

使用Tbale SQL与Flink JDBC连接器从MYSQL数据库表中SELECT选取数据

示例环境

java.version: 1.8.xflink.version: 1.11.1kafka:2.11

SelectToMysql.java

package com.flink.examples.mysql;import org.apache.flink.api.common.functions.FlatMapFunction;import org.apache.flink.streaming.api.datastream.DataStream;import org.apache.flink.streaming.api.environment.StreamExecutionEnvironment;import org.apache.flink.table.api.EnvironmentSettings;import org.apache.flink.table.api.Table;import org.apache.flink.table.api.bridge.java.StreamTableEnvironment;import org.apache.flink.types.Row;import org.apache.flink.util.Collector;import static org.apache.flink.table.api.Expressions.$;/** * @Description 使用Tbale&SQL与Flink JDBC连接器从MYSQL数据库表中SELECT选取数据。 */public class SelectToMysql {    /**     官方参考:https://ci.apache.org/projects/flink/flink-docs-release-1.11/dev/table/connectors/jdbc.html     分区扫描     为了加速并行Source任务实例中的数据读取,Flink为JDBC表提供了分区扫描功能。         scan.partition.column:用于对输入进行分区的列名。         scan.partition.num:分区数。         scan.partition.lower-bound:第一个分区的最小值。         scan.partition.upper-bound:最后一个分区的最大值。     */    //flink-jdbc-1.11.1写法,所有属性名在JdbcTableSourceSinkFactory工厂类中定义    static String table_sql =            "CREATE TABLE my_users (\n" +            "  id BIGINT,\n" +            "  name STRING,\n" +            "  age INT,\n" +            "  status INT,\n" +            "  PRIMARY KEY (id) NOT ENFORCED\n" +            ") WITH (\n" +            "  'connector.type' = 'jdbc',\n" +            "  'connector.url' = 'jdbc:mysql://192.168.110.35:3306/flink?useUnicode=true&characterEncoding=utf-8', \n" +            "  'connector.driver' = 'com.mysql.jdbc.Driver', \n" +            "  'connector.table' = 'users', \n" +            "  'connector.username' = 'root',\n" +            "  'connector.password' = 'password', \n" +            "  'connector.read.fetch-size' = '3' \n" +            ")";    public static void main(String[] args) throws Exception {        //构建StreamExecutionEnvironment        StreamExecutionEnvironment env = StreamExecutionEnvironment.getExecutionEnvironment();        //构建EnvironmentSettings 并指定Blink Planner        EnvironmentSettings bsSettings = EnvironmentSettings.newInstance().useBlinkPlanner().inStreamingMode().build();        //构建StreamTableEnvironment        StreamTableEnvironment tEnv = StreamTableEnvironment.create(env, bsSettings);        //注册mysql数据维表        tEnv.executeSql(table_sql);        String sql = "select id,name,age,status from my_users";        //第一种:执行SQL        //Table table = tEnv.sqlQuery(sql);        //第二种:通过方法拼装执行语句        Table table = tEnv.from("my_users").select($("id"), $("name"), $("age"), $("status")).where($("status").isEqual(0));        //打印字段结构        table.printSchema();        //table 转成 dataStream 流        DataStream behaviorStream = tEnv.toAppendStream(table, Row.class);        behaviorStream.flatMap(new FlatMapFunction() {            @Override            public void flatMap(Row value, Collector out) throws Exception {                System.out.println(value.toString());                Thread.sleep(1 * 1000);            }        }).print();        env.execute();    }}

打印结果

root |-- id: BIGINT NOT NULL |-- name: STRING |-- age: INT |-- status: INT1,nike,16,02,nike,18,0

到此,关于"怎么从MYSQL数据库表中SELECT选取数据"的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注网站,小编会继续努力为大家带来更多实用的文章!

数据 数据库 学习 方法 更多 连接器 帮助 实用 最大 最小 接下来 任务 写法 功能 字段 官方 实例 属性 工厂 文章 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 java 用哪个数据库 数据库 倒序索引 南京nac网络安全准入控制系统 济南正规软件开发培训学校 大兴区品牌软件开发要求 网络安全大讲堂图 镇江网络安全协同 数据库怎么打开命令按钮向导 数据库如何解决乱码问题吗 网站突然显示连接不到数据库 成都电信首选dns服务器怎么填 河南手机软件开发 360网络安全急救 初中文化学可以学网络技术吗 数据库表里的列都是属性吗 惠州视觉点胶软件开发 小程序服务器加载慢处理方法 房地产信息管理系统数据库设计 dell服务器质保期 财政局网络安全保障工作方案 代码软件开发的基础 可视化报警管理服务器是什么 健康云海南互联网科技有限公司 十二月份网络安全比赛 360网络安全急救 长沙市棋牌软件开发公司 配置服务器端数据库在哪里 一种网络安全通信隔离装置 华为软件开发模板 网络安全专家低一点的职称
0