使用例子MySQL操作:
mysql> USE test;Database changedmysql> CREATE TABLE `mysql_table` (->`int_id` INT NOT NULL AUTO_INCREMENT,->`float` FLOAT NOT NULL,->PRIMARY KEY (`int_id`));Query OK, 0 rows affected (0,09 sec)mysql> insert into mysql_table (`int_id`, `float`) VALUES (1,2);Query OK, 1 row affected (0,00 sec)mysql> select * from mysql_table;+------+-----+| int_id | value |+------+-----+|1 |2 |+------+-----+1 row in set (0,00 sec)
ClickHouse中的数据库,与MySQL服务器交换数据:
CREATE DATABASE mysql_db ENGINE = MySQL('localhost:3306', 'test', 'my_user', 'user_password')SHOW DATABASES┌─name─────┐│ default││ mysql_db ││ system│└──────────┘SHOW TABLES FROM mysql_db┌─name─────────┐│mysql_table │└──────────────┘SELECT * FROM mysql_db.mysql_table┌─int_id─┬─value─┐│1 │2 │└────────┴───────┘INSERT INTO mysql_db.mysql_table VALUES (3,4)SELECT * FROM mysql_db.mysql_table┌─int_id─┬─value─┐│1 │2 ││3 │4 │└────────┴───────┘
PostgreSQL允许连接到远程PostgreSQL服务 。支持读写操作(SELECT和INSERT查询),以在ClickHouse和PostgreSQL之间交换数据 。
在SHOW TABLES和DESCRIBE TABLE查询的帮助下,从远程PostgreSQL实时访问表列表和表结构 。
支持表结构修改(ALTER TABLE ... ADD|DROP COLUMN) 。如果use_table_cache参数(参见下面的引擎参数)设置为1,则会缓存表结构,不会检查是否被修改,但可以用DETACH和ATTACH查询进行更新 。
使用总体上与mysql引擎类似
创建数据库CREATE DATABASE test_databaseENGINE = PostgreSQL('host:port', 'database', 'user', 'password'[, `use_table_cache`]);
引擎参数
- host:port — PostgreSQL服务地址
- database — 远程数据库名次
- user — PostgreSQL用户名称
- password — PostgreSQL用户密码
- schema - PostgreSQL 模式
- use_table_cache — 定义数据库表结构是否已缓存或不进行 。可选的 。默认值: 0
SQLite将整个数据库(定义、表、索引和数据本身)存储为主机上的单个跨平台文件 。在写入过程中,SQLite会锁定整个数据库文件,因此写入操作是顺序执行的 。读操作可以是多任务的 。SQLite不需要服务管理(如启动脚本)或基于GRANT和密码的访问控制 。访问控制是通过授予数据库文件本身的文件系统权限来处理的 。
创建数据库
CREATE DATABASE sqlite_databaseENGINE = SQLite('db_path')
引擎参数- db_path — SQLite 数据库文件的路径
它是为存储许多小的Log表而优化的,对于这些表,访问之间有很长的时间间隔 。
创建数据库
CREATE DATABASE testlazy ENGINE = Lazy(expiration_time_in_seconds);
Replicated该引擎基于Atomic引擎 。它支持通过将DDL日志写入ZooKeeper并在给定数据库的所有副本上执行的元数据复制 。一个ClickHouse服务器可以同时运行和更新多个复制的数据库 。但是同一个复制的数据库不能有多个副本 。
这是一个实验性的引擎,不应该在生产中使用 。
创建数据库
CREATE DATABASE testdb ENGINE = Replicated('zoo_path', 'shard_name', 'replica_name') [SETTINGS ...]
经验总结扩展阅读
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 使用EF Core更新与修改生产数据库
- excel是否可以作为数据库
- 利用Pandas处理数据 缺失值的处理 数据库的使用 python-数据描述与分析2
- 有趣实验 .NET下数据库的负载均衡(续)
- Seal-Report: 开放式数据库报表工具
- 引擎之旅 Chapter.4 日志系统
- 稿定设计怎么用
- 企业运维 | MySQL关系型数据库在Docker与Kubernetes容器环境中快速搭建部署主从实践
- C#.NET ORM 如何访问 Access 数据库 [FreeSql]
- 有趣实验 .NET下数据库的负载均衡