В этом примере показано, как удалить данные из базы данных с помощью 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)