exponenta event banner

усилие

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

Описание

пример

results = fetch(conn,sqlquery) возвращает все строки данных после выполнения инструкции SQL sqlquery для connection объект. fetch импортирует данные партиями.

пример

results = fetch(conn,sqlquery,opts) настраивает параметры для импорта данных из выполненного SQL-запроса с помощью SQLImportOptions объект.

пример

results = fetch(___,Name,Value) задает дополнительные параметры, использующие один или несколько аргументов пары имя-значение и любую из предыдущих комбинаций входных аргументов. Например, 'MaxRows',5 импортирует пять строк данных.

пример

[results,metadata] = fetch(___) также возвращает metadata , которая содержит метаданные об импортированных данных.

пример

results = fetch(conn,pstmt) возвращает все строки данных после выполнения SQL SELECT подготовленное заявление pstmt для connection объект.

results = fetch(conn,pstmt,Name,Value) указывает дополнительные параметры, использующие один или несколько аргументов пары имя-значение. Например, 'DataReturnFormat','structure' импортирует данные в виде структуры.

Примеры

свернуть все

Импорт всех данных продукта из таблицы базы данных Microsoft ® SQL Server ® в MATLAB ® с помощью connection объект. Затем определите самую высокую удельную стоимость среди продуктов в таблице.

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

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

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

conn.Message
ans =

     []

Импорт всех данных из productTable с помощью connection объект и SQL-запрос, а также отображение импортированных данных.

sqlquery = 'SELECT * FROM productTable';
results = fetch(conn,sqlquery)
results =

  10×5 table

    productNumber    stockNumber    supplierNumber    unitCost    productDescription 
    _____________    ___________    ______________    ________    ___________________

          9          1.2597e+05          1003            13       {'Victorian Doll' }
          8          2.1257e+05          1001             5       {'Train Set'      }
          7          3.8912e+05          1007            16       {'Engine Kit'     }
          2          4.0031e+05          1002             9       {'Painting Set'   }
          4          4.0034e+05          1008            21       {'Space Cruiser'  }
          1          4.0035e+05          1001            14       {'Building Blocks'}
          5          4.0046e+05          1005             3       {'Tin Soldier'    }
          6          4.0088e+05          1004             8       {'Sail Boat'      }
          3            4.01e+05          1009            17       {'Slinky'         }
         10          8.8865e+05          1006            24       {'Teddy Bear'     }

Определите наибольшую удельную стоимость для всех продуктов в таблице.

max(results.unitCost)
ans =

    24

Закройте подключение к базе данных.

close(conn)

Настройка параметров импорта при импорте данных из результатов SQL-запроса в базе данных. Управление параметрами импорта путем создания SQLImportOptions объект. Затем настройте параметры импорта для различных столбцов в SQL-запросе. Импорт данных с помощью fetch функция.

В этом примере используется employees_database.mat файл, содержащий столбцы first_name, hire_date, и DEPARTMENT_NAME. В примере также используется база данных Microsoft ® SQL Server ® Version 11.00.2100 и 11.00.5058 драйверов Microsoft SQL Server.

Создайте подключение базы данных к базе данных Microsoft SQL Server с проверкой подлинности Windows ®. Укажите пустое имя пользователя и пароль.

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

Загрузите информацию о сотрудниках в рабочую область MATLAB ®.

employeedata = load('employees_database.mat');

Создать employees и departments таблицы базы данных с использованием информации о сотрудниках.

emps = employeedata.employees;
depts = employeedata.departments;

sqlwrite(conn,'employees',emps)
sqlwrite(conn,'departments',depts)

Создание SQLImportOptions с использованием SQL-запроса и databaseImportOptions функция. Этот запрос извлекает всю информацию для сотрудников, которые являются менеджерами по продажам или программистами.

sqlquery = ['SELECT * from employees e join departments d ' ...
    'on (e.department_id = d.department_id) where job_id ' ...
    'in (''IT_PROG'',''SA_MAN'')'];
opts = databaseImportOptions(conn,sqlquery)
opts = 
  SQLImportOptions with properties:

           ExcludeDuplicates: false
          VariableNamingRule: 'modify'

               VariableNames: {'employee_id', 'first_name', 'last_name' ... and 13 more}
               VariableTypes: {'double', 'char', 'char' ... and 13 more}
       SelectedVariableNames: {'employee_id', 'first_name', 'last_name' ... and 13 more}
                  FillValues: { NaN, '', ''  ... and 13 more }

             VariableOptions: Show all 16 VariableOptions

