sqlwrite

Вставьте данные MATLAB в таблицу базы данных

Описание

пример

sqlwrite(conn,tablename,data) вставляет данные из MATLAB® таблица в таблицу базы данных. Если таблица существует в базе данных, эта функция добавляет данные в таблице MATLAB как строки в существующей таблице базы данных. Если таблица не существует в базе данных, эта функция составляет таблицу с заданным именем таблицы и затем вставляет данные как строки в новой таблице. Этот синтаксис является эквивалентом выполнения SQL-операторов, которые содержат CREATE TABLE и INSERT INTO Синтаксисы ANSI SQL.

пример

sqlwrite(conn,tablename,data,Name,Value) дополнительные опции использования заданы одним или несколькими аргументами пары "имя-значение". Например, 'Catalog','toy_store' вставляет данные в таблицу базы данных, которая расположена в каталоге базы данных под названием toy_store.

Примеры

свернуть все

Используйте связь ODBC, чтобы добавить данные о продукте из таблицы MATLAB® в существующую таблицу в базе данных Microsoft® SQL Server®.

Создайте соединение с базой данных ODBC к базе данных Microsoft SQL Server с аутентификацией Windows®. Задайте пустое имя пользователя и пароль. База данных содержит таблицу productTable.

datasource = 'MS SQL Server Auth';
conn = database(datasource,'','');

Проверяйте соединение с базой данных. Если Message свойство пусто, затем связь успешна.

conn.Message
ans =

     []

Просмотреть существующую таблицу базы данных productTable прежде, чем добавить данные, импортируйте его содержимое в MATLAB и отобразите последние несколько строк.

tablename = 'productTable';
rows = sqlread(conn,tablename);
tail(rows,3)
ans =

  3×5 table

    productNumber    stockNumber    supplierNumber    unitCost    productDescription
    _____________    ___________    ______________    ________    __________________

         13          4.7082e+05          1012            17           'Pancakes'    
         14           5.101e+05          1011            19           'Shawl'       
         15          8.9975e+05          1011            20           'Snacks'      

Составьте таблицу MATLAB, которая содержит данные для одного продукта.

data = table(30,500000,1000,25,"Rubik's Cube", ...
    'VariableNames',{'productNumber' 'stockNumber' ...
    'supplierNumber' 'unitCost' 'productDescription'});

Добавьте данные о продукте в таблицу базы данных productTable.

sqlwrite(conn,tablename,data)

Импортируйте содержимое таблицы базы данных в MATLAB снова и отобразите последние несколько строк. Результаты содержат новую строку для вставленного продукта.

rows = sqlread(conn,tablename);
tail(rows,4)
ans =

  4×5 table

    productNumber    stockNumber    supplierNumber    unitCost    productDescription
    _____________    ___________    ______________    ________    __________________

         13          4.7082e+05          1012            17         'Pancakes'      
         14           5.101e+05          1011            19         'Shawl'         
         15          8.9975e+05          1011            20         'Snacks'        
         30               5e+05          1000            25         'Rubik's Cube'  

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

close(conn)

Используйте связь ODBC, чтобы вставить данные о продукте из MATLAB® в новую таблицу в базе данных Microsoft® SQL Server®.

Создайте соединение с базой данных ODBC к базе данных Microsoft SQL Server с аутентификацией Windows®. Задайте пустое имя пользователя и пароль.

datasource = 'MS SQL Server Auth';
conn = database(datasource,'','');

Проверяйте соединение с базой данных. Если Message свойство пусто, затем связь успешна.

conn.Message
ans =

     []

Составьте таблицу MATLAB, которая содержит данные для двух продуктов.

data = table([30;40],[500000;600000],[1000;2000],[25;30], ...
    ["Rubik's Cube";"Doll House"],'VariableNames',{'productNumber' ...
    'stockNumber' 'supplierNumber' 'unitCost' 'productDescription'});

Вставьте данные о продукте в новую таблицу базы данных toyTable.

tablename = 'toyTable';
sqlwrite(conn,tablename,data)

Импортируйте содержимое таблицы базы данных в MATLAB и отобразите строки. Результаты содержат две строки для вставленных продуктов.

