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 таблица. The 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 равен 400565

  • suppliernumber равным 1010

  • 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 - структура, таблица или массив набора данных, затем задайте каждое поле или переменную как:

  • Массив ячеек

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

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

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

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

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

расширить все

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

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