hbase语句汇总、sql sever语句汇总、mysql语句汇总

hbase

hbase客户端:dbvis-multi.exe
用db时不会写Hbase语句,有些语句怕自己忘记,记录在下面:

  • 查某个字段值取特定值时的记录
select * from "table" where "time"='201709'
  • 统计频数
select "aa",count("aa") from "table" group by "aa"
  • 查找时间在某个范围的记录
select * from "table" where "time" between '20170101' and '20171220'
select * from "table" where "time" >= '20171101' and "time" <= '20171220'
  • 插入一条语句
UPSERT INTO "table" ("pk", "nnnn") VALUES ('aaaa','hh');
  • 查找字数大于等于200的记录
select "content","time" from "table" where length("content")>=200
  • 字段里含有“哈哈哈”、name在某个范围内的十个记录
select * from "table" where "content" like '%哈哈哈%' and "name" in ('zzz','yyy') limit 10
  • 插入一条记录
INSERT INTO table (a,b) VALUES (null, 1);
  • 更新一条记录
update "table" set "type" = '7' where "type" = 'h'
  • 分组后降序排
select "aa"  from "table" order by "aa" desc
  • 表的复制
create table a_copy like a 
insert into a_copy select * from a
  • 删除记录
delete from a_copy where class = 'hhh'
  • 做实验时需要临时从其他表里导入数据造一张新表,可以这样:
#在xshell里进入hbase主节点的环境
 hbase shell
 #在shell里清空表: truncate “table1”
 truncate "table1"
 #在db里执行插入数据的语句(把table2里的前100行插入table1) 
 upsert into "table1" select * from "table2" limit 100

sql sever

  • 删除表
drop TABLE 哈哈哈

mysql

  • 查找当月的记录
select * from table where to_char(sysdate,'yyyy-mm')=to_char(hh,'yyyy-mm')
  • 查找某一年某一季度的记录
select * from table where to_char(hh,'yyyy')=2016 and to_char(hh,'mm') in (1,2,3)
  • 降序排
select * from table where yearNo=2017 order by updateTime desc

spark的dataframe写入mysql时,比如df有3列(q,w,e),但mysql表有四列(q,w,e,r),我们只要给mysql的表字段设置默认值就行了,如Null.–我自己的话。

  • 查询指定日期的数据
select * from table where TO_DAYS(datetime)=TO_DAYS('2021-01-14')
  • 查看sql执行情况
show processlist ;
show  full processlist ;
  • 取出表A里前20W数据插入新表B
INSERT INTO B
SELECT * FROM A limit 200000;
  • 如果表存在:
insert into tab1 select * from tab2
  • 如果表不存在
create table tab1 as select * from tab2
  • 用111替代字段B中的空值
    create table A
    select a,b,c,IFNULL(d,‘111’) as d from B;
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
HBase是一个基于Hadoop的分布式非关系型数据库,它与传统的关系型数据库不同,没有使用SQL语言。但是,HBase提供了类似于SQL的查询语言HBase Shell,可以使用类似于SQL的语法(例如,SELECT、WHERE、AND、OR等)来查询HBase中的数据。 除了HBase Shell,还可以使用Java API或者REST API来操作HBase数据库。以下是使用Java API进行HBase数据库操作的示例代码: ```java import java.io.IOException; import java.util.ArrayList; import java.util.List; import org.apache.hadoop.hbase.HBaseConfiguration; import org.apache.hadoop.hbase.TableName; import org.apache.hadoop.hbase.client.Connection; import org.apache.hadoop.hbase.client.ConnectionFactory; import org.apache.hadoop.hbase.client.Delete; import org.apache.hadoop.hbase.client.Get; import org.apache.hadoop.hbase.client.Put; import org.apache.hadoop.hbase.client.Result; import org.apache.hadoop.hbase.client.ResultScanner; import org.apache.hadoop.hbase.client.Scan; import org.apache.hadoop.hbase.client.Table; import org.apache.hadoop.hbase.util.Bytes; public class HBaseDemo { private static final String TABLE_NAME = "mytable"; private static final String COLUMN_FAMILY = "cf"; public static void main(String[] args) throws IOException { // 创建HBase配置对象 org.apache.hadoop.conf.Configuration config = HBaseConfiguration.create(); // 创建HBase连接对象 Connection connection = ConnectionFactory.createConnection(config); // 获取HBase表对象 Table table = connection.getTable(TableName.valueOf(TABLE_NAME)); // 插入数据 Put put = new Put(Bytes.toBytes("row1")); put.addColumn(Bytes.toBytes(COLUMN_FAMILY), Bytes.toBytes("col1"), Bytes.toBytes("value1")); table.put(put); // 查询数据 Get get = new Get(Bytes.toBytes("row1")); Result result = table.get(get); byte[] value = result.getValue(Bytes.toBytes(COLUMN_FAMILY), Bytes.toBytes("col1")); System.out.println("Value of col1: " + Bytes.toString(value)); // 扫描数据 Scan scan = new Scan(); ResultScanner scanner = table.getScanner(scan); List<String> rows = new ArrayList<>(); for (Result scanResult : scanner) { byte[] row = scanResult.getRow(); rows.add(Bytes.toString(row)); } System.out.println("Rows in table: " + rows); // 删除数据 Delete delete = new Delete(Bytes.toBytes("row1")); table.delete(delete); // 关闭连接 table.close(); connection.close(); } } ``` 上述代码演示了如何使用Java API进行HBase数据库的数据插入、查询、扫描和删除操作。需要注意的是,这里使用的是HBase 1.x版本的Java API,如果使用其他版本的HBase,需要相应地更改API的包名和方法名。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值