Python için Azure SQL Veritabanı kitaplıkları

Genel Bakış

pyodbc ODBC veritabanı sürücüsüyle Python'dan Azure SQL Veritabanında depolanan verilerle çalışma. Azure SQL Veritabanına bağlanma ve transact-SQL deyimlerini kullanarak verileri sorgulama ve pyodbc ile örneği kullanmaya başlama hızlı başlangıcımızı görüntüleyin.

ODBC sürücüsünü ve pyodbc'yi yükleme

pip install pyodbc

Python ve veritabanı iletişim kitaplıklarını yükleme hakkında daha fazla ayrıntı .

SQL sorgusu bağlama ve yürütme

SQL veritabanına bağlanma

import pyodbc

server = 'your_server.database.windows.net'
database = 'your_database'
username = 'your_username'
password = 'your_password'
driver= '{ODBC Driver 13 for SQL Server}'

cnxn = pyodbc.connect('DRIVER='+driver+';PORT=1433;SERVER='+server+';PORT=1443;DATABASE='+database+';UID='+username+';PWD='+ password)
cursor = cnxn.cursor()

SQL sorgusu yürütme

cursor.execute("SELECT TOP 20 pc.Name as CategoryName, p.name as ProductName FROM [SalesLT].[ProductCategory] pc JOIN [SalesLT].[Product] p ON pc.productcategoryid = p.productcategoryid")
row = cursor.fetchone()
while row:
    print (str(row[0]) + " " + str(row[1]))
    row = cursor.fetchone()

ORM'lere bağlanma

pyodbc , SQLAlchemy ve Django gibi diğer ORM'lerle çalışır.

Yönetim API'si

Yönetim API'siyle aboneliğinizde Azure SQL Veritabanı kaynakları oluşturun ve yönetin.

pip install azure-common
pip install azure-mgmt-sql
pip install azure-mgmt-resource

Örnek

Bir SQL Veritabanı kaynağı oluşturun ve güvenlik duvarı kuralı kullanarak bir IP adresi aralığına erişimi kısıtlayın.

from azure.common.client_factory import get_client_from_cli_profile
from azure.mgmt.resource import ResourceManagementClient
from azure.mgmt.sql import SqlManagementClient

RESOURCE_GROUP = 'YOUR_RESOURCE_GROUP_NAME'
LOCATION = 'eastus'  # example Azure availability zone, should match resource group
SQL_SERVER = 'yourvirtualsqlserver'
SQL_DB = 'YOUR_SQLDB_NAME'
USERNAME = 'YOUR_USERNAME'
PASSWORD = 'YOUR_PASSWORD'

# create resource client
resource_client = get_client_from_cli_profile(ResourceManagementClient)
# create resource group
resource_client.resource_groups.create_or_update(RESOURCE_GROUP, {'location': LOCATION})

sql_client = get_client_from_cli_profile(SqlManagementClient)

# Create a SQL server
server = sql_client.servers.create_or_update(
    RESOURCE_GROUP,
    SQL_SERVER,
    {
        'location': LOCATION,
        'version': '12.0', # Required for create
        'administrator_login': USERNAME, # Required for create
        'administrator_login_password': PASSWORD # Required for create
    }
)

# Create a SQL database in the Basic tier
database = sql_client.databases.create_or_update(
    RESOURCE_GROUP,
    SQL_SERVER,
    SQL_DB,
    {
        'location': LOCATION,
        'collation': 'SQL_Latin1_General_CP1_CI_AS',
        'create_mode': 'default',
        'requested_service_objective_name': 'Basic'
    }
)

# Open access to this server for IPs
firewall_rule = sql_client.firewall_rules.create_or_update(
    RESOURCE_GROUP,
    SQL_DB,
    "firewall_rule_name_123.123.123.123",
    "123.123.123.123", # Start ip range
    "167.220.0.235"  # End ip range
)