rows = sqlread(conn,tablename)
rows =

  2×5 table

    productNumber    stockNumber    supplierNumber    unitCost    productDescription
    _____________    ___________    ______________    ________    __________________

         30             5e+05            1000            25         'Rubik's Cube'  
         40             6e+05            2000            30         'Doll House'    

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

close(conn)

Используйте связь ODBC, чтобы вставить данные о продукте из MATLAB® в новую таблицу в базе данных Microsoft® SQL Server®. Задайте типы данных столбцов в новой таблице базы данных.

Создайте соединение с базой данных ODBC к базе данных Microsoft SQL Server с аутентификацией Windows®. Задайте пустое имя пользователя и пароль.

datasource = 'MS SQL Server Auth';
conn = database(datasource,'','');

Проверяйте соединение с базой данных. Если Message свойство пусто, затем связь успешна.

conn.Message
ans =

     []

Составьте таблицу MATLAB, которая содержит данные для двух продуктов.

data = table([30;40],[500000;600000],[1000;2000],[25;30], ...
    ["Rubik's Cube";"Doll House"],'VariableNames',{'productNumber' ...
    'stockNumber' 'supplierNumber' 'unitCost' 'productDescription'});

Вставьте данные о продукте в новую таблицу базы данных toyTable. Используйте 'ColumnType' аргумент пары "имя-значение" и массив строк, чтобы задать типы данных всех столбцов в таблице базы данных.

tablename = 'toyTable';
coltypes = ["numeric" "numeric" "numeric" "numeric" "varchar(255)"];
sqlwrite(conn,tablename,data,'ColumnType',coltypes)

Импортируйте содержимое таблицы базы данных в MATLAB и отобразите строки. Результаты содержат две строки для вставленных продуктов.

rows = sqlread(conn,tablename)
rows =

  2×5 table

    productNumber    stockNumber    supplierNumber    unitCost    productDescription
    _____________    ___________    ______________    ________    __________________

         30             5e+05            1000            25         'Rubik's Cube'  
         40             6e+05            2000            30         'Doll House'    

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

close(conn)

Используйте связь ODBC, чтобы вставить данные о продукте из MATLAB® в новую таблицу в базе данных Microsoft® SQL Server®. Вставьте данные, хранимые как массив ячеек в новую таблицу базы данных.

Создайте соединение с базой данных ODBC к базе данных Microsoft SQL Server с аутентификацией Windows®. Задайте пустое имя пользователя и пароль.

datasource = 'MS SQL Server Auth';
conn = database(datasource,'','');

Проверяйте соединение с базой данных. Если Message свойство пусто, затем связь успешна.

conn.Message
ans =

     []

Создайте массив ячеек, который содержит данные для двух продуктов.

c = {30,500000,1000,25,"Rubik's Cube";40,600000,2000,30,"Doll House"};

Преобразуйте массив ячеек в таблицу MATLAB путем определения имен столбцов.

colnames = {'productNumber' 'stockNumber' 'supplierNumber' 'unitCost' ...
    'productDescription'};
data = cell2table(c,'VariableNames',colnames);

Вставьте данные о продукте в новую таблицу базы данных toyTable.

tablename = 'toyTable';
sqlwrite(conn,tablename,data)

Импортируйте содержимое таблицы базы данных в MATLAB и отобразите строки. Результаты содержат две строки для вставленных продуктов.

rows = sqlread(conn,tablename)
rows =

  2×5 table

    productNumber    stockNumber    supplierNumber    unitCost    productDescription
    _____________    ___________    ______________    ________    __________________

         30             5e+05            1000            25         'Rubik's Cube'  
         40             6e+05            2000            30         'Doll House'    

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

close(conn)

Используйте связь ODBC, чтобы вставить данные о продукте из MATLAB® в новую таблицу в базе данных Microsoft® SQL Server®. Вставьте данные, хранимые как структура в новую таблицу базы данных.

Создайте соединение с базой данных ODBC к базе данных Microsoft SQL Server с аутентификацией Windows®. Задайте пустое имя пользователя и пароль.

