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