В этом примере показано, как удалить данные из базы данных с помощью MATLAB®.
Создайте оператора SQL с синтаксисом SQL удаления. Для получения правильного синтаксиса SQL обратитесь к документации базы данных. Выполните операцию удаления в базе данных с помощью execute
функция с помощью SQL- оператора. Этот пример демонстрирует удаление записей данных в Microsoft® Access™ базы данных.
Создайте соединение с базой данных conn
в базу данных Microsoft Access с использованием драйвера ODBC и имени источника данных dbdemo
. Эта база данных содержит таблицу inventorytable
с помощью столбца productnumber
.
conn = database('dbdemo','','');
Запрос SQL- sqlquery
выбирает все строки данных в таблице inventorytable
. Выполните этот запрос SQL с помощью conn
. Импортируйте данные из выполненного запроса с помощью fetch
и отобразите последние несколько строк.
sqlquery = 'SELECT * FROM inventorytable';
data = fetch(conn,sqlquery);
tail(data)
ans = 8×4 table productnumber quantity price inventorydate _____________ ________ _____ _____________________ 6 4540 8 '2013-12-25 19:45:00' 7 6034 16 '2014-08-06 08:38:00' 8 8350 5 '2011-06-18 11:45:35' 9 2339 13 '2011-02-09 12:50:59' 10 723 24 '2012-03-14 13:13:09' 11 567 0 '2012-09-11 00:30:24' 12 1278 0 '2010-10-29 18:17:47' 13 1700 14.5 '2009-05-24 10:58:59'
Удалите данные для номера продукта 13
из таблицы inventorytable
. Укажите номер продукта используя WHERE
предложение в операторе SQL sqlquery
.
sqlquery = 'DELETE * FROM inventorytable WHERE productnumber = 13';
execute(conn,sqlquery)
Отобразите данные в таблице inventorytable
после удаления. Запись с номером продукта 13
отсутствует.
sqlquery = 'SELECT * FROM inventorytable';
data = fetch(conn,sqlquery);
tail(data)
ans = 8×4 table productnumber quantity price inventorydate _____________ ________ _____ _____________________ 5 9000 3 '2012-09-14 15:00:25' 6 4540 8 '2013-12-25 19:45:00' 7 6034 16 '2014-08-06 08:38:00' 8 8350 5 '2011-06-18 11:45:35' 9 2339 13 '2011-02-09 12:50:59' 10 723 24 '2012-03-14 13:13:09' 11 567 0 '2012-09-11 00:30:24' 12 1278 0 '2010-10-29 18:17:47'
Задайте переменный MATLAB productID
путем установки номера продукта 12
.
productID = 12;
Удалите данные с помощью переменного MATLAB productID
. Создайте оператора SQL sqlquery
который объединяет SQL для операции удаления с переменным MATLAB. Поскольку переменная является числовой, а оператор SQL является вектором символов, преобразуйте ее в вектор символов. Используйте num2str
функция для преобразования. Конкатенацией удалить SQL- оператора и числовое преобразование с помощью квадратных скобок.
sqlquery = ['DELETE * FROM inventorytable WHERE ' ... 'productnumber = ' num2str(productID)]; execute(conn,sqlquery)
Отобразите данные в таблице inventorytable
после удаления. Запись с номером продукта 12
отсутствует.
sqlquery = 'SELECT * FROM inventorytable';
data = fetch(conn,sqlquery);
tail(data)
ans = 8×4 table productnumber quantity price inventorydate _____________ ________ _____ _____________________ 4 2580 21 '2013-06-08 14:24:33' 5 9000 3 '2012-09-14 15:00:25' 6 4540 8 '2013-12-25 19:45:00' 7 6034 16 '2014-08-06 08:38:00' 8 8350 5 '2011-06-18 11:45:35' 9 2339 13 '2011-02-09 12:50:59' 10 723 24 '2012-03-14 13:13:09' 11 567 0 '2012-09-11 00:30:24'
close(conn)