В этом примере показано, как подключиться к базе данных, вставить строку в существующую таблицу базы данных и откатить вставку с помощью собственного интерфейса 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)
close | mysql | rollback | sqlread | sqlwrite