Отображение текущих параметров импорта для переменных, выбранных в SelectedVariableNames имущества SQLImportOptions объект.

vars = opts.SelectedVariableNames;
varOpts = getoptions(opts,vars)
varOpts = 
    1x16 SQLVariableImportOptions array with properties:

   Variable Options:
                         (1) |          (2) |         (3) |     (4) |            (5) |         (6) |      (7) |      (8) |              (9) |         (10) |            (11) |        (12) |            (13) |              (14) |         (15) |          (16)
         Name: 'employee_id' | 'first_name' | 'last_name' | 'email' | 'phone_number' | 'hire_date' | 'job_id' | 'salary' | 'commission_pct' | 'manager_id' | 'department_id' | 'temporary' | 'DEPARTMENT_ID' | 'DEPARTMENT_NAME' | 'MANAGER_ID' | 'LOCATION_ID'
         Type:      'double' |       'char' |      'char' |  'char' |         'char' |      'char' |   'char' | 'double' |         'double' |     'double' |        'double' |    'double' |        'double' |            'char' |     'double' |      'double'
  MissingRule:        'fill' |       'fill' |      'fill' |  'fill' |         'fill' |      'fill' |   'fill' |   'fill' |           'fill' |       'fill' |          'fill' |      'fill' |          'fill' |            'fill' |       'fill' |        'fill'
    FillValue:           NaN |           '' |          '' |      '' |             '' |          '' |       '' |      NaN |              NaN |          NaN |             NaN |         NaN |             NaN |                '' |          NaN |           NaN

	To access sub-properties of each variable, use getoptions

Изменение типов данных для hire_date, DEPARTMENT_NAME, и first_name переменных с использованием setoptions функция. Затем отобразите обновленные параметры импорта. Поскольку hire_date сохраняет данные даты и времени, измените тип данных этой переменной на datetime. Поскольку DEPARTMENT_NAME обозначает конечный набор повторяющихся значений, измените тип данных этой переменной на categorical. Также измените имя этой переменной на нижний регистр. Поскольку first_name сохраняет текстовые данные, изменяет тип данных этой переменной на string.

opts = setoptions(opts,'hire_date','Type','datetime');
opts = setoptions(opts,'DEPARTMENT_NAME','Name','department_name', ...
    'Type','categorical');
opts = setoptions(opts,'first_name','Type','string');

vars = opts.SelectedVariableNames;
varOpts = getoptions(opts,vars)
varOpts = 
    1x16 SQLVariableImportOptions array with properties:

   Variable Options:
                         (1) |          (2) |         (3) |     (4) |            (5) |         (6) |      (7) |      (8) |              (9) |         (10) |            (11) |        (12) |            (13) |              (14) |         (15) |          (16)
         Name: 'employee_id' | 'first_name' | 'last_name' | 'email' | 'phone_number' | 'hire_date' | 'job_id' | 'salary' | 'commission_pct' | 'manager_id' | 'department_id' | 'temporary' | 'DEPARTMENT_ID' | 'department_name' | 'MANAGER_ID' | 'LOCATION_ID'
         Type:      'double' |     'string' |      'char' |  'char' |         'char' |  'datetime' |   'char' | 'double' |         'double' |     'double' |        'double' |    'double' |        'double' |     'categorical' |     'double' |      'double'
  MissingRule:        'fill' |       'fill' |      'fill' |  'fill' |         'fill' |      'fill' |   'fill' |   'fill' |           'fill' |       'fill' |          'fill' |      'fill' |          'fill' |            'fill' |       'fill' |        'fill'
    FillValue:           NaN |    <missing> |          '' |      '' |             '' |         NaT |       '' |      NaN |              NaN |          NaN |             NaN |         NaN |             NaN |       <undefined> |          NaN |           NaN

	To access sub-properties of each variable, use getoptions

Выберите три измененные переменные с помощью SelectVariableNames собственность.

opts.SelectedVariableNames = {'first_name','hire_date','department_name'};

Импорт и просмотр результатов SQL-запроса с помощью fetch функция.

