pyqt5实现连接kingbase数据库创建一个表并可以设置插入数据的大小和插入数据的时间
要实现连接Kingbase数据库并创建一个表,你需要安装Kingbase的Python驱动程序。然后,你可以使用PyQt5创建一个界面,以便用户可以设置插入数据的大小和插入数据的时间。
以下是一个简单的示例代码,可以帮助你开始:
import sys
from PyQt5.QtWidgets import QApplication, QMainWindow, QLabel, QVBoxLayout, QWidget, QFormLayout, QLineEdit, QPushButton
import psycopg2
class MainWindow(QMainWindow):
def __init__(self):
super().__init__()
self.setWindowTitle("Kingbase数据库操作")
self.setGeometry(100, 100, 300, 200)
main_widget = QWidget()
main_layout = QVBoxLayout()
main_widget.setLayout(main_layout)
self.table_name_input = QLineEdit()
self.data_size_input = QLineEdit()
self.insert_time_input = QLineEdit()
self.connect_button = QPushButton("连接数据库")
self.create_table_button = QPushButton("创建表")
self.insert_data_button = QPushButton("插入数据")
form_layout = QFormLayout()
form_layout.addRow("表名:", self.table_name_input)
form_layout.addRow("数据大小:", self.data_size_input)
form_layout.addRow("插入时间:", self.insert_time_input)
main_layout.addLayout(form_layout)
main_layout.addWidget(self.connect_button)
main_layout.addWidget(self.create_table_button)
main_layout.addWidget(self.insert_data_button)
self.connect_button.clicked.connect(self.connect_database)
self.create_table_button.clicked.connect(self.create_table)
self.insert_data_button.clicked.connect(self.insert_data)
self.setCentralWidget(main_widget)
def connect_database(self):
try:
# 连接Kingbase数据库
self.conn = psycopg2.connect(
host="数据库主机地址",
port="数据库端口",
database="数据库名",
user="数据库用户名",
password="数据库密码"
)
print("连接成功!")
except Exception as e:
print("连接失败:", e)
def create_table(self):
table_name = self.table_name_input.text()
try:
# 创建表
cur = self.conn.cursor()
cur.execute(f"CREATE TABLE {table_name} (id SERIAL PRIMARY KEY, data VARCHAR)")
self.conn.commit()
print("表创建成功!")
except Exception as e:
print("创建表失败:", e)
def insert_data(self):
table_name = self.table_name_input.text()
data_size = int(self.data_size_input.text())
insert_time = int(self.insert_time_input.text())
try:
cur = self.conn.cursor()
# 插入数据
for i in range(data_size):
cur.execute(f"INSERT INTO {table_name} (data) VALUES ('data{i}')")
if i % insert_time == 0:
self.conn.commit()
print(f"已插入{i}条数据")
self.conn.commit()
print("数据插入完成!")
except Exception as e:
print("插入数据失败:", e)
cur.close()
if __name__ == "__main__":
app = QApplication(sys.argv)
window = MainWindow()
window.show()
sys.exit(app.exec_())
请注意,你需要将代码中的数据库主机地址、端口、数据库名、用户名和密码替换为你自己的数据库连接信息。此外,你还需要确保已经安装了相应的驱动程序
原文地址: https://www.cveoy.top/t/topic/h2xc 著作权归作者所有。请勿转载和采集!