datasource = 'MS SQL Server Auth';
conn = database(datasource,'','');

Проверяйте соединение с базой данных. Если Message свойство пусто, затем связь успешна.

conn.Message
ans =

     []

Создайте массив структур, который содержит данные для двух продуктов.

s(1).productNumber = 30;
s(1).stockNumber = 500000;
s(1).supplierNumber = 1000;
s(1).unitCost = 25;
s(1).productDescription = "Rubik's Cube";

s(2).productNumber = 40;
s(2).stockNumber = 600000;
s(2).supplierNumber = 2000;
s(2).unitCost = 30;
s(2).productDescription = "Doll House";

Преобразуйте структуру в таблицу MATLAB.

data = struct2table(s);

Вставьте данные о продукте в новую таблицу базы данных toyTable.

tablename = 'toyTable';
sqlwrite(conn,tablename,data)

Импортируйте содержимое таблицы базы данных в MATLAB и отобразите строки. Результаты содержат две строки для вставленных продуктов.

rows = sqlread(conn,tablename)
rows =

  2×5 table

    productNumber    stockNumber    supplierNumber    unitCost    productDescription
    _____________    ___________    ______________    ________    __________________

         30             5e+05            1000            25         'Rubik's Cube'  
         40             6e+05            2000            30         'Doll House'    

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

close(conn)

Используйте связь ODBC, чтобы вставить данные об объеме продаж из MATLAB® в существующую таблицу в базе данных Microsoft® SQL Server®. Вставьте данные, хранимые как числовой массив в существующую таблицу базы данных.

Создайте соединение с базой данных ODBC к базе данных Microsoft SQL Server с аутентификацией Windows®. Задайте пустое имя пользователя и пароль. База данных содержит salesVolume таблица.

datasource = 'MS SQL Server Auth';
conn = database(datasource,'','');

Проверяйте соединение с базой данных. Если Message свойство пусто, затем связь успешна.

conn.Message
ans =

     []

Создайте числовой массив, который содержит ежемесячные данные об объеме продаж для определенного номера запаса. Задайте имена столбцов для существующей таблицы базы данных salesVolume.

n = [100000 1000 0 2000 500 3000 450 600 700 750 1450 0 0];
colnames = {'StockNumber' 'January' 'February' 'March' 'April' 'May' ...
    'June' 'July' 'August' 'September' 'October' 'November' 'December'};

Преобразуйте числовой массив в таблицу MATLAB.

data = array2table(n,'VariableNames',colnames);

Вставьте данные об объеме продаж в таблицу базы данных salesVolume.

tablename = 'salesVolume';
sqlwrite(conn,tablename,data)

Импортируйте содержимое таблицы базы данных в MATLAB и отобразите последние три строки. Результаты содержат новую строку для вставленных данных об объеме продаж.

rows = sqlread(conn,tablename);
tail(rows,3)
ans =

  3×13 table

    StockNumber    January    February    March    April    May     June    July    August    September    October    November    December
    ___________    _______    ________    _____    _____    ____    ____    ____    ______    _________    _______    ________    ________

     5.101e+05       235        1800      1040      900      750    700     400      350         500         100        3000       18000  
    8.9975e+05       123        1700       823      701      689    621     545      421         495         650        4200       11000  
         1e+05      1000           0      2000      500     3000    450     600      700         750        1450           0           0  

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

close(conn)

Используйте связь ODBC, чтобы вставить данные учета от MATLAB® в существующую таблицу в базе данных Microsoft® SQL Server®. Вставьте дату, сохраненную как номер даты в существующую таблицу базы данных.

Создайте соединение с базой данных ODBC к базе данных Microsoft SQL Server с аутентификацией Windows®. Задайте пустое имя пользователя и пароль. База данных содержит таблицу inventoryTable.

datasource = 'MS SQL Server Auth';
conn = database(datasource,'','');

Проверяйте соединение с базой данных. Если Message свойство пусто, затем связь успешна.

conn.Message
ans =

     []

