clickhouse資料庫之基礎語法

2021-10-23 09:08:13 字數 3282 閱讀 9373

一、clickhouse資料庫發展歷史

clickhouse是俄羅斯yandex在2023年6月15日開源的資料庫,是列式儲存,該資料庫效能極高,查詢效率極快,較其他同類資料庫速度提公升100-1000倍。

二、clickhouse的特點

uint8,uint16,uint32,uint64,int8,int16,int32,int64

固定長度的整數,帶或不帶標誌。

float32, float64

浮點數就像c語言中的「float」和「double」一樣。與標準sql相比,浮點數支援「inf」,「-inf」,甚至是「nan」。請參閱「order by子句」中有關排序nans的注釋。我們不建議在**中儲存浮點數。

字串任意長度的字串。長度不限。該值可以包含任意位元組集,包括空位元組。string型別替換了其他dbms型別的varchar,blob,clob和其他型別。

四、clickhouse集群建表語句

drop

table

ifexists cluster_rpt.dws_sales_d on cluster cluster_name ;

;create

table cluster_rpt.dws_sales_d on cluster cluster_name

( event_date date

,year_week uint32

,week_day uint32

,pay_year uint32

,month_of_year uint32

,day_of_month uint32

,day_of_year uint32

,operation_type string

,region_en string

,channel_id string

,channel_name string

,channel_details_name string

,category_id string

,category_cn string

,dept_id string

,division string

,manager string

,order_num uint32

,merchsals decimal(30

,4),gmv decimal(30

,4),cost_without_tax decimal(30

,4),origin_m decimal(30

,4),online_m decimal(30

,4),offline_m decimal(30

,4),opearation_m decimal(30

,4),upd_ts date

)engine

= replicatedmergetree(

'/clickhouse//cluster_rpt/dws_sales_d/',''

)partition

by toyyyymm(event_date)

-- 分割槽字段(按月分割槽)

order

by(event_date, year_week, week_day, operation_type, region_en, channel_id, category_id, dept_id)

--主鍵字段

settings index_granularity =

8192

;

五、增刪改查語句

5.1增

插入語句

語法:

insert

into

[db.

]table

[(c1, c2, c3)

]values

(v11, v12, v13)

,(v21, v22, v23),.

..eg:insert

into cluster_rpt.dws_sales_d (event_date ,year_week ,week_day ,

)values

('2020-02-02',20

,2),

('2020-02-01',20

,3)

增加一列字段

語法:

addcolumn[if

notexists

] name [

type

][default_expr]

[codec]

[after name_after]

eg:alter

table ads_dnp_m_test add

column browser string after sc_store_nbr

5.2刪

根據條件刪除資料:

alter

table dws_sales_d on cluster cluster_name delete

where event_date=

'202006'

根據分割槽刪除資料

alter

table dws_sales_d on cluster cluster_name drop

partition

202006

刪除一列字段

語法:

drop

column[if

exists

] column_name

eg:alter

table dws_sales_d drop

column browser

5.3改

修改字段

語法:

modify

column[if

exists

] name [

type

][default_expr]

[ttl]

eg:alter

table dws_sales_d modify

column browser array(string)

5.4查

六、登入集群

在一台伺服器上登入集群其他節點

[username@tstc500053b

~]$ clickhouse-client -m --host tstc500053c

喀秋莎資料庫 ClickHouse

換句話說,與行相關的所有值都物理地儲存在彼此旁邊。面向行的dbms的示例是mysql,postgres和ms sql server。在面向列的dbms中,資料儲存如下 這些示例僅顯示資料的排列順序。不同列的值分別儲存,同一列的資料儲存在一起。面向列的dbms的示例 vertica,paraccel ...

Clickhouse資料庫引擎

clickhouse支援的表引擎官網只給了三種 ordinary mysql lazy,clickhouse原理解析與應用實踐 一書中給了五種 ordinary dictionary memory mysql lazy 建立資料庫指定資料庫引擎語法 create database x engine ...

clickhouse 列式儲存資料庫介紹

clickhouse介紹 俄羅斯最大的搜尋公司yandex,在clickhouse的配置檔案中我們也會看到yandex的影子。相對行式資料庫,像mysql oracle sqlserver等都是行式儲存,是把同一行的資料放到相鄰同一資料塊種,而列式儲存是把同一列的資料放到相鄰同一資料塊種,這樣在進行...