employees_data = fetch(conn,sqlquery,opts)
employees_data=10×3 table
    first_name      hire_date     department_name
    ___________    ___________    _______________

    "Alexander"    03-Jan-2006         IT        
    "Bruce"        21-May-2007         IT        
    "David"        25-Jun-2005         IT        
    "Valli"        05-Feb-2006         IT        
    "Diana"        07-Feb-2007         IT        
    "John"         01-Oct-2004         Sales     
    "Karen"        05-Jan-2005         Sales     
    "Alberto"      10-Mar-2005         Sales     
    "Gerald"       15-Oct-2007         Sales     
    "Eleni"        29-Jan-2008         Sales     

Удалить employees и departments таблицы базы данных с использованием execute функция.

execute(conn,'DROP TABLE employees')
execute(conn,'DROP TABLE departments')

Закройте подключение к базе данных.

close(conn)

Укажите формат возврата данных и количество импортированных строк для результатов SQL-запроса. Импорт данных с помощью SQL-запроса и fetch функция.

В этом примере используется база данных Microsoft ® SQL Server ® Version 11.00.2100 и 11.00.5058 драйверов Microsoft SQL Server.

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

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

Загрузите информацию о пациенте в рабочую область MATLAB ®.

patients = readtable('patients.xls');

Создать patients таблица базы данных с использованием информации о пациенте.

tablename = 'patients';
sqlwrite(conn,tablename,patients)

Выберите все данные из patients и импортировать пять строк из таблицы в виде структуры. Используйте 'DataReturnFormat' аргумент пары «имя-значение» для указания возврата данных результата в виде структуры. Также используйте 'MaxRows' аргумент пары имя-значение для указания пяти строк. Отображение импортированных данных.

sqlquery = ['SELECT * FROM ' tablename];
results = fetch(conn,sqlquery,'DataReturnFormat','structure', ...
    'MaxRows',5)
results = struct with fields:
                    LastName: {5×1 cell}
                      Gender: {5×1 cell}
                         Age: [5×1 double]
                    Location: {5×1 cell}
                      Height: [5×1 double]
                      Weight: [5×1 double]
                      Smoker: [5×1 double]
                    Systolic: [5×1 double]
                   Diastolic: [5×1 double]
    SelfAssessedHealthStatus: {5×1 cell}

Удалить patients таблицы базы данных с использованием execute функция.

sqlquery = ['DROP TABLE ' tablename];
execute(conn,sqlquery)

Закройте подключение к базе данных.

close(conn)

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

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

datasource = "MSSQLServerAuth";
conn = database(datasource,"","");

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

conn.Message
ans =

     []

Добавление столбца в таблицу базы данных productTable. Имя столбца содержит символ, отличный от ASCII.

sqlquery = "ALTER TABLE productTable ADD tamaño varchar(30)"; 
execute(conn,sqlquery)

Импорт данных из таблицы базы данных productTable. fetch функция возвращает таблицу MATLAB, содержащую данные продукта. Просмотрите первые три строки данных в таблице.

sqlquery = "SELECT * FROM productTable";
data = fetch(conn,sqlquery);
head(data,3)
ans=3×6 table
    productNumber    stockNumber    supplierNumber    unitCost    productDescription      tama_o  
    _____________    ___________    ______________    ________    __________________    __________

          9          1.2597e+05          1003            13       {'Victorian Doll'}    {0×0 char}
          8          2.1257e+05          1001             5       {'Train Set'     }    {0×0 char}
          7          3.8912e+05          1007            16       {'Engine Kit'    }    {0×0 char}

fetch функция преобразует имя новой переменной в символы ASCII.

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

data = fetch(conn,sqlquery, ...
    'VariableNamingRule',"preserve");
head(data,3)
ans=3×6 table
    productNumber    stockNumber    supplierNumber    unitCost    productDescription      tamaño  
    _____________    ___________    ______________    ________    __________________    __________

          9          1.2597e+05          1003            13       {'Victorian Doll'}    {0×0 char}
          8          2.1257e+05          1001             5       {'Train Set'     }    {0×0 char}
          7          3.8912e+05          1007            16       {'Engine Kit'    }    {0×0 char}

fetch функция сохраняет символ, отличный от ASCII, в имени переменной.

Закройте подключение к базе данных.

close(conn)

Получение метаданных при импорте данных из SQL-запроса. Импорт данных с помощью fetch и исследовать информацию метаданных с помощью точечной нотации.

