前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >ClickHouse SQL 语法基础极简教程 + bitmap 位图数据类型的使用实例

ClickHouse SQL 语法基础极简教程 + bitmap 位图数据类型的使用实例

作者头像
一个会写诗的程序员
发布2022-03-07 14:28:24
2.6K0
发布2022-03-07 14:28:24
举报
文章被收录于专栏:一个会写诗的程序员的博客

ClickHouse SQL 语法基础极简教程 + bitmap 位图数据类型的使用实例

查看所有数据库

代码语言:javascript
复制
SELECT *
FROM system.databases;

创建数据库

代码语言:javascript
复制
create database circle_db engine=Ordinary comment 'circle_db';

建表:分区键 partition by、主键索引 order by

代码语言:javascript
复制
create table circle_db.bitmap_circle
(
    row_key            String   default -1,
    field_value_string String   default -1,
    field_value_long   Int64    default -1,
    field_value_double Float64  default -1,
    object_id_map      AggregateFunction(groupBitmap, UInt64),
    p_date             DateTime default now(),
    table_code         String   default -1,
    field_code         String   default -1
)
    engine = AggregatingMergeTree()
        partition by (p_date, table_code, field_code)
        order by (row_key, field_value_string, field_value_long, field_value_double)
        SETTINGS index_granularity = 128;
-- 由于标签的行数不会太多,将索引粒度调整适量大小(默认8192)

创建 base_user 表结构

代码语言:javascript
复制
create table if not exists circle_db.base_user
(
    id          UInt64,
    name        String,
    country     String,
    city        String,
    tag         UInt32,
    create_time DateTime
) engine = MergeTree
      partition by toYYYYMM(create_time)
      order by id
;

插入用户样例数据

