通过Python脚本连接数据库

更新时间:
复制为 MD 格式

场景

当前Dataphin数据库SQL仅支持部分数据源类型,可选数据源类型详情请参见Dataphin支持的数据源中的离线研发-数据库SQL列。若需要与不支持的数据库进行交互时,应该如何处理?

解决方案及功能

可以利用Python中的各种数据库连接库(如pymssql、pyodbc、mysql-connector-python等)直接编写Python脚本来连接和操作这些数据库,以下以SQL Server数据库为例,演示如何通过pymssql连接数据库并建表。

  1. 管理中心 > 三方库管理 > Python三方包中,可以通过在线安装或上传方式来安装所需的Python三方包。image

  2. 前往研发 > 数据开发 > 计算任务中创建一个Python脚本,用于建立数据库连接并创建表,脚本内容如下。

    import pymssql
    
    # 连接到 SQL Server
    connection = pymssql.connect(server='xxx', user='xxx', password=${dp_glb_sql_server_pwd}, database='xxx')
    
    cursor = connection.cursor()
    
    # 创建表
    cursor.execute('''
        CREATE TABLE customers (
        id INT PRIMARY KEY IDENTITY(1,1),  -- Customer ID, auto-incrementing primary key
        first_name NVARCHAR(50) NOT NULL,   -- First name, cannot be null
        last_name NVARCHAR(50) NOT NULL,    -- Last name, cannot be null
        email NVARCHAR(100) NOT NULL UNIQUE,-- Email, cannot be null and must be unique
        phone NVARCHAR(15),                  -- Phone number, can be null
        created_at DATETIME DEFAULT GETDATE() -- Registration timestamp, defaults to current time
    )
    ''')
    
    # 提交更改并关闭连接
    connection.commit()
    cursor.close()
    connection.close()
  3. 打开Python任务的属性面板,选择需要用到的Python三方包。image