В этом примере используется outages.csv файл, содержащий данные об отключении. В примере также используется база данных Microsoft ® SQL Server ® Version 11.00.2100 и 11.00.5058 драйверов Microsoft SQL Server.

Создайте подключение базы данных к базе данных Microsoft SQL Server с проверкой подлинности Windows ®. Укажите пустое имя пользователя и пароль.

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

Загрузите информацию об отключении в рабочую область MATLAB ®.

outages = readtable("outages.csv");

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

tablename = "outages";
sqlwrite(conn,tablename,outages)

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

sqlquery = "SELECT * FROM outages";
[results,metadata] = fetch(conn,sqlquery);

Просмотр имен переменных в импортированных данных.

metadata.Properties.RowNames
ans = 6×1 cell
    {'Region'         }
    {'OutageTime'     }
    {'Loss'           }
    {'Customers'      }
    {'RestorationTime'}
    {'Cause'          }

Просмотр типа данных каждой переменной в импортированных данных.

metadata.VariableType
ans = 6×1 cell
    {'char'  }
    {'char'  }
    {'double'}
    {'double'}
    {'char'  }
    {'char'  }

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

metadata.FillValue
ans=6×1 cell array
    {0×0 char}
    {0×0 char}
    {[   NaN]}
    {[   NaN]}
    {0×0 char}
    {0×0 char}

Просмотрите индексы отсутствующих данных для каждой переменной в импортированных данных.

metadata.MissingRows
ans=6×1 cell array
    {  0×1 double}
    {  0×1 double}
    {604×1 double}
    {328×1 double}
    { 29×1 double}
    {  0×1 double}

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

index = metadata.MissingRows{5,1};
nullrestoration = results(index,:);
head(nullrestoration)
ans=8×6 table
       Region                OutageTime              Loss     Customers     RestorationTime           Cause        
    _____________    ___________________________    ______    __________    _______________    ____________________

    {'SouthEast'}    {'2003-01-23 00:49:00.000'}    530.14    2.1204e+05      {0×0 char}       {'winter storm'    }
    {'NorthEast'}    {'2004-09-18 05:54:00.000'}         0             0      {0×0 char}       {'equipment fault' }
    {'MidWest'  }    {'2002-04-20 16:46:00.000'}     23141           NaN      {0×0 char}       {'unknown'         }
    {'NorthEast'}    {'2004-09-16 19:42:00.000'}      4718           NaN      {0×0 char}       {'unknown'         }
    {'SouthEast'}    {'2005-09-14 15:45:00.000'}    1839.2    3.4144e+05      {0×0 char}       {'severe storm'    }
    {'SouthEast'}    {'2004-08-17 17:34:00.000'}     624.1    1.7879e+05      {0×0 char}       {'severe storm'    }
    {'SouthEast'}    {'2006-01-28 23:13:00.000'}    498.78           NaN      {0×0 char}       {'energy emergency'}
    {'West'     }    {'2003-06-20 18:22:00.000'}         0             0      {0×0 char}       {'energy emergency'}

Удалить outages таблицы базы данных с использованием execute функция.

sqlstr = "DROP TABLE ";
sqlquery = strcat(sqlstr,tablename);
execute(conn,sqlquery)

Закройте подключение к базе данных.

close(conn)

Создайте подготовленную инструкцию SQL для импорта данных из базы данных Microsoft ® SQL Server ® с использованием подключения к базе данных JDBC. Используйте SELECT Инструкция SQL для запроса SQL. Импортируйте данные из базы данных и просмотрите результаты.

Создайте подключение базы данных JDBC к базе данных SQL Server с проверкой подлинности Windows ®. Укажите пустое имя пользователя и пароль .

datasource = 'MSSQLServerJDBCAuth';
conn = database(datasource,'','');

Создайте инструкцию SQL, подготовленную для импорта данных из базы данных SQL Server с использованием подключения базы данных JDBC. Вопросительные знаки в SELECT Инструкция SQL указывает, что она является подготовленной инструкцией SQL. Этот оператор выбирает все данные из таблицы базы данных inventoryTable для запаса с датой инвентаризации в указанном диапазоне дат.

query = strcat("SELECT * FROM inventoryTable ", ...
    "WHERE inventoryDate > ? AND inventoryDate < ?");
