insert

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

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

Описание

пример

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 объект, массив набора данных не поддерживается. Только doubleint64, и char типы данных поддерживаются.

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

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

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

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

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

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