Создайте числовой массив, который содержит данные учета для определенного продукта, включая номер даты 731011. Задайте имена столбцов для существующей таблицы базы данных inventoryTable.

n = [25 1000 50 731011];
colnames = {'productNumber' 'Quantity' 'Price' 'inventoryDate'};

Преобразуйте числовой массив в таблицу MATLAB.

data = array2table(n,'VariableNames',colnames);

Преобразуйте значение даты в данных учета к datetime массив. sqlwrite функция не принимает числа даты как допустимый тип данных для вставки.

n = data.inventoryDate;
data.inventoryDate = datetime(n,'ConvertFrom','datenum');

Импортируйте содержимое таблицы базы данных inventoryTable в MATLAB и отображение последние несколько строк.

tablename = 'inventoryTable';
rows = sqlread(conn,tablename);
tail(rows,3)
ans =

  3×4 table

    productNumber    Quantity    Price          inventoryDate      
    _____________    ________    _____    _________________________

         11             567       11      '2012-09-11 00:30:24.000'
         12            1278       22      '2010-10-29 18:17:47.000'
         13            1700       17      '2009-05-24 10:58:59.000'

Вставьте данные учета в таблицу базы данных inventoryTable. Задайте схему, где таблица хранится при помощи 'Schema' аргумент пары "имя-значение".

sqlwrite(conn,tablename,data,'Schema','dbo')

Импортируйте содержимое таблицы базы данных в MATLAB снова и отобразите последние несколько строк. Результаты содержат новую строку для вставленных данных учета.

rows = sqlread(conn,tablename);
tail(rows,4)
ans =

  4×4 table

    productNumber    Quantity    Price          inventoryDate      
    _____________    ________    _____    _________________________

         11             567       11      '2012-09-11 00:30:24.000'
         12            1278       22      '2010-10-29 18:17:47.000'
         13            1700       17      '2009-05-24 10:58:59.000'
         25            1000       50      '2001-06-09 00:00:00.000'

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

close(conn)

Используйте связь ODBC, чтобы вставить данные об объеме продаж из MATLAB® в существующую таблицу в базе данных Microsoft® SQL Server®. Вставьте NULL числа в существующую таблицу базы данных.

Создайте соединение с базой данных ODBC к базе данных Microsoft SQL Server с аутентификацией Windows®. Задайте пустое имя пользователя и пароль. База данных содержит таблицу salesVolume.

datasource = 'MS SQL Server Auth';
conn = database(datasource,'','');

Проверяйте соединение с базой данных. Если Message свойство пусто, затем связь успешна.

conn.Message
ans =

     []

Создайте числовой массив, который содержит ежемесячные данные об объеме продаж для определенного номера запаса и включает NULL номер. Значение Inf указывает на NULL значение. Задайте имена столбцов для существующей таблицы базы данных salesVolume.

n = [100000 Inf 0 2000 500 3000 450 600 700 750 1450 0 0];
colnames = {'StockNumber' 'January' 'February' 'March' 'April' 'May' ...
    'June' 'July' 'August' 'September' 'October' 'November' 'December'};

Преобразуйте числовой массив в таблицу MATLAB.

data = array2table(n,'VariableNames',colnames);

Преобразуйте Inf значение в January переменная к NaN. sqlwrite функция не принимает Inf значения как допустимые недостающие данные для вставки.

data.January = NaN;

Импортируйте содержимое таблицы базы данных salesVolume в MATLAB и отображение последние несколько строк.

tablename = 'salesVolume';
rows = sqlread(conn,tablename);
tail(rows,3)
ans =

  3×13 table

    StockNumber    January    February    March    April    May     June    July    August    September    October    November    December
    ___________    _______    ________    _____    _____    ____    ____    ____    ______    _________    _______    ________    ________

    4.7082e+05      3100        9400      1540     1500     1350    1190    900      867         923        1400        3000       35000  
     5.101e+05       235        1800      1040      900      750     700    400      350         500         100        3000       18000  
    8.9975e+05       123        1700       823      701      689     621    545      421         495         650        4200       11000  

Вставьте данные об объеме продаж в таблицу базы данных salesVolume.

sqlwrite(conn,tablename,data)

