Удаление данных из баз данных

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

Задайте переменный 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)

См. также

| |

Похожие темы

Внешние веб-сайты