тригер на добавление в др таблицу
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())