Hướng dẫn sql query in config file python - truy vấn sql trong tệp cấu hình python

Tôi đang sử dụng một truy vấn SQL lớn trong Python và cần chạy truy vấn đó bằng các ngày khác nhau [ngày là tên trường được sử dụng trong truy vấn]. Tôi cũng cần thay đổi tên bảng [giả sử rằng có nhiều bảng khác nhau mà tôi cần cập nhật ngày hoặc chèn các bản ghi mới].
I also need to change the table name [assume that there are various tables where I need to update the date or insert new records].

Bây giờ tôi đang tìm thấy nó một chút cồng kềnh và muốn chuyển tệp truy vấn sang cấu hình [hoặc .ini]. Tôi cũng muốn làm điều này để người dùng có thể dễ dàng thay đổi truy vấn mà không cần mở mã.

Tôi có thể đọc SQL nhưng Python không thể thay đổi các biến bên trong mã.

Ví dụ: trong tệp .ini SQL được lưu trữ dưới dạng [SQL]:

p_insert_query = insert into + tbl_p + 

Tôi đã đọc cái này bên trong Python và có TBL_P đã được xác định là 'my_tbl' trong Python nhưng chuỗi truy vấn không cập nhật tên bảng.

Có cách nào khác để này không?

סטנל גר TOUR

2.87923 Huy hiệu vàng46 Huy hiệu bạc65 Huy hiệu Đồng23 gold badges46 silver badges65 bronze badges

Đã hỏi ngày 25 tháng 11 năm 2019 lúc 15:24Nov 25, 2019 at 15:24

1

Bạn có thể lưu trữ tệp .sql hoặc .txt chứa "truy vấn được tham số hóa".