pstmt = databasePreparedStatement(conn,query)
pstmt = 
  SQLPreparedStatement with properties:

           SQLQuery: "SELECT * FROM inventoryTable where inventoryDate > ? AND inventoryDate < ?"
     ParameterCount: 2
     ParameterTypes: ["string"    "string"]
    ParameterValues: {[]  []}

pstmt является SQLPreparedStatement объект со следующими свойствами:

  • SQLQuery - Запрос подготовленной инструкции SQL

  • ParameterCount - Счетчик параметров

  • ParameterTypes - Типы параметров

  • ParameterValues - Значения параметров

Привязка значений параметров в подготовленной инструкции SQL. Выберите оба параметра в подготовленной инструкции SQL, используя их числовые индексы. Укажите значения для привязки в качестве диапазона дат запасов между 1 января 2014 года и 31 декабря 2014 года. Сопоставление формата дат в базе данных. bindParamValues функция обновляет значения в ParameterValues имущества pstmt объект.

selection = [1 2];
values = {"2014-01-01 00:00:00.000", ...
    "2014-12-31 00:00:00.000"};
pstmt = bindParamValues(pstmt,selection,values)
pstmt = 
  SQLPreparedStatement with properties:

           SQLQuery: "SELECT * FROM inventoryTable where inventoryDate > ? AND inventoryDate < ?"
     ParameterCount: 2
     ParameterTypes: ["string"    "string"]
    ParameterValues: {["2014-01-01 00:00:00.000"]  ["2014-12-31 00:00:00.000"]}

Импорт данных из базы данных с помощью fetch функции и связанных значений параметров. Результаты содержат четыре строки данных, которые представляют все запасы с датой инвентаризации в период с 1 января 2014 года по 31 декабря 2014 года.

results = fetch(conn,pstmt)
results=4×4 table
    productNumber    Quantity    Price         inventoryDate     
    _____________    ________    _____    _______________________

          1            1700      14.5     {'2014-09-23 09:38:34'}
          2            1200         9     {'2014-07-08 22:50:45'}
          3             356        17     {'2014-05-14 07:14:28'}
          7            6034        16     {'2014-08-06 08:38:00'}

Закройте подготовленную инструкцию SQL и подключение к базе данных.

close(pstmt)
close(conn)

Входные аргументы

свернуть все

Подключение к базе данных, указанное как ODBC connection объект или JDBC connection объект, созданный с помощью database функция.

Инструкция SQL, заданная как вектор символов или скаляр строки. Инструкция SQL может быть любой допустимой инструкцией SQL, включая вложенные запросы. Инструкция SQL может быть хранимой процедурой, например {call sp_name (parm1,parm2,...)}. Для хранимых процедур, возвращающих один или несколько результирующих наборов, используйте fetch функция. Для процедур, возвращающих выходные аргументы, используйте runstoredprocedure.

Сведения о языке запросов SQL см. в руководстве по SQL.

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

Параметры импорта базы данных, указанные как SQLImportOptions объект.

Подготовленная инструкция SQL, указанная как SQLPreparedStatement объект.

Аргументы пары «имя-значение»

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

Пример: results = fetch(conn,sqlquery,'MaxRows',50,'DataReturnFormat','structure') импортирует 50 строк данных в виде структуры.

Максимальное количество возвращаемых строк, указанное как пара, разделенная запятыми, состоящая из 'MaxRows' и положительный числовой скаляр. По умолчанию fetch функция возвращает все строки из выполненного SQL-запроса. Этот аргумент пары имя-значение используется для ограничения количества строк, импортированных в MATLAB ®.

Пример: 'MaxRows',10

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

Формат возврата данных, указанный как разделенная запятыми пара, состоящая из 'DataReturnFormat' и одно из этих значений:

  • 'table'

  • 'cellarray'

  • 'numeric'

  • 'structure'

Используйте 'DataReturnFormat' аргумент пары имя-значение для указания типа данных результата results. Чтобы указать целочисленные классы для числовых данных, используйте opts входной аргумент.

Эти значения можно задать с помощью векторов символов или строковых скаляров.

Пример: 'DataReturnFormat','cellarray' импортирует данные в виде массива ячеек.

Правило именования переменных, указанное как пара, разделенная запятыми, состоящая из 'VariableNamingRule' и одно из этих значений:

  • "modify" - Удаление символов, отличных от ASCII, из имен переменных fetch функция импортирует данные.

  • "preserve" - Сохранение большинства имен переменных при fetch функция импортирует данные. Дополнительные сведения см. в разделе Ограничения.

