Google Spanner 全球分布式数据库
FreeGuideOnline
14阅读
2026-07-12
sql CREATE TABLE Users ( UserId STRING(36) NOT NULL, Name STRING(100), Age INT64, CreatedAt TIMESTAMP NOT NULL OPTIONS (allow_commit_timestamp=true), ) PRIMARY KEY(UserId);
5. 创建表后即可在控制台的“查询”标签中执行 SQL 语句。
### 使用 gcloud 命令行
```bash
# 创建实例
gcloud spanner instances create my-instance \
--config=regional-us-central1 \
--description="My first instance" \
--nodes=1
# 创建数据库与模式
gcloud spanner databases create my-database \
--instance=my-instance \
--ddl='CREATE TABLE Users (UserId STRING(36) NOT NULL, Name STRING(100), Age INT64, CreatedAt TIMESTAMP NOT NULL OPTIONS (allow_commit_timestamp=true)) PRIMARY KEY(UserId)'
使用客户端库(Python 示例)
from google.cloud import spanner
# 初始化客户端
spanner_client = spanner.Client()
instance = spanner_client.instance("my-instance")
database = instance.database("my-database")
# 插入数据
def insert_user(transaction):
transaction.insert(
table="Users",
columns=["UserId", "Name", "Age", "CreatedAt"],
values=[
("user-001", "Alice", 30, spanner.COMMIT_TIMESTAMP),
]
)
database.run_in_transaction(insert_user)
# 查询数据
with database.snapshot() as snapshot:
results = snapshot.execute_sql("SELECT UserId, Name FROM Users WHERE Age > 25")
for row in results:
print(row)