45 lines
		
	
	
		
			1.7 KiB
		
	
	
	
		
			Python
		
	
	
	
			
		
		
	
	
			45 lines
		
	
	
		
			1.7 KiB
		
	
	
	
		
			Python
		
	
	
	
import taos
 | 
						|
 | 
						|
# ANCHOR: insert
 | 
						|
conn = taos.connect()
 | 
						|
# Execute a sql, ignore the result set, just get affected rows. It's useful for DDL and DML statement.
 | 
						|
conn.execute("DROP DATABASE IF EXISTS test")
 | 
						|
conn.execute("CREATE DATABASE test keep 36500")
 | 
						|
# change database. same as execute "USE db"
 | 
						|
conn.select_db("test")
 | 
						|
conn.execute("CREATE STABLE weather(ts TIMESTAMP, temperature FLOAT) TAGS (location INT)")
 | 
						|
affected_row = conn.execute("INSERT INTO t1 USING weather TAGS(1) VALUES (now, 23.5) (now+1m, 23.5) (now+2m, 24.4)")
 | 
						|
print("affected_row", affected_row)
 | 
						|
# output:
 | 
						|
# affected_row 3
 | 
						|
# ANCHOR_END: insert
 | 
						|
 | 
						|
# ANCHOR: query
 | 
						|
# Execute a sql and get its result set. It's useful for SELECT statement
 | 
						|
result = conn.query("SELECT * from weather")
 | 
						|
 | 
						|
# Get fields from result
 | 
						|
fields = result.fields
 | 
						|
for field in fields:
 | 
						|
    print(field)  # {name: ts, type: 9, bytes: 8}
 | 
						|
 | 
						|
# output:
 | 
						|
# {name: ts, type: 9, bytes: 8}
 | 
						|
# {name: temperature, type: 6, bytes: 4}
 | 
						|
# {name: location, type: 4, bytes: 4}
 | 
						|
 | 
						|
# Get data from result as list of tuple
 | 
						|
data = result.fetch_all()
 | 
						|
print(data)
 | 
						|
# output:
 | 
						|
# [(datetime.datetime(2022, 4, 27, 9, 4, 25, 367000), 23.5, 1), (datetime.datetime(2022, 4, 27, 9, 5, 25, 367000), 23.5, 1), (datetime.datetime(2022, 4, 27, 9, 6, 25, 367000), 24.399999618530273, 1)]
 | 
						|
 | 
						|
# Or get data from result as a list of dict
 | 
						|
# map_data = result.fetch_all_into_dict()
 | 
						|
# print(map_data)
 | 
						|
# output:
 | 
						|
# [{'ts': datetime.datetime(2022, 4, 27, 9, 1, 15, 343000), 'temperature': 23.5, 'location': 1}, {'ts': datetime.datetime(2022, 4, 27, 9, 2, 15, 343000), 'temperature': 23.5, 'location': 1}, {'ts': datetime.datetime(2022, 4, 27, 9, 3, 15, 343000), 'temperature': 24.399999618530273, 'location': 1}]
 | 
						|
# ANCHOR_END: query
 | 
						|
 | 
						|
 | 
						|
conn.close() |