exponenta event banner

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

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

См. также

| |

Связанные темы

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