代码语言:javascript
复制
insert into circle_db.base_user
values (1, 'Name1', '中国', '重庆', 10001, now()),
       (2, 'Name2', '中国', '重庆', 10002, now()),
       (3, 'Name3', '中国', '重庆', 10003, now()),
       (4, 'Name4', '中国', '重庆', 10004, now()),
       (5, 'Name5', '中国', '重庆', 10005, now()),
       (6, 'Name6', '中国', '重庆', 10006, now()),
       (7, 'Name7', '中国', '重庆', 10007, now()),
       (8, 'Name8', '中国', '重庆', 10008, now()),
       (9, 'Name9', '中国', '重庆', 10009, now()),
       (10, 'Name10', '中国', '重庆', 10010, now()),
       (11, 'Name11', '中国', '重庆', 10011, now()),
       (12, 'Name12', '中国', '重庆', 10012, now()),
       (13, 'Name13', '中国', '重庆', 10013, now()),
       (14, 'Name14', '中国', '重庆', 10014, now()),
       (15, 'Name15', '中国', '重庆', 10015, now()),
       (16, 'Name16', '中国', '重庆', 10016, now()),
       (17, 'Name17', '中国', '重庆', 10017, now()),
       (18, 'Name18', '中国', '重庆', 10018, now()),
       (19, 'Name19', '中国', '重庆', 10019, now()),
       (20, 'Name20', '中国', '重庆', 10020, now()),
       (21, 'Name21', '中国', '重庆', 10021, now()),
       (22, 'Name22', '中国', '重庆', 10022, now()),
       (23, 'Name23', '中国', '重庆', 10023, now()),
       (24, 'Name24', '中国', '重庆', 10024, now()),
       (25, 'Name25', '中国', '重庆', 10025, now()),
       (26, 'Name26', '中国', '重庆', 10026, now()),
       (27, 'Name27', '中国', '重庆', 10027, now()),
       (28, 'Name28', '中国', '重庆', 10028, now()),
       (29, 'Name29', '中国', '重庆', 10029, now()),
       (30, 'Name30', '中国', '重庆', 10030, now()),
       (31, 'Name31', '中国', '重庆', 10031, now()),
       (32, 'Name32', '中国', '重庆', 10032, now()),
       (33, 'Name33', '中国', '重庆', 10033, now()),
       (34, 'Name34', '中国', '重庆', 10034, now()),
       (35, 'Name35', '中国', '重庆', 10035, now()),
       (36, 'Name36', '中国', '重庆', 10036, now()),
       (37, 'Name37', '中国', '重庆', 10037, now()),
       (38, 'Name38', '中国', '重庆', 10038, now()),
       (39, 'Name39', '中国', '重庆', 10039, now()),
       (40, 'Name40', '中国', '重庆', 10040, now()),
       (41, 'Name41', '中国', '重庆', 10041, now()),
       (42, 'Name42', '中国', '重庆', 10042, now()),
       (43, 'Name43', '中国', '重庆', 10043, now()),
       (44, 'Name44', '中国', '重庆', 10044, now()),
       (45, 'Name45', '中国', '重庆', 10045, now()),
       (46, 'Name46', '中国', '重庆', 10046, now()),
       (47, 'Name47', '中国', '重庆', 10047, now()),
       (48, 'Name48', '中国', '重庆', 10048, now()),
       (49, 'Name49', '中国', '重庆', 10049, now()),
       (50, 'Name50', '中国', '重庆', 10050, now()),
       (51, 'Name51', '中国', '重庆', 10051, now()),
       (52, 'Name52', '中国', '重庆', 10052, now()),
       (53, 'Name53', '中国', '重庆', 10053, now()),
       (54, 'Name54', '中国', '重庆', 10054, now()),
       (55, 'Name55', '中国', '重庆', 10055, now()),
       (56, 'Name56', '中国', '重庆', 10056, now()),
       (57, 'Name57', '中国', '重庆', 10057, now()),
       (58, 'Name58', '中国', '重庆', 10058, now()),
       (59, 'Name59', '中国', '重庆', 10059, now()),
       (60, 'Name60', '中国', '重庆', 10060, now()),
       (61, 'Name61', '中国', '重庆', 10061, now()),
       (62, 'Name62', '中国', '重庆', 10062, now()),
       (63, 'Name63', '中国', '重庆', 10063, now()),
       (64, 'Name64', '中国', '重庆', 10064, now()),
       (65, 'Name65', '中国', '重庆', 10065, now()),
       (66, 'Name66', '中国', '重庆', 10066, now()),
       (67, 'Name67', '中国', '重庆', 10067, now()),
       (68, 'Name68', '中国', '重庆', 10068, now()),
       (69, 'Name69', '中国', '重庆', 10069, now()),
       (70, 'Name70', '中国', '重庆', 10070, now()),
       (71, 'Name71', '中国', '重庆', 10071, now()),
       (72, 'Name72', '中国', '重庆', 10072, now()),
       (73, 'Name73', '中国', '重庆', 10073, now()),
       (74, 'Name74', '中国', '重庆', 10074, now()),
       (75, 'Name75', '中国', '重庆', 10075, now()),
       (76, 'Name76', '中国', '重庆', 10076, now()),
       (77, 'Name77', '中国', '重庆', 10077, now()),
       (78, 'Name78', '中国', '重庆', 10078, now()),
       (79, 'Name79', '中国', '重庆', 10079, now()),
       (80, 'Name80', '中国', '重庆', 10080, now()),
       (81, 'Name81', '中国', '重庆', 10081, now()),
       (82, 'Name82', '中国', '重庆', 10082, now()),
       (83, 'Name83', '中国', '重庆', 10083, now()),
       (84, 'Name84', '中国', '重庆', 10084, now()),
       (85, 'Name85', '中国', '重庆', 10085, now()),
       (86, 'Name86', '中国', '重庆', 10086, now()),
       (87, 'Name87', '中国', '重庆', 10087, now()),
       (88, 'Name88', '中国', '重庆', 10088, now()),
       (89, 'Name89', '中国', '重庆', 10089, now()),
       (90, 'Name90', '中国', '重庆', 10090, now()),
       (91, 'Name91', '中国', '重庆', 10091, now()),
       (92, 'Name92', '中国', '重庆', 10092, now()),
       (93, 'Name93', '中国', '重庆', 10093, now()),
       (94, 'Name94', '中国', '重庆', 10094, now()),
       (95, 'Name95', '中国', '重庆', 10095, now()),
       (96, 'Name96', '中国', '重庆', 10096, now()),
       (97, 'Name97', '中国', '重庆', 10097, now()),
       (98, 'Name98', '中国', '重庆', 10098, now()),
       (99, 'Name99', '中国', '重庆', 10099, now()),
       (100, 'Name100', '中国', '重庆', 10100, now()),
       (101, 'Name101', '中国', '重庆', 10101, now()),
       (102, 'Name102', '中国', '重庆', 10102, now()),
       (103, 'Name103', '中国', '重庆', 10103, now()),
       (104, 'Name104', '中国', '重庆', 10104, now()),
       (105, 'Name105', '中国', '重庆', 10105, now()),
       (106, 'Name106', '中国', '重庆', 10106, now()),
       (107, 'Name107', '中国', '重庆', 10107, now()),
       (108, 'Name108', '中国', '重庆', 10108, now()),
       (109, 'Name109', '中国', '重庆', 10109, now()),
       (110, 'Name110', '中国', '重庆', 10110, now()),
       (111, 'Name111', '中国', '重庆', 10111, now()),
       (112, 'Name112', '中国', '重庆', 10112, now()),
       (113, 'Name113', '中国', '重庆', 10113, now()),
       (114, 'Name114', '中国', '重庆', 10114, now()),
       (115, 'Name115', '中国', '重庆', 10115, now()),
       (116, 'Name116', '中国', '重庆', 10116, now()),
       (117, 'Name117', '中国', '重庆', 10117, now()),
       (118, 'Name118', '中国', '重庆', 10118, now()),
       (119, 'Name119', '中国', '重庆', 10119, now()),
       (120, 'Name120', '中国', '重庆', 10120, now()),
       (121, 'Name121', '中国', '重庆', 10121, now()),
       (122, 'Name122', '中国', '重庆', 10122, now()),
       (123, 'Name123', '中国', '重庆', 10123, now()),
       (124, 'Name124', '中国', '重庆', 10124, now()),
       (125, 'Name125', '中国', '重庆', 10125, now()),
       (126, 'Name126', '中国', '重庆', 10126, now()),
       (127, 'Name127', '中国', '重庆', 10127, now()),
       (128, 'Name128', '中国', '重庆', 10128, now()),
       (129, 'Name129', '中国', '重庆', 10129, now()),
       (130, 'Name130', '中国', '重庆', 10130, now()),
       (131, 'Name131', '中国', '重庆', 10131, now()),
       (132, 'Name132', '中国', '重庆', 10132, now()),
       (133, 'Name133', '中国', '重庆', 10133, now()),
       (134, 'Name134', '中国', '重庆', 10134, now()),
       (135, 'Name135', '中国', '重庆', 10135, now()),
       (136, 'Name136', '中国', '重庆', 10136, now()),
       (137, 'Name137', '中国', '重庆', 10137, now()),
       (138, 'Name138', '中国', '重庆', 10138, now()),
       (139, 'Name139', '中国', '重庆', 10139, now()),
       (140, 'Name140', '中国', '重庆', 10140, now()),
       (141, 'Name141', '中国', '重庆', 10141, now()),
       (142, 'Name142', '中国', '重庆', 10142, now()),
       (143, 'Name143', '中国', '重庆', 10143, now()),
       (144, 'Name144', '中国', '重庆', 10144, now()),
       (145, 'Name145', '中国', '重庆', 10145, now()),
       (146, 'Name146', '中国', '重庆', 10146, now()),
       (147, 'Name147', '中国', '重庆', 10147, now()),
       (148, 'Name148', '中国', '重庆', 10148, now()),
       (149, 'Name149', '中国', '重庆', 10149, now()),
       (150, 'Name150', '中国', '重庆', 10150, now()),
       (151, 'Name151', '中国', '重庆', 10151, now()),
       (152, 'Name152', '中国', '重庆', 10152, now()),
       (153, 'Name153', '中国', '重庆', 10153, now()),
       (154, 'Name154', '中国', '重庆', 10154, now()),
       (155, 'Name155', '中国', '重庆', 10155, now()),
       (156, 'Name156', '中国', '重庆', 10156, now()),
       (157, 'Name157', '中国', '重庆', 10157, now()),
       (158, 'Name158', '中国', '重庆', 10158, now()),
       (159, 'Name159', '中国', '重庆', 10159, now()),
       (160, 'Name160', '中国', '重庆', 10160, now()),
       (161, 'Name161', '中国', '重庆', 10161, now()),
       (162, 'Name162', '中国', '重庆', 10162, now()),
       (163, 'Name163', '中国', '重庆', 10163, now()),
       (164, 'Name164', '中国', '重庆', 10164, now()),
       (165, 'Name165', '中国', '重庆', 10165, now()),
       (166, 'Name166', '中国', '重庆', 10166, now()),
       (167, 'Name167', '中国', '重庆', 10167, now()),
       (168, 'Name168', '中国', '重庆', 10168, now()),
       (169, 'Name169', '中国', '重庆', 10169, now()),
       (170, 'Name170', '中国', '重庆', 10170, now()),
       (171, 'Name171', '中国', '重庆', 10171, now()),
       (172, 'Name172', '中国', '重庆', 10172, now()),
       (173, 'Name173', '中国', '重庆', 10173, now()),
       (174, 'Name174', '中国', '重庆', 10174, now()),
       (175, 'Name175', '中国', '重庆', 10175, now()),
       (176, 'Name176', '中国', '重庆', 10176, now()),
       (177, 'Name177', '中国', '重庆', 10177, now()),
       (178, 'Name178', '中国', '重庆', 10178, now()),
       (179, 'Name179', '中国', '重庆', 10179, now()),
       (180, 'Name180', '中国', '重庆', 10180, now()),
       (181, 'Name181', '中国', '重庆', 10181, now()),
       (182, 'Name182', '中国', '重庆', 10182, now()),
       (183, 'Name183', '中国', '重庆', 10183, now()),
       (184, 'Name184', '中国', '重庆', 10184, now()),
       (185, 'Name185', '中国', '重庆', 10185, now()),
       (186, 'Name186', '中国', '重庆', 10186, now()),
       (187, 'Name187', '中国', '重庆', 10187, now()),
       (188, 'Name188', '中国', '重庆', 10188, now()),
       (189, 'Name189', '中国', '重庆', 10189, now()),
       (190, 'Name190', '中国', '重庆', 10190, now()),
       (191, 'Name191', '中国', '重庆', 10191, now()),
       (192, 'Name192', '中国', '重庆', 10192, now()),
       (193, 'Name193', '中国', '重庆', 10193, now()),
       (194, 'Name194', '中国', '重庆', 10194, now()),
       (195, 'Name195', '中国', '重庆', 10195, now()),
       (196, 'Name196', '中国', '重庆', 10196, now()),
       (197, 'Name197', '中国', '重庆', 10197, now()),
       (198, 'Name198', '中国', '重庆', 10198, now()),
       (199, 'Name199', '中国', '重庆', 10199, now()),
       (200, 'Name200', '中国', '重庆', 10200, now()),
       (201, 'Name201', '中国', '重庆', 10201, now()),
       (202, 'Name202', '中国', '重庆', 10202, now()),
       (203, 'Name203', '中国', '重庆', 10203, now()),
       (204, 'Name204', '中国', '重庆', 10204, now()),
       (205, 'Name205', '中国', '重庆', 10205, now()),
       (206, 'Name206', '中国', '重庆', 10206, now()),
       (207, 'Name207', '中国', '重庆', 10207, now()),
       (208, 'Name208', '中国', '重庆', 10208, now()),
       (209, 'Name209', '中国', '重庆', 10209, now()),
       (210, 'Name210', '中国', '重庆', 10210, now()),
       (211, 'Name211', '中国', '重庆', 10211, now()),
       (212, 'Name212', '中国', '重庆', 10212, now()),
       (213, 'Name213', '中国', '重庆', 10213, now()),
       (214, 'Name214', '中国', '重庆', 10214, now()),
       (215, 'Name215', '中国', '重庆', 10215, now()),
       (216, 'Name216', '中国', '重庆', 10216, now()),
       (217, 'Name217', '中国', '重庆', 10217, now()),
       (218, 'Name218', '中国', '重庆', 10218, now()),
       (219, 'Name219', '中国', '重庆', 10219, now()),
       (220, 'Name220', '中国', '重庆', 10220, now()),
       (221, 'Name221', '中国', '重庆', 10221, now()),
       (222, 'Name222', '中国', '重庆', 10222, now()),
       (223, 'Name223', '中国', '重庆', 10223, now()),
       (224, 'Name224', '中国', '重庆', 10224, now()),
       (225, 'Name225', '中国', '重庆', 10225, now()),
       (226, 'Name226', '中国', '重庆', 10226, now()),
       (227, 'Name227', '中国', '重庆', 10227, now()),
       (228, 'Name228', '中国', '重庆', 10228, now()),
       (229, 'Name229', '中国', '重庆', 10229, now()),
       (230, 'Name230', '中国', '重庆', 10230, now()),
       (231, 'Name231', '中国', '重庆', 10231, now()),
       (232, 'Name232', '中国', '重庆', 10232, now()),
       (233, 'Name233', '中国', '重庆', 10233, now()),
       (234, 'Name234', '中国', '重庆', 10234, now()),
       (235, 'Name235', '中国', '重庆', 10235, now()),
       (236, 'Name236', '中国', '重庆', 10236, now()),
       (237, 'Name237', '中国', '重庆', 10237, now()),
       (238, 'Name238', '中国', '重庆', 10238, now()),
       (239, 'Name239', '中国', '重庆', 10239, now()),
       (240, 'Name240', '中国', '重庆', 10240, now()),
       (241, 'Name241', '中国', '重庆', 10241, now()),
       (242, 'Name242', '中国', '重庆', 10242, now()),
       (243, 'Name243', '中国', '重庆', 10243, now()),
       (244, 'Name244', '中国', '重庆', 10244, now()),
       (245, 'Name245', '中国', '重庆', 10245, now()),
       (246, 'Name246', '中国', '重庆', 10246, now()),
       (247, 'Name247', '中国', '重庆', 10247, now()),
       (248, 'Name248', '中国', '重庆', 10248, now()),
       (249, 'Name249', '中国', '重庆', 10249, now()),
       (250, 'Name250', '中国', '重庆', 10250, now()),
       (251, 'Name251', '中国', '重庆', 10251, now()),
       (252, 'Name252', '中国', '重庆', 10252, now()),
       (253, 'Name253', '中国', '重庆', 10253, now()),
       (254, 'Name254', '中国', '重庆', 10254, now()),
       (255, 'Name255', '中国', '重庆', 10255, now()),
       (256, 'Name256', '中国', '重庆', 10256, now()),
       (257, 'Name257', '中国', '重庆', 10257, now()),
       (258, 'Name258', '中国', '重庆', 10258, now()),
       (259, 'Name259', '中国', '重庆', 10259, now()),
       (260, 'Name260', '中国', '重庆', 10260, now()),
       (261, 'Name261', '中国', '重庆', 10261, now()),
       (262, 'Name262', '中国', '重庆', 10262, now()),
       (263, 'Name263', '中国', '重庆', 10263, now()),
       (264, 'Name264', '中国', '重庆', 10264, now()),
       (265, 'Name265', '中国', '重庆', 10265, now()),
       (266, 'Name266', '中国', '重庆', 10266, now()),
       (267, 'Name267', '中国', '重庆', 10267, now()),
       (268, 'Name268', '中国', '重庆', 10268, now()),
       (269, 'Name269', '中国', '重庆', 10269, now()),
       (270, 'Name270', '中国', '重庆', 10270, now()),
       (271, 'Name271', '中国', '重庆', 10271, now()),
       (272, 'Name272', '中国', '重庆', 10272, now()),
       (273, 'Name273', '中国', '重庆', 10273, now()),
       (274, 'Name274', '中国', '重庆', 10274, now()),
       (275, 'Name275', '中国', '重庆', 10275, now()),
       (276, 'Name276', '中国', '重庆', 10276, now()),
       (277, 'Name277', '中国', '重庆', 10277, now()),
       (278, 'Name278', '中国', '重庆', 10278, now()),
       (279, 'Name279', '中国', '重庆', 10279, now()),
       (280, 'Name280', '中国', '重庆', 10280, now()),
       (281, 'Name281', '中国', '重庆', 10281, now()),
       (282, 'Name282', '中国', '重庆', 10282, now()),
       (283, 'Name283', '中国', '重庆', 10283, now()),
       (284, 'Name284', '中国', '重庆', 10284, now()),
       (285, 'Name285', '中国', '重庆', 10285, now()),
       (286, 'Name286', '中国', '重庆', 10286, now()),
       (287, 'Name287', '中国', '重庆', 10287, now()),
       (288, 'Name288', '中国', '重庆', 10288, now()),
       (289, 'Name289', '中国', '重庆', 10289, now()),
       (290, 'Name290', '中国', '重庆', 10290, now()),
       (291, 'Name291', '中国', '重庆', 10291, now()),
       (292, 'Name292', '中国', '重庆', 10292, now()),
       (293, 'Name293', '中国', '重庆', 10293, now()),
       (294, 'Name294', '中国', '重庆', 10294, now()),
       (295, 'Name295', '中国', '重庆', 10295, now()),
       (296, 'Name296', '中国', '重庆', 10296, now()),
       (297, 'Name297', '中国', '重庆', 10297, now()),
       (298, 'Name298', '中国', '重庆', 10298, now()),
       (299, 'Name299', '中国', '重庆', 10299, now()),
       (300, 'Name300', '中国', '重庆', 10300, now()),
       (301, 'Name301', '中国', '重庆', 10301, now()),
       (302, 'Name302', '中国', '重庆', 10302, now()),
       (303, 'Name303', '中国', '重庆', 10303, now()),
       (304, 'Name304', '中国', '重庆', 10304, now()),
       (305, 'Name305', '中国', '重庆', 10305, now()),
       (306, 'Name306', '中国', '重庆', 10306, now()),
       (307, 'Name307', '中国', '重庆', 10307, now()),
       (308, 'Name308', '中国', '重庆', 10308, now()),
       (309, 'Name309', '中国', '重庆', 10309, now()),
       (310, 'Name310', '中国', '重庆', 10310, now()),
       (311, 'Name311', '中国', '重庆', 10311, now()),
       (312, 'Name312', '中国', '重庆', 10312, now()),
       (313, 'Name313', '中国', '重庆', 10313, now()),
       (314, 'Name314', '中国', '重庆', 10314, now()),
       (315, 'Name315', '中国', '重庆', 10315, now()),
       (316, 'Name316', '中国', '重庆', 10316, now()),
       (317, 'Name317', '中国', '重庆', 10317, now()),
       (318, 'Name318', '中国', '重庆', 10318, now()),
       (319, 'Name319', '中国', '重庆', 10319, now()),
       (320, 'Name320', '中国', '重庆', 10320, now()),
       (321, 'Name321', '中国', '重庆', 10321, now()),
       (322, 'Name322', '中国', '重庆', 10322, now()),
       (323, 'Name323', '中国', '重庆', 10323, now()),
       (324, 'Name324', '中国', '重庆', 10324, now()),
       (325, 'Name325', '中国', '重庆', 10325, now()),
       (326, 'Name326', '中国', '重庆', 10326, now()),
       (327, 'Name327', '中国', '重庆', 10327, now()),
       (328, 'Name328', '中国', '重庆', 10328, now()),
       (329, 'Name329', '中国', '重庆', 10329, now()),
       (330, 'Name330', '中国', '重庆', 10330, now()),
       (331, 'Name331', '中国', '重庆', 10331, now()),
       (332, 'Name332', '中国', '重庆', 10332, now()),
       (333, 'Name333', '中国', '重庆', 10333, now()),
       (334, 'Name334', '中国', '重庆', 10334, now()),
       (335, 'Name335', '中国', '重庆', 10335, now()),
       (336, 'Name336', '中国', '重庆', 10336, now()),
       (337, 'Name337', '中国', '重庆', 10337, now()),
       (338, 'Name338', '中国', '重庆', 10338, now()),
       (339, 'Name339', '中国', '重庆', 10339, now()),
       (340, 'Name340', '中国', '重庆', 10340, now()),
       (341, 'Name341', '中国', '重庆', 10341, now()),
       (342, 'Name342', '中国', '重庆', 10342, now()),
       (343, 'Name343', '中国', '重庆', 10343, now()),
       (344, 'Name344', '中国', '重庆', 10344, now()),
       (345, 'Name345', '中国', '重庆', 10345, now()),
       (346, 'Name346', '中国', '重庆', 10346, now()),
       (347, 'Name347', '中国', '重庆', 10347, now()),
       (348, 'Name348', '中国', '重庆', 10348, now()),
       (349, 'Name349', '中国', '重庆', 10349, now()),
       (350, 'Name350', '中国', '重庆', 10350, now()),
       (351, 'Name351', '中国', '重庆', 10351, now()),
       (352, 'Name352', '中国', '重庆', 10352, now()),
       (353, 'Name353', '中国', '重庆', 10353, now()),
       (354, 'Name354', '中国', '重庆', 10354, now()),
       (355, 'Name355', '中国', '重庆', 10355, now()),
       (356, 'Name356', '中国', '重庆', 10356, now()),
       (357, 'Name357', '中国', '重庆', 10357, now()),
       (358, 'Name358', '中国', '重庆', 10358, now()),
       (359, 'Name359', '中国', '重庆', 10359, now()),
       (360, 'Name360', '中国', '重庆', 10360, now()),
       (361, 'Name361', '中国', '重庆', 10361, now()),
       (362, 'Name362', '中国', '重庆', 10362, now()),
       (363, 'Name363', '中国', '重庆', 10363, now()),
       (364, 'Name364', '中国', '重庆', 10364, now()),
       (365, 'Name365', '中国', '重庆', 10365, now()),
       (366, 'Name366', '中国', '重庆', 10366, now()),
       (367, 'Name367', '中国', '重庆', 10367, now()),
       (368, 'Name368', '中国', '重庆', 10368, now()),
       (369, 'Name369', '中国', '重庆', 10369, now()),
       (370, 'Name370', '中国', '重庆', 10370, now()),
       (371, 'Name371', '中国', '重庆', 10371, now()),
       (372, 'Name372', '中国', '重庆', 10372, now()),
       (373, 'Name373', '中国', '重庆', 10373, now()),
       (374, 'Name374', '中国', '重庆', 10374, now()),
       (375, 'Name375', '中国', '重庆', 10375, now()),
       (376, 'Name376', '中国', '重庆', 10376, now()),
       (377, 'Name377', '中国', '重庆', 10377, now()),
       (378, 'Name378', '中国', '重庆', 10378, now()),
       (379, 'Name379', '中国', '重庆', 10379, now()),
       (380, 'Name380', '中国', '重庆', 10380, now()),
       (381, 'Name381', '中国', '重庆', 10381, now()),
       (382, 'Name382', '中国', '重庆', 10382, now()),
       (383, 'Name383', '中国', '重庆', 10383, now()),
       (384, 'Name384', '中国', '重庆', 10384, now()),
       (385, 'Name385', '中国', '重庆', 10385, now()),
       (386, 'Name386', '中国', '重庆', 10386, now()),
       (387, 'Name387', '中国', '重庆', 10387, now()),
       (388, 'Name388', '中国', '重庆', 10388, now()),
       (389, 'Name389', '中国', '重庆', 10389, now()),
       (390, 'Name390', '中国', '重庆', 10390, now()),
       (391, 'Name391', '中国', '重庆', 10391, now()),
       (392, 'Name392', '中国', '重庆', 10392, now()),
       (393, 'Name393', '中国', '重庆', 10393, now()),
       (394, 'Name394', '中国', '重庆', 10394, now()),
       (395, 'Name395', '中国', '重庆', 10395, now()),
       (396, 'Name396', '中国', '重庆', 10396, now()),
       (397, 'Name397', '中国', '重庆', 10397, now()),
       (398, 'Name398', '中国', '重庆', 10398, now()),
       (399, 'Name399', '中国', '重庆', 10399, now()),
       (400, 'Name400', '中国', '重庆', 10400, now()),
       (401, 'Name401', '中国', '重庆', 10401, now()),
       (402, 'Name402', '中国', '重庆', 10402, now()),
       (403, 'Name403', '中国', '重庆', 10403, now()),
       (404, 'Name404', '中国', '重庆', 10404, now()),
       (405, 'Name405', '中国', '重庆', 10405, now()),
       (406, 'Name406', '中国', '重庆', 10406, now()),
       (407, 'Name407', '中国', '重庆', 10407, now()),
       (408, 'Name408', '中国', '重庆', 10408, now()),
       (409, 'Name409', '中国', '重庆', 10409, now()),
       (410, 'Name410', '中国', '重庆', 10410, now()),
       (411, 'Name411', '中国', '重庆', 10411, now()),
       (412, 'Name412', '中国', '重庆', 10412, now()),
       (413, 'Name413', '中国', '重庆', 10413, now()),
       (414, 'Name414', '中国', '重庆', 10414, now()),
       (415, 'Name415', '中国', '重庆', 10415, now()),
       (416, 'Name416', '中国', '重庆', 10416, now()),
       (417, 'Name417', '中国', '重庆', 10417, now()),
       (418, 'Name418', '中国', '重庆', 10418, now()),
       (419, 'Name419', '中国', '重庆', 10419, now()),
       (420, 'Name420', '中国', '重庆', 10420, now()),
       (421, 'Name421', '中国', '重庆', 10421, now()),
       (422, 'Name422', '中国', '重庆', 10422, now()),
       (423, 'Name423', '中国', '重庆', 10423, now()),
       (424, 'Name424', '中国', '重庆', 10424, now()),
       (425, 'Name425', '中国', '重庆', 10425, now()),
       (426, 'Name426', '中国', '重庆', 10426, now()),
       (427, 'Name427', '中国', '重庆', 10427, now()),
       (428, 'Name428', '中国', '重庆', 10428, now()),
       (429, 'Name429', '中国', '重庆', 10429, now()),
       (430, 'Name430', '中国', '重庆', 10430, now()),
       (431, 'Name431', '中国', '重庆', 10431, now()),
       (432, 'Name432', '中国', '重庆', 10432, now()),
       (433, 'Name433', '中国', '重庆', 10433, now()),
       (434, 'Name434', '中国', '重庆', 10434, now()),
       (435, 'Name435', '中国', '重庆', 10435, now()),
       (436, 'Name436', '中国', '重庆', 10436, now()),
       (437, 'Name437', '中国', '重庆', 10437, now()),
       (438, 'Name438', '中国', '重庆', 10438, now()),
       (439, 'Name439', '中国', '重庆', 10439, now()),
       (440, 'Name440', '中国', '重庆', 10440, now()),
       (441, 'Name441', '中国', '重庆', 10441, now()),
       (442, 'Name442', '中国', '重庆', 10442, now()),
       (443, 'Name443', '中国', '重庆', 10443, now()),
       (444, 'Name444', '中国', '重庆', 10444, now()),
       (445, 'Name445', '中国', '重庆', 10445, now()),
       (446, 'Name446', '中国', '重庆', 10446, now()),
       (447, 'Name447', '中国', '重庆', 10447, now()),
       (448, 'Name448', '中国', '重庆', 10448, now()),
       (449, 'Name449', '中国', '重庆', 10449, now()),
       (450, 'Name450', '中国', '重庆', 10450, now()),
       (451, 'Name451', '中国', '重庆', 10451, now()),
       (452, 'Name452', '中国', '重庆', 10452, now()),
       (453, 'Name453', '中国', '重庆', 10453, now()),
       (454, 'Name454', '中国', '重庆', 10454, now()),
       (455, 'Name455', '中国', '重庆', 10455, now()),
       (456, 'Name456', '中国', '重庆', 10456, now()),
       (457, 'Name457', '中国', '重庆', 10457, now()),
       (458, 'Name458', '中国', '重庆', 10458, now()),
       (459, 'Name459', '中国', '重庆', 10459, now()),
       (460, 'Name460', '中国', '重庆', 10460, now()),
       (461, 'Name461', '中国', '重庆', 10461, now()),
       (462, 'Name462', '中国', '重庆', 10462, now()),
       (463, 'Name463', '中国', '重庆', 10463, now()),
       (464, 'Name464', '中国', '重庆', 10464, now()),
       (465, 'Name465', '中国', '重庆', 10465, now()),
       (466, 'Name466', '中国', '重庆', 10466, now()),
       (467, 'Name467', '中国', '重庆', 10467, now()),
       (468, 'Name468', '中国', '重庆', 10468, now()),
       (469, 'Name469', '中国', '重庆', 10469, now()),
       (470, 'Name470', '中国', '重庆', 10470, now()),
       (471, 'Name471', '中国', '重庆', 10471, now()),
       (472, 'Name472', '中国', '重庆', 10472, now()),
       (473, 'Name473', '中国', '重庆', 10473, now()),
       (474, 'Name474', '中国', '重庆', 10474, now()),
       (475, 'Name475', '中国', '重庆', 10475, now()),
       (476, 'Name476', '中国', '重庆', 10476, now()),
       (477, 'Name477', '中国', '重庆', 10477, now()),
       (478, 'Name478', '中国', '重庆', 10478, now()),
       (479, 'Name479', '中国', '重庆', 10479, now()),
       (480, 'Name480', '中国', '重庆', 10480, now()),
       (481, 'Name481', '中国', '重庆', 10481, now()),
       (482, 'Name482', '中国', '重庆', 10482, now()),
       (483, 'Name483', '中国', '重庆', 10483, now()),
       (484, 'Name484', '中国', '重庆', 10484, now()),
       (485, 'Name485', '中国', '重庆', 10485, now()),
       (486, 'Name486', '中国', '重庆', 10486, now()),
       (487, 'Name487', '中国', '重庆', 10487, now()),
       (488, 'Name488', '中国', '重庆', 10488, now()),
       (489, 'Name489', '中国', '重庆', 10489, now()),
       (490, 'Name490', '中国', '重庆', 10490, now()),
       (491, 'Name491', '中国', '重庆', 10491, now()),
       (492, 'Name492', '中国', '重庆', 10492, now()),
       (493, 'Name493', '中国', '重庆', 10493, now()),
       (494, 'Name494', '中国', '重庆', 10494, now()),
       (495, 'Name495', '中国', '重庆', 10495, now()),
       (496, 'Name496', '中国', '重庆', 10496, now()),
       (497, 'Name497', '中国', '重庆', 10497, now()),
       (498, 'Name498', '中国', '重庆', 10498, now()),
       (499, 'Name499', '中国', '重庆', 10499, now()),
       (500, 'Name500', '中国', '重庆', 10500, now()),
       (501, 'Name501', '中国', '重庆', 10501, now()),
       (502, 'Name502', '中国', '重庆', 10502, now()),
       (503, 'Name503', '中国', '重庆', 10503, now()),
       (504, 'Name504', '中国', '重庆', 10504, now()),
       (505, 'Name505', '中国', '重庆', 10505, now()),
       (506, 'Name506', '中国', '重庆', 10506, now()),
       (507, 'Name507', '中国', '重庆', 10507, now()),
       (508, 'Name508', '中国', '重庆', 10508, now()),
       (509, 'Name509', '中国', '重庆', 10509, now()),
       (510, 'Name510', '中国', '重庆', 10510, now()),
       (511, 'Name511', '中国', '重庆', 10511, now()),
       (512, 'Name512', '中国', '重庆', 10512, now()),
       (513, 'Name513', '中国', '重庆', 10513, now()),
       (514, 'Name514', '中国', '重庆', 10514, now()),
       (515, 'Name515', '中国', '重庆', 10515, now()),
       (516, 'Name516', '中国', '重庆', 10516, now()),
       (517, 'Name517', '中国', '重庆', 10517, now()),
       (518, 'Name518', '中国', '重庆', 10518, now()),
       (519, 'Name519', '中国', '重庆', 10519, now()),
       (520, 'Name520', '中国', '重庆', 10520, now()),
       (521, 'Name521', '中国', '重庆', 10521, now()),
       (522, 'Name522', '中国', '重庆', 10522, now()),
       (523, 'Name523', '中国', '重庆', 10523, now()),
       (524, 'Name524', '中国', '重庆', 10524, now()),
       (525, 'Name525', '中国', '重庆', 10525, now()),
       (526, 'Name526', '中国', '重庆', 10526, now()),
       (527, 'Name527', '中国', '重庆', 10527, now()),
       (528, 'Name528', '中国', '重庆', 10528, now()),
       (529, 'Name529', '中国', '重庆', 10529, now()),
       (530, 'Name530', '中国', '重庆', 10530, now()),
       (531, 'Name531', '中国', '重庆', 10531, now()),
       (532, 'Name532', '中国', '重庆', 10532, now()),
       (533, 'Name533', '中国', '重庆', 10533, now()),
       (534, 'Name534', '中国', '重庆', 10534, now()),
       (535, 'Name535', '中国', '重庆', 10535, now()),
       (536, 'Name536', '中国', '重庆', 10536, now()),
       (537, 'Name537', '中国', '重庆', 10537, now()),
       (538, 'Name538', '中国', '重庆', 10538, now()),
       (539, 'Name539', '中国', '重庆', 10539, now()),
       (540, 'Name540', '中国', '重庆', 10540, now())