Пример: 'VariableNamingRule',"modify"

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

Выходные аргументы

свернуть все

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

Используйте 'MaxRows' аргумент пары «имя-значение» для указания количества импортируемых строк данных. Используйте 'DataReturnFormat' аргумент пары «имя-значение» для указания типа данных результата.

Если выполненная инструкция SQL не возвращает ни одной строки, результирующие данные представляют собой пустую таблицу.

Метаданные, возвращаемые в виде таблицы с этими переменными.

Имя переменнойОписание переменнойТип данных переменной

VariableType

Тип данных каждой переменной в импортированных данных

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

FillValue

Значение отсутствующих данных для каждой переменной в импортированных данных

Массив ячеек с отсутствующими значениями данных

MissingRows

Индексы для каждого вхождения отсутствующих данных в каждой переменной импортированных данных

Массив ячеек числовых индексов

По умолчанию fetch функция импортирует текстовые данные как символьный вектор и числовые данные как двойные. FillValue - пустой символьный массив (для текстовых данных) или NaN (для числовых данных) по умолчанию. Чтобы изменить отсутствующее значение данных на другое, используйте SQLImportOptions объект.

RowNames имущества metadata содержит имена переменных в импортированных данных.

Ограничения

Аргумент пары имя-значение 'MaxRows' имеет следующие ограничения:

  • При использовании Microsoft ® Access™ собственный интерфейс ODBC не поддерживается.

  • Не все драйверы базы данных поддерживают установку максимального количества строк перед выполнением запроса. Для неподдерживаемого драйвера измените SQL-запрос, чтобы ограничить максимальное количество возвращаемых строк. Синтаксис SQL зависит от драйвера. Для получения более подробной информации см. документацию по водителю.

Аргумент пары имя-значение 'VariableNamingRule' имеет следующие ограничения:

  • fetch функция возвращает ошибку при указании 'VariableNamingRule' аргумент пары имя-значение и задайте 'DataReturnFormat' аргумент пары имя-значение для cellarray, structure, или numeric.

  • fetch функция возвращает предупреждение при установке VariableNamingRule имущества SQLImportOptions объект в "preserve" и установите 'DataReturnFormat' аргумент пары имя-значение для structure.

  • fetch функция возвращает ошибку при использовании 'VariableNamingRule' аргумент пары имя-значение с SQLImportOptions объект opts.

  • Когда 'VariableNamingRule' аргумент пары имя-значение установлен в значение 'modify':

    • Эти имена переменных являются зарезервированными идентификаторами для table тип данных: Properties, RowNames, и VariableNames.

    • Длина каждого имени переменной должна быть меньше числа, возвращаемого namelengthmax.

Совет

  • Порядок записей в базе данных не остается постоянным. Сортировка данных с помощью SQL ORDER BY в вашей команде sqlquery заявление.

  • Для Microsoft Excel ® таблицы вsqlquery являются листами Excel. По умолчанию некоторые имена листов включают $ символ. Чтобы выбрать данные из листа с таким форматом имени, используйте инструкцию SQL формы SELECT * FROM "Sheet1$"(или 'Sheet1$').

  • Перед изменением таблиц базы данных убедитесь, что база данных не открыта для редактирования. При попытке изменить базу данных во время ее открытия возникает ошибка MATLAB:

    [Vendor][ODBC Driver] The database engine could not lock 
    table 'TableName' because it is already in use by 
    another person or process.
  • Система управления базами данных PostgreSQL поддерживает многомерные поля, но SQL SELECT не удается получить эти поля, если не указан индекс.

  • В некоторых базах данных требуется включить символ, например: #, до и после даты в запросе, следующим образом:

    execute(conn,'SELECT * FROM mydb WHERE mydate > #03/05/2005#')
  • Выполнение команды fetch функции с помощью opts входной аргумент и 'DataReturnFormat' аргумент пары имя-значение установлен в 'numeric' значение не имеет эффекта. В окне команд появится соответствующее предупреждающее сообщение.

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

Приложение

fetch импортирует данные с помощью командной строки. Для интерактивного импорта данных используйте приложение Database Explorer.

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

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

В R2018b изменилось поведение

В R2018b изменилось поведение

Представлен в R2006b