Импортируйте содержимое таблицы базы данных в MATLAB снова и отобразите последние несколько строк. Результаты содержат новую строку для вставленных данных об объеме продаж.

rows = sqlread(conn,tablename);
tail(rows,4)
ans =

  4×13 table

    StockNumber    January    February    March    April    May     June    July    August    September    October    November    December
    ___________    _______    ________    _____    _____    ____    ____    ____    ______    _________    _______    ________    ________

    4.7082e+05      3100        9400      1540     1500     1350    1190    900      867         923        1400        3000       35000  
     5.101e+05       235        1800      1040      900      750     700    400      350         500         100        3000       18000  
    8.9975e+05       123        1700       823      701      689     621    545      421         495         650        4200       11000  
         1e+05       NaN           0      2000      500     3000     450    600      700         750        1450           0           0  

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

close(conn)

Используйте связь ODBC, чтобы вставить данные о продукте из MATLAB® в существующую таблицу в базе данных Microsoft® SQL Server®. Вставьте NULL представьте в виде строки в существующую таблицу базы данных.

Создайте соединение с базой данных ODBC к базе данных Microsoft SQL Server с аутентификацией Windows®. Задайте пустое имя пользователя и пароль. База данных содержит таблицу productTable.

datasource = 'MS SQL Server Auth';
conn = database(datasource,'','');

Проверяйте соединение с базой данных. Если Message свойство пусто, затем связь успешна.

conn.Message
ans =

     []

Составьте таблицу MATLAB, которая содержит данные для одного продукта и включает NULL значение в productDescription переменная.

data = table([30],[500000],[1000],[25], ...
    ["null"],'VariableNames',{'productNumber' ...
    'stockNumber' 'supplierNumber' 'unitCost' 'productDescription'});

Преобразуйте null значение в productDescription переменная к "". sqlwrite функция не принимает null значения как допустимые недостающие данные для вставки.

data.productDescription(1) = "";

Импортируйте содержимое существующей таблицы базы данных productTable в MATLAB и отображение последние несколько строк.

tablename = 'productTable';
rows = sqlread(conn,tablename);
tail(rows,3)
ans =

  3×5 table

    productNumber    stockNumber    supplierNumber    unitCost    productDescription
    _____________    ___________    ______________    ________    __________________

         13          4.7082e+05          1012            17           'Pancakes'    
         14           5.101e+05          1011            19           'Shawl'       
         15          8.9975e+05          1011            20           'Snacks'      

Вставьте данные о продукте в таблицу базы данных productTable.

sqlwrite(conn,tablename,data)

Импортируйте содержимое таблицы базы данных в MATLAB снова и отобразите последние несколько строк. Результаты содержат новую строку для вставленного продукта.

rows = sqlread(conn,tablename);
tail(rows,4)
ans =

  4×5 table

    productNumber    stockNumber    supplierNumber    unitCost    productDescription
    _____________    ___________    ______________    ________    __________________

         13          4.7082e+05          1012            17           'Pancakes'    
         14           5.101e+05          1011            19           'Shawl'       
         15          8.9975e+05          1011            20           'Snacks'      
         30               5e+05          1000            25           ''            

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

close(conn)

Используйте связь ODBC, чтобы вставить два столбца данных учета от MATLAB® в существующую таблицу с несколькими столбцами в базе данных Microsoft® SQL Server®. После вставки данных таблица базы данных содержит данные в первых двух столбцах. Другие столбцы имеют пустые записи для вставленных строк данных.

Создайте связь ODBC с базой данных SQL Server с аутентификацией Windows®. Задайте пустое имя пользователя и пароль. База данных содержит таблицу inventoryTable с данными учета.

datasource = "MS SQL Server Auth";
conn = database(datasource,"","");

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

data = table([14;15],[350;400],'VariableNames',["productNumber" "Quantity"]);

Вставьте данные учета в таблицу базы данных inventoryTable. Эта таблица содержит четыре столбца: номер продуктов, количество, цена и дата материально-технических ресурсов. В этом случае номер продуктов и количество для каждого продукта, чтобы вставить известны, но цена и дата материально-технических ресурсов неизвестны.

