Загрузка данных


тригер на добавление в др таблицу
CREATE TRIGGER after_tarif_update
AFTER UPDATE ON tarif
FOR EACH ROW
BEGIN
    IF OLD.name <> NEW.name THEN
        INSERT INTO log_data (table_name, field_name, old_value, new_value)
        VALUES ('tarif', 'name', OLD.name, NEW.name);
    END IF;
END$$

тригер на измение
CREATE TRIGGER updatetraffic
BEFORE UPDATE ON dogovor
FOR EACH ROW
BEGIN
    IF NEW.status = 1 AND OLD.status != 1 THEN
        SET NEW.kolvo_trafika = 2;
    END IF;
END //

создание резервной копии бд
mysqldump -u root -p имя_базы > backup.sql

добавление индекса
CREATE INDEX count_index ON dogovor (kolvo_trafika);
CREATE UNIQUE INDEX unix_indx ON client (mail);

добавление суперпользователя
CREATE USER 'username'@'localhost' IDENTIFIED BY 'password';
GRANT ALL PRIVILEGES ON *.* TO 'username'@'localhost' WITH GRANT OPTION;

в рамках транзакции 
START TRANSACTION;
CREATE ROLE det_role;
SAVEPOINT after_role_created;
CREATE USER manager IDENTIFIED BY 'root';
GRANT det_role TO manager;
SET DEFAULT ROLE det_role TO manager;
COMMIT;
SELECT * FROM mysql.role_edges;

код
import sys
from PyQt6.QtWidgets import *
import MySQLdb as mdb
from untitled import *

conn = mdb.connect('127.0.0.1', 'root', 'root', 'trafik')
cursor = conn.cursor()
class Main(QMainWindow, Ui_MainWindow):
    def __init__(self):
        super().__init__()
        self.setupUi(self)
        self.load_data()

    def load_data(self):
        cursor.execute("SELECT * FROM provaider")
        zapici = cursor.fetchall()
        for zapic in zapici:
            name_postavshik, kolvo_tarifov, kolvo_dogovorov, sum_kolvo = zapic
            self.listWidget.addItem(f'Имя: {name_postavshik}\n'
                                    f'Кол-во тарифов: {kolvo_tarifov}\n'
                                    f'Кол-во договоров: {kolvo_dogovorov}\n'
                                    f'Сумма: {sum_kolvo}\n')

if __name__ == '__main__':
    app = QApplication(sys.argv)
    window = Main()
    window.show()
    sys.exit(app.exec())