Nếu bạn sử dụng thư viện PsyCopg, bạn có thể làm theo cách đó [như đã nêu trong tài liệu: //initd.org/psycopg/docs/sql.html]:

from psycopg2 import sql

my_query_text = "insert into {} values [%s, %s]" # just load that str from .sql or .txt file instead
tbl_p = "my_table_name"

cur.execute[sql.SQL[my_query_text].format[sql.Identifier[tbl_p]], [10, 20]] # [10,20] are sample values

Đã trả lời ngày 25 tháng 11 năm 2019 lúc 15:34Nov 25, 2019 at 15:34

FlofloFlo

9261 Huy hiệu vàng8 Huy hiệu bạc19 Huy hiệu đồng1 gold badge8 silver badges19 bronze badges

Cập nhật cuối cùng: 2018-01-13 Nguồn: InternetSource: Internet

Tác giả: Người dùng

Sử dụng tệp cấu hình để lưu dữ liệu kết nối cố định, thuận tiện hơn để thay đổi.

1. Tạo một tệp cấu hình mới: SQLConfig.config, lấy cơ sở dữ liệu làm ví dụ.

Nội dung như sau, và tất nhiên bạn có thể thêm nhiều

[Database1]
database=db_test
host=test.sqlserver.rds.alincs.com,3433
user=qhlt_just
pwd=zHi4M63wIddlSDK2nY
[Database2]
database=db_test
host=test.sqlserver.rds.alincs.com,3433
user=qhlt_just
pwd=zHi4M63wIddlSDK2nY
。。。。。

2. Đọc tệp cấu hình. Lớp mà người dùng Cấu hình để đọc tệp.

Mã như sau

# coding = utf-8
import ConfigParser
def getSQLCONFIG [filename]:
     cf = ConfigParser.ConfigParser []
     cf.read [filename] #Read configuration file
     # Read corresponding file parameters
     _database = cf.get ["Database1", "database"]
     _host = cf.get ["Database1", "host"]
     _user = cf.get ["Database1", "user"]
     _pwd = cf.get ["Database1", "pwd"]
     print "% s,% s,% s,% s"% [_database, _host, _user, _pwd]
     return _database, _host, _user, _pwd #return required parameters

3. Kết nối với cơ sở dữ liệu và cài đặt thư viện PYODBC. Kết nối với cơ sở dữ liệu SQL Server

# coding = utf-8
import pyodbc
import ReadConfig
#Call to read the configuration file
c = ReadConfig.getSQLCONFIG [r‘C: \ Users \ Administrator \ PycharmProjects \ untitled1 \ com \ SQLqueray \ SQlconfig.config ‘]

conn_info = 'DRIVER = {SQL Server}; DATABASE =% s; SERVER =% s; UID =% s; PWD =% s'% [c [0], c [1], c [2], c [3 ]]
mssql_conn = pyodbc.connect [conn_info]
mssql_cur = mssql_conn.cursor []
#Query Name and User ID
result = mssql_cur.execute ["select Fullname, id from god where id = 19688"]
#Circular print query results
for row in result:
     print row [0], row [1] 

Python đọc tệp cấu hình và kết nối với cơ sở dữ liệu SQL Serveriguration file and connects to the database SQL Server

Alibaba Cloud Sản phẩm nóng

Dịch vụ tính toán đàn hồi [ECS] Máy chủ chuyên dụng [DDH] APSARADB RDS cho MySQL [RDS] Apsaradb cho Polardb [Polardb] AnalyticDB cho PostgreSQL [ADB cho PG]
AnalyTicDB cho MySQL [ADB cho MySQL] Dịch vụ truyền dữ liệu [DTS] Bộ cân bằng tải máy chủ [SLB] Máy gia tốc toàn cầu [GA] Mạng doanh nghiệp đám mây [CEN]
Dịch vụ lưu trữ đối tượng [OSS] Mạng phân phối nội dung [CDN] Dịch vụ tin nhắn ngắn [SMS] Dịch vụ container cho Kubernetes [ACK] Data Lake Analytics [DLA]

Apsaradb cho Redis [Redis]

Apsaradb cho MongoDB [MongoDB] Cổng Nat Cổng VPN Tường lửa đám mây
Chống ddos Tường lửa ứng dụng web [WAF] Dịch vụ đăng nhập DataWorks MaxCompute
MapReduce đàn hồi [EMR] Elaticsearch


Làm cách nào để viết một truy vấn SQL trong Python?

Truy vấn SQL trong Python..
Bước 1: Nhập SQLalchemy và Gandas. Hãy bắt đầu với việc nhập thư viện SQLalchemy. ....
Bước 2: Tạo động cơ SQL. Chúng tôi tạo một công cụ SQL bằng lệnh tạo ra một lớp mới '. ....
Bước 3 - Chạy truy vấn bằng cách sử dụng các câu lệnh SQL. ....
Bước 4 - Viết cho DB. ....
Bước 5 - Tạo một bảng trong db ..

Làm cách nào để tạo một truy vấn SQL động trong Python?

Việc gán truy vấn SQL cho biến python ở đây {0} và {1} là các máy nội suy chuỗi cho phép chúng tôi truyền các giá trị động trong thời gian chạy. Các giá trị động có thể được thay thế trực tiếp thành {0} và {1} bằng tên của chúng, chẳng hạn như {cột_name} và {value_holder}. Nhưng nó thường có lợi để tránh gọi theo cách tiếp cận tên.Dynamic values can be substituted directly to {0} and {1} by their names, such as {column_name} and {value_holder}. But it is often beneficial to avoid call by name approach.

Làm thế nào để bạn tự động hóa các truy vấn SQL trong Python?

Bước 1: Thiết lập kết nối máy chủ SQL Python.....
Bước 2: Chạy truy vấn SQL.....
Bước 3: Trích xuất kết quả truy vấn vào Python.....
Bước 4: Áp dụng sửa đổi trong SQL Server.....
Bước 5: Tự động hóa hoạt động của máy chủ SQL Python ..

Làm thế nào đọc tệp cấu hình trong Python?

Định dạng tệp cấu hình INI.Mô -đun ConfigParser có thể được sử dụng để đọc các tệp cấu hình ...
Các tệp cấu hình rất phù hợp để chỉ định dữ liệu cấu hình cho chương trình của bạn.....
Mỗi phần sau đó có một giá trị cụ thể cho các biến khác nhau trong phần đó.....
Đầu tiên, cú pháp cho phép nhiều hơn và cẩu thả.

Bài Viết Liên Quan

Chủ Đề