tablename = "inventoryTable";
sqlwrite(conn,tablename,data)

Импортируйте содержимое таблицы базы данных в MATLAB и отобразите последние несколько строк. Результаты содержат две новых строки для вставленных данных учета. sqlwrite функция вставляет пустые записи для последних двух столбцов.

rows = sqlread(conn,tablename);
tail(rows,3)
ans=3×4 table
    productNumber    Quantity    Price         inventoryDate     
    _____________    ________    _____    _______________________

         13            1700      14.5     {'2009-05-24 10:58:59'}
         14             350       NaN     {0×0 char             }
         15             400       NaN     {0×0 char             }

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

close(conn)

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

свернуть все

Соединение с базой данных в виде ODBC connection возразите или connection JDBC объект создал использование database функция.

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

Пример: 'employees'

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

Данные, чтобы вставить в таблицу базы данных в виде таблицы.

Допустимые типы данных в таблице MATLAB:

  • Числовой массив

  • Массив ячеек числовых массивов

  • Массив ячеек из символьных векторов

  • Массив строк

  • Массив datetime

  • Массив длительности

  • Логический массив

  • Массив ячеек логических массивов

Числовой массив может содержать эти типы данных:

  • int8

  • uint8

  • int16

  • uint16

  • int32

  • uint32

  • int64

  • uint64

  • single

  • double

Для данных о дате и времени поддерживаемые форматы:

  • Дата — 'yyyy-MM-dd'

  • Время — 'hh:mm:ss'

  • Метка времени — 'yyyy-MM-dd HH:mm:ss'

Если данные о дате и времени заданы в недопустимом формате, то sqlwrite функционируйте автоматически преобразует данные в поддерживаемый формат.

Если массив ячеек из символьных векторов или массив строк заданы в недопустимом формате, то sqlwrite функция позволяет драйверу базы данных проверять формат. Если формат неожидан, то драйвер базы данных выдает ошибку.

Можно вставить данные в существующую таблицу базы данных или новую таблицу базы данных. Типы данных переменных в data варьируйтесь в зависимости от того, существует ли таблица базы данных. Для допустимых типов данных смотрите Типы данных для Существующей Таблицы и Типы данных для Новой Таблицы.

Примечание

sqlwrite функционируйте поддерживает только table тип данных для data входной параметр. Чтобы вставить данные, хранимые в структуру, массив ячеек или числовая матрица, преобразует данные в table при помощи struct2table, cell2table, и array2table функции, соответственно.

sqlwrite функция не поддерживает настройки базы данных NullNumberWrite и NullStringWrite. Чтобы вставить недостающие данные, смотрите Принятые Недостающие Данные.

Пример: table([10;20],{'M';'F'})

Типы данных для существующей таблицы

Имена переменных таблицы MATLAB должны совпадать с именами столбцов в таблице базы данных. sqlwrite функция является чувствительной к регистру.

Когда вы вставляете данные в таблицу базы данных, используйте типы данных, которые, как показывают в следующей таблице, гарантировали, что данные имеют правильный тип данных. Эта таблица совпадает с допустимыми типами данных табличной переменной MATLAB к типам данных столбца базы данных. Например, когда вы вставляете данные в столбец базы данных, который имеет BOOLEAN тип данных, гарантируйте, что соответствующая переменная в таблице MATLAB является логическим массивом или массивом ячеек логических массивов.

Тип данных табличной переменной MATLABТип данных существующего столбца базы данных
Числовой массив или массив ячеек числовых массивовNUMERIC
  • Массив ячеек из символьных векторов

  • Массив строк

  • Массив datetime

  • Массив длительности

DATEВремя, или DATETIME
Логический массив или массив ячеек логических массивовBIT или BOOLEAN
Массив ячеек из символьных векторов или массив строк
  • CHAR

  • VARCHAR

  • TEXT

  • NTEXT

  • Другой тип данных text

Типы данных для новой таблицы

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

Допустимые типы данных в таблице MATLAB:

  • Числовой массив

  • Массив ячеек из символьных векторов

  • Массив строк

  • Массив datetime

  • Массив длительности

  • Логический массив

