15_clickhouse,MySQL引擎;MySQL和ClickHouse中数据类型的对应关系
20.MySQL引擎
20.1.MySQL引擎
20.2.MySQL和ClickHouse中數(shù)據(jù)類型的對應關系
20.3.示例
20.MySQL引擎
20.1.MySQL引擎
MySQL引擎可實現(xiàn)對MySQL數(shù)據(jù)庫的表執(zhí)行插入和查詢操作。
ClickHouse表結構可以不同于原始的MySQL表結構。
列名應當與原始MySQL表中的列名相同,但可以按任意順序使用其中的一些列。
列的數(shù)據(jù)類型可能與原始的MySQL表中的列類型不同,ClickHouse嘗試進行數(shù)據(jù)類型轉換。
執(zhí)行表引擎:
ENGINE = MySQL('host:port', 'database', 'table', 'user', 'password'[, replace_query, 'on_duplicate_clause']);引擎參數(shù):
1.host:port :MySQL server的地址。
2.database :MySQL數(shù)據(jù)庫名稱。
3.table : MySQL表名。
4.user : MySQL用戶名。
5.password : MySQL用戶密碼。
6.replace_query :將INSERT INTO查詢轉換為REPLACE INTO查詢的標識。如果replace_query=1, 查詢將被替換。
7.on_duplicate_clause : 將ON DUPLICATE KEY 'on_duplicate_clause’表達式添加到INSERT查詢中。
例如: INSERT INTO t (c1,c2) VALUES (‘a(chǎn)’, 2) ON DUPLICATE KEY UPDATE c2 = c2 + 1, on_duplicate_clause表達式為: UPDATE c2 = c2 + 1。
如果使用on_duplicate_clause,需設置參數(shù)replace_query=0。如果同時傳遞replace_query=1和 on_duplicate_clause,ClickHouse將拋出異常。
20.2.MySQL和ClickHouse中數(shù)據(jù)類型的對應關系
| UNSIGNED TINYINT | UInt8 |
| TINYINT | Int8 |
| UNSIGNED SMALLINT | UInt16 |
| SMALLINT | Int16 |
| UNSIGNED INT, UNSIGNED MEDIUMINT | UInt32 |
| INT, MEDIUMINT | Int32 |
| UNSIGNED BIGINT | UInt64 |
| BIGINT | Int64 |
| FLOAT | Float32 |
| DOUBLE | Float64 |
| DATE | Date |
| DATETIME, TIMESTAMP | DateTime |
| BINARY | FixedString |
20.3.示例
1.在MySQL創(chuàng)建表和插入數(shù)據(jù)
drop table test.test; create table test.test (id int NOT NULL AUTO_INCREMENT,cnt int,primary key (id) );insert into test.test (id,cnt) values (1,2);select * from test.test;
2.在ClickHouse中創(chuàng)建MySQL引擎的表
效果圖:
middleware :) CREATE TABLE mysql_table_dup :-] ( :-] id Int32, :-] cnt Int32 :-] ) :-] ENGINE = MySQL('xxx.xxx.xxx.xxx:3306', 'test', 'test', 'root', 'xxxxxxx', 0, 'UPDATE cnt=cnt+1');CREATE TABLE mysql_table_dup (`id` Int32,`cnt` Int32 ) ENGINE = MySQL('xxx.xxx.xxx.xxx:3306', 'test', 'test', 'root', 'xxxxxxx', 0, 'UPDATE cnt=cnt+1')Ok.0 rows in set. Elapsed: 0.003 sec. middleware :) show tables;SHOW TABLES┌─name────────────┐ │ consumer │ │ daily │ │ mysql_table_dup │ │ queue │ └─────────────────┘4 rows in set. Elapsed: 0.006 sec. middleware :) select * from mysql_table_dup limit 10;SELECT * FROM mysql_table_dup LIMIT 10┌─id─┬─cnt─┐ │ 1 │ 2 │ └────┴─────┘1 rows in set. Elapsed: 0.192 sec. middleware :)插入主鍵沖突的數(shù)據(jù):
insert into mysql_table_dup_values(2,1); select * from mysql_table_dup;效果圖:
middleware :) insert into mysql_table_dup values(2, 1);INSERT INTO mysql_table_dup VALUESOk.1 rows in set. Elapsed: 0.039 sec. middleware :) select * from mysql_table_dup limit 10;SELECT * FROM mysql_table_dup LIMIT 10┌─id─┬─cnt─┐ │ 1 │ 2 │ │ 2 │ 1 │ └────┴─────┘2 rows in set. Elapsed: 0.010 sec. middleware :)再到MySQL庫中查看:
總結
以上是生活随笔為你收集整理的15_clickhouse,MySQL引擎;MySQL和ClickHouse中数据类型的对应关系的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 现值指数计算公式推导(现值指数计算公式)
- 下一篇: linux cmake编译源码,linu