Откат данных в базе данных с использованием собственного интерфейса MySQL

В этом примере показано, как соединиться с базой данных, вставить строку в существующую таблицу базы данных и откатить вставку с помощью собственного интерфейса MySQL ®. В примере используется база данных MySQL версии 5.7.22 с драйвером MySQL Connector/C + + версии 8.0.15. База данных содержит таблицу productTable.

Создание подключения к базе данных

Создайте подключение базы данных собственного интерфейса MySQL к базе данных MySQL с помощью имени источника данных, имени пользователя и пароля.

datasource = "MySQLDataSource";
username = "root";
password = "matlab";
conn = mysql(datasource,username,password);

Добавление данных к существующей таблице базы данных

Установите AutoCommit свойство connection объект к off. Любые обновления, вносимые после выключения этого флага, не фиксируются в базе данных автоматически.

conn.AutoCommit = "off";

Просмотр существующей таблицы базы данных productTable перед добавлением данных импортируйте его содержимое в MATLAB ® и отобразите последние несколько строк.

tablename = "productTable";
rows = sqlread(conn,tablename);
tail(rows,3)
ans=3×5 table
    productNumber    stockNumber    supplierNumber    unitCost    productDescription
    _____________    ___________    ______________    ________    __________________

          6          4.0088e+05          1004             8          "Sail Boat"    
          3            4.01e+05          1009            17          "Slinky"       
         10          8.8865e+05          1006            24          "Teddy Bear"   

Создайте таблицу MATLAB, которая содержит данные для одного продукта.

data = table(30,500000,1000,25,"Rubik's Cube", ...
    'VariableNames',["productnumber" "stocknumber" ...
    "suppliernumber" "unitcost" "productdescription"]);

Добавьте данные о продукте в таблицу базы данных productTable.

sqlwrite(conn,tablename,data)

Снова импортируйте содержимое таблицы базы данных в MATLAB и отобразите последние несколько строк. Результаты содержат новую строку для вставленного продукта.

rows = sqlread(conn,tablename);
tail(rows,4)
ans=4×5 table
    productNumber    stockNumber    supplierNumber    unitCost    productDescription
    _____________    ___________    ______________    ________    __________________

          6          4.0088e+05          1004             8         "Sail Boat"     
          3            4.01e+05          1009            17         "Slinky"        
         10          8.8865e+05          1006            24         "Teddy Bear"    
         30               5e+05          1000            25         "Rubik's Cube"  

Откат данных

Откат вставленной строки.

rollback(conn)

Снова импортируйте содержимое таблицы базы данных в MATLAB и отобразите последние несколько строк. Результаты больше не содержат вставленную строку.

rows = sqlread(conn,tablename);
tail(rows,3)
ans=3×5 table
    productNumber    stockNumber    supplierNumber    unitCost    productDescription
    _____________    ___________    ______________    ________    __________________

          6          4.0088e+05          1004             8          "Sail Boat"    
          3            4.01e+05          1009            17          "Slinky"       
         10          8.8865e+05          1006            24          "Teddy Bear"   

Закрытие подключения к базе данных

close(conn)

См. также

| | | |

Похожие темы