sqlwrite функция игнорирует любые недопустимые типы переменных и вставляет только действительные переменные из MATLAB как столбцы в новой таблице базы данных.

sqlwrite функция преобразует тип данных переменной в тип данных по умолчанию столбца в таблице базы данных. Следующая таблица совпадает с допустимыми типами данных табличной переменной MATLAB к типам данных по умолчанию столбца базы данных.

Тип данных табличной переменной MATLABТип данных по умолчанию столбца базы данных
Числовой массив или массив ячеек числовых массивовNUMERIC

Массив datetime

TIMESTAMP

Массив длительности

TIME
Логический массивNUMERIC
Массив строк

VARCHAR

Примечание

Размер этого столбца равняется сумме максимальной длины строки в массиве строк и 100.

Массив ячеек из символьных векторов

VARCHAR

Примечание

Размер этого столбца равняется сумме максимальной длины вектора символов в массиве ячеек и 100.

Чтобы задать специфичные для базы данных типы данных столбца вместо значений по умолчанию, используйте 'ColumnType' аргумент пары "имя-значение". Например, можно задать 'ColumnType',"bigint" создать BIGINT столбец в новой таблице базы данных.

Кроме того, использование 'ColumnType' аргумент пары "имя-значение", можно задать другие типы данных, которые не находятся в списке по умолчанию. Например, чтобы вставить изображения, задайте 'ColumnType',"image".

Принятые Недостающие данные

Принятые недостающие данные для вставки данных в базу данных зависят от типа данных табличной переменной MATLAB и типа данных столбца в базе данных. Следующая таблица совпадает с типом данных табличной переменной MATLAB к типу данных столбца базы данных и задает принятые недостающие данные, чтобы использовать в каждом случае.

Тип данных табличной переменной MATLABТип данных столбца базы данныхПринятые Недостающие данные
datetime массивDateВремя, или TimestampNaT
duration массивTimeNaN
double или single массив
  • Numeric

  • Double

  • Float

  • Decimal

  • Real

NaN
массив ячеек double или single массивы
  • Numeric

  • Double

  • Float

  • Decimal

  • Real

NaN, [], или ''
массив ячеек из символьных векторовDateВремя, или Timestamp'NaT' или ''
массив ячеек из символьных векторовChar, Varchar, или другой тип данных text''
массив строкDateВремя, или Timestamp""NAT, или missing
массив строкChar, Varchar, или другой тип данных textmissing

Типы данных: table

Аргументы name-value

Задайте дополнительные разделенные запятой пары Name,Value аргументы. Name имя аргумента и Value соответствующее значение. Name должен появиться в кавычках. Вы можете задать несколько аргументов в виде пар имен и значений в любом порядке, например: Name1, Value1, ..., NameN, ValueN.

Пример: sqlwrite(conn,"tablename",data,'ColumnType',["numeric" "timestamp" "image"]) вставляет данные в новую таблицу базы данных под названием tablename путем определения типов данных для всех столбцов в новой таблице базы данных.

Имя каталога базы данных в виде разделенной запятой пары, состоящей из 'Catalog' и вектор символов или строковый скаляр. Каталог служит контейнером для схем в базе данных и содержит связанную информацию о метаданных. База данных может иметь многочисленные каталоги.

Пример: 'Catalog','toy_store'

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

Имя схемы базы данных в виде разделенной запятой пары, состоящей из 'Schema' и вектор символов или строковый скаляр. Схема задает таблицы базы данных, представления, отношения среди таблиц и другие элементы. Каталог базы данных может иметь многочисленные схемы.

Пример: 'Schema','dbo'

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

Типы столбца базы данных в виде вектора символов, строкового скаляра, массива ячеек из символьных векторов или массива строк. Используйте этот аргумент пары "имя-значение", чтобы задать пользовательские типы данных для столбцов в таблице базы данных. Задайте тип столбца для каждого столбца в таблице.

Пример: 'ColumnType',["numeric" "varchar(400)"]

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

Введенный в R2018a