;


insert into circle_db.base_user
values (541, 'Name541', '中国', '重庆', 10001, now());

导入数据: groupBitmapState(id) as object_id_map, 从聚合函数groupBitmapState构造

代码语言:javascript
复制
AggregateFunction(groupBitmap, UInt64) 位图字段值
insert into circle_db.bitmap_circle
select tag                  as row_key,
       '-1'                 as field_value_string,
       tag                  as field_value_long,
       '-1'                 as field_value_double,
       groupBitmapState(id) as object_id_map,
       now()                as p_date,
       'user_basic'         as table_code,
       'city'               as field_code
from circle_db.base_user
group by tag
;

查询标签数据: bitmapToArray(groupBitmapMergeState(object_id_map)

代码语言:javascript
复制
select row_key,
       table_code,
       field_code,
       field_value_long,
       bitmapToArray(groupBitmapMergeState(object_id_map))
from circle_db.bitmap_circle
group by row_key, table_code, field_code, field_value_long;

查询表

代码语言:javascript
复制
select *
from circle_db.bitmap_circle;

select *
from circle_db.base_user;

常用位图函数

1.无符号整数构建位图对象

代码语言:javascript
复制
select bitmapBuild([1,2,3,4,5]) as res;

2.将位图对象转化为整数数组

代码语言:javascript
复制
select bitmapToArray(bitmapBuild([1,2,3,4,5])) as res;
/*
┌─res─────────┐
│ [1,2,3,4,5] │
└─────────────┘
*/

3.bitmapSubsetInRange 将位图指定范围转化为另外一个位图,相当于截取数据,左闭右开

代码语言:javascript
复制
select bitmapToArray(
               bitmapSubsetInRange(
                       bitmapBuild(
                               [0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,100,200,500]
                           ),
                       toUInt32(10),
                       toUInt32(15)
                   )
           ) as res;

/*
┌─res──────────────┐
│ [10,11,12,13,14] │
└──────────────────┘
 */

4.bitmapSubsetLimit 将位图指定范围转化为另外一个位图,(位图函数,起始点,限制条数)

代码语言:javascript
复制
select bitmapToArray(bitmapSubsetLimit(bitmapBuild(
                                               [0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,100,200,500]),
                                       toUInt32(10), toUInt32(15))) as res;

/*
┌─res────────────────────────────────────────────┐
│ [10,11,12,13,14,15,16,17,18,19,20,21,22,23,24] │
└────────────────────────────────────────────────┘
 */

5.bitmapContains 查看位图中是否包含指定元素:存在则返回1,不存在返回0

代码语言:javascript
复制
select bitmapContains(bitmapBuild([1,2,3,4,5]), toUInt32(9)) as res;

6.bitmapHasAny 比较两个位图是否包含相同元素: 如果有相同的返回1,没有则返回0

代码语言:javascript
复制
select bitmapHasAny(bitmapBuild([1,2,3]), bitmapBuild([3,4,5])) as res;

7.bitmapHasAll 如果第一个位图包含第二个位图所有元素返回1,反之返回0

代码语言:javascript
复制
select bitmapHasAll(bitmapBuild([1,2,3]), bitmapBuild([3,4,5])) as res;

8.bitmapAnd 两个位图进行与操作,返回一个新位图对象 =》 取交集

代码语言:javascript
复制
select bitmapToArray(bitmapAnd(bitmapBuild([1,2,3,4,5,6]), bitmapBuild([3,4,5,6,7,8]))) as res;

/*
┌─res───────┐
│ [3,4,5,6] │
└───────────┘
 */

9.bitmapOr 两个位图进行或操作,返回一个新位图对象 =》 取并集

代码语言:javascript
复制
select bitmapToArray(bitmapOr(bitmapBuild([1,2,3,4,5,6]), bitmapBuild([3,4,5,6,7,8]))) as res;

/*
┌─res───────────────┐
│ [1,2,3,4,5,6,7,8] │
└───────────────────┘
 */

10.bitmapXor 两个位图进行异或操作,返回一个新位图对象 =》 去除两者重复值,其它值合并

代码语言:javascript
复制
select bitmapToArray(bitmapXor(bitmapBuild([1,2,3,4,5,6]), bitmapBuild([3,4,5,6,7,8]))) as res;

/*
┌─res───────┐
│ [1,2,7,8] │
└───────────┘
 */

11.bitmapAndnot 计算两个位图的差异,返回一个新的位图对象 => 第一个位图剔除第二个位图相同值后的数值结果

代码语言:javascript
复制
select bitmapToArray(bitmapAndnot(bitmapBuild([1,2,3,4,5,6]), bitmapBuild([3,4,5,6,7,8]))) as res;

/*
┌─res───┐
│ [1,2] │
└───────┘
 */

12.bitmapCardinality 返回UInt64类型的数值,表示位图对象元素的数量:下面数量为5

代码语言:javascript
复制
select bitmapCardinality(bitmapBuild([1,2,3,4,6])) as res;

13.bitmapMin 返回返回UInt64类型的数值,表示位图最小值:1

代码语言:javascript
复制
select bitmapMin(bitmapBuild([1,2,3,4,5,6,7,8])) as res;

14.bitmapMax 返回返回UInt64类型的数值,表示位图最大值:8

代码语言:javascript
复制
select bitmapMax(bitmapBuild([1,2,3,4,5,6,7,8])) as res;

15.bitmapAndCardinality 两个位图进行与操作,得到对应位图对象元素的数量:4

代码语言:javascript
复制
SELECT bitmapAndCardinality(bitmapBuild([1,2,3,4,5,6]), bitmapBuild([3,4,5,6,7,8])) AS res;

16.bitmapOrCardinality 两个位图进行或操作,得到对应位图对象元素的数量:8

代码语言:javascript
复制
SELECT bitmapOrCardinality(bitmapBuild([1,2,3,4,5,6]), bitmapBuild([3,4,5,6,7,8])) AS res;

17.bitmapXorCardinality 两个位图进行异或操作,得到对应位图对象元素的数量:4

代码语言:javascript
复制
SELECT bitmapXorCardinality(bitmapBuild([1,2,3,4,5,6,7]), bitmapBuild([3,4,5,6,7,8,9])) AS res;

18.bitmapAndnotCardinality 位图和非标准性, 计算两个位图的差异,返回结果位图的基数:2

代码语言:javascript
复制
SELECT bitmapAndnotCardinality(bitmapBuild([1,2,3,4,5,6,7]), bitmapBuild([3,4,5,6,7,8,9])) AS res;

19.聚合类函数的使用 groupBitmapAnd,groupBitmapOr,groupBitmapXor

代码语言:javascript
复制
-- 数据准备
CREATE TABLE circle_db.bitmap_column_expr_test
(
    tag_id String,
    z      AggregateFunction(groupBitmap, UInt32)
)
    ENGINE = MergeTree
        ORDER BY tag_id;

INSERT INTO circle_db.bitmap_column_expr_test
VALUES ('tag1', bitmapBuild(cast([1,2,3,4,5,6,7,8,9,10] as Array(UInt32))));
INSERT INTO circle_db.bitmap_column_expr_test
VALUES ('tag2', bitmapBuild(cast([6,7,8,9,10,11,12,13,14,15] as Array(UInt32))));
INSERT INTO circle_db.bitmap_column_expr_test
VALUES ('tag3', bitmapBuild(cast([2,4,6,8,10,12] as Array(UInt32))));
INSERT INTO circle_db.bitmap_column_expr_test
VALUES ('tag4', bitmapBuild(cast([2,4,6,8,10,12,12,10] as Array(UInt32))));

-- 查询测试
SELECT groupBitmapAnd(z)
FROM circle_db.bitmap_column_expr_test
WHERE like(tag_id, 'tag%');
/* 原理是所有的bitmap对象取交,得到的数量,
┌─groupBitmapAnd(z)─┐
│                 3 │
└───────────────────┘
*/
SELECT bitmapToArray(groupBitmapAndState(z))
FROM circle_db.bitmap_column_expr_test
WHERE tag_id = 'tag4';
/*  对bitmap对象里面的数据进行去重操作,后转为array
┌─bitmapToArray(groupBitmapAndState(z))─┐
│ [2,4,6,8,10,12]                       │
└───────────────────────────────────────┘
 */
SELECT groupBitmapOr(z)
FROM circle_db.bitmap_column_expr_test
WHERE like(tag_id, 'tag%');
/*  所有匹配的bitmap对象取并集,去重的数量
┌─groupBitmapOr(z)─┐
│               15 │
└──────────────────┘
 */
SELECT groupBitmapXor(z)
FROM circle_db.bitmap_column_expr_test
WHERE like(tag_id, 'tag%');
/*  去除两者重复值,其它值合并(每两个bitmap对象进行一次操作),得到最后的数量
┌─groupBitmapOr(z)─┐
│               10 │
└──────────────────┘
 */

ClickHouse 快速开始

安装 ClickHouse

Mac OS

代码语言:javascript
复制
 wget 'https://builds.clickhouse.com/master/macos/clickhouse'
 chmod a+x ./clickhouse
 ./clickhouse
 

Ubuntu

代码语言:javascript
复制
 sudo apt-get install apt-transport-https ca-certificates dirmngr
 sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv E0C56BD4
 echo "deb https://repo.clickhouse.com/deb/stable/ main/" | sudo tee \
 /etc/apt/sources.list.d/clickhouse.list
 sudo apt-get update
 sudo apt-get install -y clickhouse-server clickhouse-client
 sudo service clickhouse-server start
 clickhouse-client
 

参考:https://clickhouse.com/#quick-start

命令行参考

./clickhouse

Use one of the following commands:

代码语言:javascript
复制
 clickhouse local [args]
 clickhouse client [args]
 clickhouse benchmark [args]
 clickhouse server [args]
 clickhouse extract-from-config [args]
 clickhouse compressor [args]
 clickhouse format [args]
 clickhouse copier [args]
 clickhouse obfuscator [args]
 clickhouse git-import [args]
 clickhouse keeper [args]
 clickhouse keeper-converter [args]
 clickhouse install [args]
 clickhouse start [args]
 clickhouse stop [args]
 clickhouse status [args]
 clickhouse restart [args]
 clickhouse static-files-disk-uploader [args]
 clickhouse hash-binary [args]
 

启动 ClickHouse Server

代码语言:javascript
复制
 $./clickhouse server
 

Server 默认的端口号是: 8123

Application: Listening for http://127.0.0.1:8123

客户端连接 ClickHouse

代码语言:javascript
复制
 bytedance$./clickhouse client
 

ClickHouse client version 21.12.1.8808 (official build).

Connecting to localhost:9000 as user default.

Connected to ClickHouse server version 21.12.1 revision 54450.

Quick tips for clickhouse-client Interactive mode:

clickhouse-client

代码语言:javascript
复制
 clickhouse-client --host=... --port=... --user=... --password=...
 

Enable multiline queries:

代码语言:javascript
复制
 clickhouse-client -m
 clickhouse-client --multiline
 

Run queries in batch-mode:

代码语言:javascript
复制
 clickhouse-client --query='SELECT 1'echo'SELECT 1'|clickhouse-clientclickhouse-client<<<'SELECT 1'
 

Insert data from a file in specified format:

代码语言:javascript
复制
 clickhouse-client --query='INSERT INTO table VALUES'< data.txt
 clickhouse-client --query='INSERT INTO table FORMAT TabSeparated'< data.tsv
 

创建数据库

ClickHouse支持的表引擎官:Ordinary/Dictionary/Memory/Mysql/Lazy

创建数据库指定数据库引擎语法:

create database xxxx engine = 数据库引擎

示例:

1.创建一个默认引擎的 clickhouse 数据库:

代码语言:javascript
复制
 create database mydb engine=Ordinary comment 'mydb';
 

默认引擎Ordinary, 如果不指定数据库引擎创建的就是 Ordinary 数据库.

2. 创建 clickhouse 数据库, 使用 Mysql 引擎:

代码语言:javascript
复制
 create database mysqlDB engine=MySQL('xx:3306','database','username','password');
 

3. 创建 Lazy 引擎的数据库:

代码语言:javascript
复制
 create database testlazy engine=Lazy(expiration_time_in_seconds);
 

上次访问之后 expiration_time_in_seconds 秒之前,表放内存.

该库引擎下只能创建 *Log表引擎

查询当前 server 实例所有的 databases:

代码语言:javascript
复制
 SELECT * FROM system.databases;
 

Query id: 3783b56d-d088-47e4-981a-57864a7a8419

代码语言:javascript
复制
 ┌─name───────────────┬─engine───┬─data_path────┬─metadata_path─────────────────────────────────────────────────────────┬─uuid─────────────────────────────────┬─comment─┐
 │ INFORMATION_SCHEMA │ Memory  │ ./          │                                                                      │ 00000000-0000-0000-0000-000000000000 │        │
 │ default            │ Atomic  │ ./store/    │ /Users/bytedance/soft/store/456/456e7573-40ea-42f8-856e-757340ea82f8/ │ 456e7573-40ea-42f8-856e-757340ea82f8 │        │
 │ information_schema │ Memory  │ ./          │                                                                      │ 00000000-0000-0000-0000-000000000000 │        │
 │ mydb              │ Ordinary │ ./data/mydb/ │ /Users/bytedance/soft/metadata/mydb/                                  │ 00000000-0000-0000-0000-000000000000 │ mydb    │
 │ system            │ Atomic  │ ./store/    │ /Users/bytedance/soft/store/1db/1dbe01d6-a33f-46ae-9dbe-01d6a33f56ae/ │ 1dbe01d6-a33f-46ae-9dbe-01d6a33f56ae │        │
 └────────────────────┴──────────┴──────────────┴───────────────────────────────────────────────────────────────────────┴──────────────────────────────────────┴─────────┘
 5 rows in set. Elapsed: 0.001 sec.
 

建表

代码语言:javascript
复制
 create table test
 (
 dim_id String,
 tag_code String,
 tag_option_code String,
 tag_option_value String,
 object_ids Array(String),
 p_date DateTime
 )
 engine =MergeTree
 partition by p_date
 order by (dim_id,tag_code,tag_option_code,p_date)
 ;

插入数据

代码语言:javascript
复制
 INSERT INTO mydb.test (dim_id, tag_code, tag_option_code, tag_option_value, object_ids, p_date) VALUES ('1', 't1', 'f1', 'a', null, '2021-11-23 17:19:29')

查询数据

select * from test;

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2022.02.18 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • ClickHouse SQL 语法基础极简教程 + bitmap 位图数据类型的使用实例
    • 查看所有数据库
      • 创建数据库
        • 建表:分区键 partition by、主键索引 order by
          • 创建 base_user 表结构
            • 插入用户样例数据
              • 导入数据: groupBitmapState(id) as object_id_map, 从聚合函数groupBitmapState构造
                • 查询标签数据: bitmapToArray(groupBitmapMergeState(object_id_map)
                  • 查询表
                  • 常用位图函数
                    • 1.无符号整数构建位图对象
                      • 2.将位图对象转化为整数数组
                        • 3.bitmapSubsetInRange 将位图指定范围转化为另外一个位图,相当于截取数据,左闭右开
                          • 4.bitmapSubsetLimit 将位图指定范围转化为另外一个位图,(位图函数,起始点,限制条数)
                            • 5.bitmapContains 查看位图中是否包含指定元素:存在则返回1,不存在返回0
                              • 6.bitmapHasAny 比较两个位图是否包含相同元素: 如果有相同的返回1,没有则返回0
                                • 7.bitmapHasAll 如果第一个位图包含第二个位图所有元素返回1,反之返回0
                                  • 8.bitmapAnd 两个位图进行与操作,返回一个新位图对象 =》 取交集
                                    • 9.bitmapOr 两个位图进行或操作,返回一个新位图对象 =》 取并集
                                      • 10.bitmapXor 两个位图进行异或操作,返回一个新位图对象 =》 去除两者重复值,其它值合并
                                        • 11.bitmapAndnot 计算两个位图的差异,返回一个新的位图对象 => 第一个位图剔除第二个位图相同值后的数值结果
                                          • 12.bitmapCardinality 返回UInt64类型的数值,表示位图对象元素的数量:下面数量为5
                                            • 13.bitmapMin 返回返回UInt64类型的数值,表示位图最小值:1
                                              • 14.bitmapMax 返回返回UInt64类型的数值,表示位图最大值:8
                                                • 15.bitmapAndCardinality 两个位图进行与操作,得到对应位图对象元素的数量:4
                                                  • 16.bitmapOrCardinality 两个位图进行或操作,得到对应位图对象元素的数量:8
                                                    • 17.bitmapXorCardinality 两个位图进行异或操作,得到对应位图对象元素的数量:4
                                                      • 18.bitmapAndnotCardinality 位图和非标准性, 计算两个位图的差异,返回结果位图的基数:2
                                                        • 19.聚合类函数的使用 groupBitmapAnd,groupBitmapOr,groupBitmapXor
                                                        • ClickHouse 快速开始
                                                          • 安装 ClickHouse
                                                            • 命令行参考
                                                            • 启动 ClickHouse Server
                                                              • 客户端连接 ClickHouse
                                                                • Quick tips for clickhouse-client Interactive mode:
                                                                  • 创建数据库
                                                                    • 建表
                                                                      • 插入数据
                                                                        • 查询数据
                                                                        相关产品与服务
                                                                        数据库
                                                                        云数据库为企业提供了完善的关系型数据库、非关系型数据库、分析型数据库和数据库生态工具。您可以通过产品选择和组合搭建,轻松实现高可靠、高可用性、高性能等数据库需求。云数据库服务也可大幅减少您的运维工作量,更专注于业务发展,让企业一站式享受数据上云及分布式架构的技术红利!
                                                                        领券
                                                                        问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档