вставить

(Чтобы быть удаленным), Добавляют данные MATLAB к таблицам базы данных

Функция insert будет удалена в будущем релизе. Используйте функцию sqlwrite вместо этого. Для получения дополнительной информации см. Вопросы совместимости.

Синтаксис

insert(conn,tablename,colnames,data)

Описание

пример

insert(conn,tablename,colnames,data) экспортирует данные из рабочей области MATLAB® и вставляет его в существующую таблицу базы данных с помощью соединения с базой данных conn. Можно задать имя таблицы базы данных и имена столбцов, и задать данные для вставки в базу данных.

Если conn является соединением с базой данных JDBC, то функция insert имеет ту же функциональность как функция fastinsert.

Примеры

свернуть все

Создайте соединение с базой данных ODBC к базе данных Microsoft® Access™. Этот код принимает, что вы соединяетесь с источником данных под названием dbdemo с admin как имя пользователя и пароль.

conn = database('dbdemo','admin','admin');

Эта база данных содержит таблицу producttable с этими столбцами:

  • productnumber

  • stocknumber

  • suppliernumber

  • unitcost

  • productdescription

Выберите и отобразите данные из таблицы producttable. Объект cursor содержит выполняемый запрос. Импортируйте данные от выполняемого запроса с помощью функции fetch.

curs = exec(conn,'SELECT * FROM producttable');
curs = fetch(curs);
curs.Data
ans = 

    productnumber    stocknumber    suppliernumber    unitcost    productdescription
    -------------    -----------    --------------    --------    ------------------
     9               125970         1003              13          'Victorian Doll'  
     8               212569         1001               5          'Train Set'       
     7               389123         1007              16          'Engine Kit'      
     2               400314         1002               9          'Painting Set'    
     4               400339         1008              21          'Space Cruiser'   
     1               400345         1001              14          'Building Blocks' 
     5               400455         1005               3          'Tin Soldier'     
     6               400876         1004               8          'Sail Boat'       
     3               400999         1009              17          'Slinky'          
    10               888652         1006              24          'Teddy Bear'    

Сохраните имена столбцов producttable в массиве ячеек.

colnames = {'productnumber','stocknumber','suppliernumber',...
    'unitcost','productdescription'};

Храните данные для вставки в массиве ячеек data, который содержит эти значения:

  • productnumber, равный 11

  • stocknumber, равный 400 565

  • suppliernumber, равный 1 010

  • unitcost, равный 10$

  • productdescription, равный 'Rubik''s Cube'

Затем преобразуйте массив ячеек в таблицу data_table.

data = {11,400565,1010,10,'Rubik''s Cube'};
data_table = cell2table(data,'VariableNames',colnames)
data_table = 

    productnumber    stocknumber    suppliernumber    unitcost    productdescription
    -------------    -----------    --------------    --------    ------------------
    11               400565         1010              10          'Rubik's Cube'      

Вставьте табличные данные в producttable.

tablename = 'producttable';
insert(conn,tablename,colnames,data_table)

Отобразите данные из producttable снова.

curs = exec(conn,'SELECT * FROM producttable');
curs = fetch(curs);
curs.Data
ans = 

    productnumber    stocknumber    suppliernumber    unitcost    productdescription
    -------------    -----------    --------------    --------    ------------------
     9               125970         1003              13          'Victorian Doll'  
     8               212569         1001               5          'Train Set'       
     7               389123         1007              16          'Engine Kit'      
     2               400314         1002               9          'Painting Set'    
     4               400339         1008              21          'Space Cruiser'   
     1               400345         1001              14          'Building Blocks' 
     5               400455         1005               3          'Tin Soldier'     
     6               400876         1004               8          'Sail Boat'       
     3               400999         1009              17          'Slinky'          
    10               888652         1006              24          'Teddy Bear'      
    11               400565         1010              10          'Rubik's Cube'    

Новая строка появляется в producttable с данными из data_table.

После того, как вы закончили работать с объектом cursor, закрываете его.

close(curs)

Закройте соединение с базой данных.

close(conn)

Входные параметры

свернуть все

Соединение с базой данных SQLite, заданное как объект sqlite, создало использование функции sqlite.

Имя таблицы базы данных, заданное как вектор символов или скаляр строки обозначение имени таблицы в базе данных.

Пример: 'employees'

Типы данных: char | string

Имена столбцов таблицы базы данных, заданные как массив ячеек одного или нескольких векторов символов или массива строк, чтобы обозначить столбцы в существующей таблице базы данных tablename.

Пример: {'col1','col2','col3'}

Типы данных: cell | string

Вставьте данные, заданные как массив ячеек, числовая матрица, таблица, массив набора данных или структура. Эти значения зависят от типа соединения с базой данных.

Для объекта connection вы не задаете тип данных, которые вы экспортируете. Функция insert экспортирует данные в своем текущем формате MATLAB. Если data является структурой, то имена полей в структуре должны совпадать с colnames. Если data является таблицей или массивом набора данных, то имена переменных в таблице или массиве набора данных должны совпадать с colnames. Если data является структурой, таблицей или массивом набора данных, то задайте каждое поле или переменную как a:

  • CellArray

  • Двойной вектор размера m-1, где m является количеством строк, чтобы вставить

Для объекта sqlite не поддержан массив набора данных. Только double, int64 и типы данных char поддерживаются.

Альтернативная функциональность

Чтобы экспортировать данные MATLAB в базу данных, можно использовать функции fastinsert и datainsert. Для максимальной производительности используйте datainsert.

Вопросы совместимости

развернуть все

Не рекомендуемый запуск в R2018a

Представлено до R2006a

Для просмотра документации необходимо авторизоваться на сайте