# pip3 install clickhouse-driver
from clickhouse_driver import Client
import random
import string
import datetime
date = datetime.datetime.today()
s_datetime = str(date.strftime("%Y-%m-%d"))
def s_gen_username():
return random.choice('abcdefghijklmnopqrstuvwxyz')
def s_gen_pwd():
return ''.join(random.sample('zyxwvutsrqponmlkjihgfedcba0123456789',6))
def s_gen_gender():
i = random.randint(1,2)
if i == 1:
return 'man'
else:
return 'woman'
client = Client(host='127.0.0.1',port='9000',user='root' ,password='dLZWIZxt')
# 创建数据库
sql = 'CREATE DATABASE testdb'
# 创建表
sql = '''
CREATE TABLE if not exists testdb.members(
`uid` Int64,
`user_name` String,
`pwd` String,
`reg_time` DateTime,
`gender` Enum8('man' = 1, 'woman' = 2))
ENGINE = MergeTree() PARTITION BY toYYYYMMDD(reg_time) ORDER BY uid SETTINGS index_granularity = 8192;
'''
# client.execute(sql)
# 查看表
sql = '''
SHOW TABLES FROM testdb;
'''
# client.execute(sql)
# 插入数据
for i in range(100001,10000000):
y = i+1
sql = '''
insert into testdb.members values ({}, '{}', '{}', {}, '{}');
'''.format(y,s_gen_username(),s_gen_pwd(),s_datetime,s_gen_gender())
ans = client.execute(sql)
#查询数据
sql = '''
SELECT * FROM testdb.members ORDER BY uid DESC LIMIT 10
'''
res = client.execute(sql)
print(res)
demo.py
# pip3 install clickhouse-driver
from clickhouse_driver import Client
import random
import string
import datetime
date = datetime.datetime.today()
s_datetime = str(date.strftime("%Y-%m-%d"))
client = Client(host='127.0.0.1',port='9000',user='default' ,password='')
#查询数据
sql = '''
SELECT * FROM testdb.members ORDER BY uid DESC LIMIT 10
'''
result = client.execute(sql)
print(result)
# 修改数据
sql = '''
alter table testdb.members update user_name = 'jim' where uid in (
'1001');
'''
# result2 = client.execute(sql)
# print(result2)
sql = '''
SELECT * FROM testdb.members where uid in (
'1001');
'''
# result3 = client.execute(sql)
# print(result3)
query.py
