docs: add stmt2_native.py example

This commit is contained in:
Alex Duan 2024-12-30 16:11:11 +08:00
parent f0627fd7e8
commit 2c35ec8ae9
4 changed files with 81 additions and 2 deletions

View File

@ -98,7 +98,7 @@ This is a [more detailed parameter binding example](https://github.com/taosdata/
<TabItem label="Python" value="python"> <TabItem label="Python" value="python">
```python ```python
{{#include docs/examples/python/stmt_native.py}} {{#include docs/examples/python/stmt2_native.py}}
``` ```
</TabItem> </TabItem>

View File

@ -0,0 +1,78 @@
import taos
from datetime import datetime
import random
conn = None
stmt2 = None
host="localhost"
port=6030
try:
# 1 connect
conn = taos.connect(
user="root",
password="taosdata",
host=host,
port=port,
)
# 2 create db and table
conn.execute("CREATE DATABASE IF NOT EXISTS power")
conn.execute("USE power")
conn.execute(
"CREATE TABLE IF NOT EXISTS `meters` (`ts` TIMESTAMP, `current` FLOAT, `voltage` INT, `phase` FLOAT) TAGS (`groupid` INT, `location` BINARY(16))"
)
# 3 prepare
sql = "INSERT INTO ? USING meters (groupid, location) TAGS(?,?) VALUES (?,?,?,?)"
stmt2 = conn.statement2(sql)
# table name array
tbnames = ["d0","d1","d2"]
# tag data array
tags = [
[1, "BeiJing"],
[2, None],
[3, "ShangHai"]
]
# column data array
datas = [
# d0 tabled
[
[1601481600000,1601481600001,1601481600002,1601481600003,1601481600004,1601481600005],
[10.1, 10.2, 10.3, 10.4, 10.5 ,None ],
[98, None, 60, 100, 99 ,128 ],
[0, 1, 0, 0, 1 ,0 ]
],
# d1 tabled
[
[1601481700000,1601481700001,1601481700002,1601481700003,1601481700004,1601481700005],
[10.1, 10.2, 10.3, 10.4, 10.5 ,11.2 ],
[98, 80, 60, 100, 99 ,128 ],
[0, 1, 0, 0, 1 ,0 ]
],
# d2 tabled
[
[1601481800000,1601481800001,1601481800002,1601481800003,1601481800004,1601481800005],
[10.1, 10.2, 10.3, 10.4, 10.5 ,13.4 ],
[98, 80, 60, 100, 99 ,128 ],
[0, 1, 0, None, 1 ,0 ]
],
]
# 4 bind param
stmt2.bind_param(tbnames, tags, datas)
# 5 execute
stmt2.execute()
# show
print(f"Successfully inserted with stmt2 to power.meters.")
except Exception as err:
print(f"Failed to insert to table meters using stmt2, ErrMessage:{err}")
raise err
finally:
if stmt2:
stmt2.close()
if conn:
conn.close()

View File

@ -93,7 +93,7 @@ import TabItem from "@theme/TabItem";
<TabItem label="Python" value="python"> <TabItem label="Python" value="python">
```python ```python
{{#include docs/examples/python/stmt_native.py}} {{#include docs/examples/python/stmt2_native.py}}
``` ```
</TabItem> </TabItem>
<TabItem label="Go" value="go"> <TabItem label="Go" value="go">

View File

@ -196,3 +196,4 @@ check_transactions || exit 1
reset_cache || exit 1 reset_cache || exit 1
python3 tmq_websocket_example.py python3 tmq_websocket_example.py
python3 stmt2_native.py