Выполните SQL-оператор с помощью связи реляционной базы данных
SELECT
SQL-операторИспользуя связь реляционной базы данных, создайте и выполните non-SELECT
SQL-оператор, который удаляет таблицу базы данных.
Этот пример использует базу данных Microsoft® SQL Server® Version 11.00.2100 и Драйвер Microsoft SQL Server 11.00.5058.
Создайте соединение с базой данных к базе данных 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
таблица базы данных.
data = sqlread(conn,tablename);
Удалите patients
таблица базы данных с помощью execute
функция.
sqlquery = ['DROP TABLE ' tablename];
execute(conn,sqlquery)
Закройте соединение с базой данных.
close(conn)
При Работе с базой данных Microsoft® SQL Server® запустите хранимую процедуру при помощи нативного соединения с базой данных ODBC conn
.
Задайте хранимую процедуру под названием create_table
это составляет таблицу под названием test_table
путем выполнения следующего кода. Эта процедура не имеет никаких аргументов ввода или вывода. Код принимает, что вы используете базу данных Microsoft SQL Server.
CREATE PROCEDURE create_table AS BEGIN -- SET NOCOUNT ON added to prevent extra result sets from -- interfering with SELECT statements. SET NOCOUNT ON; CREATE TABLE test_table ( CATEGORY_ID INTEGER IDENTITY PRIMARY KEY, CATEGORY_DESC CHAR(50) NOT NULL ); END GO
Соединитесь с базой данных Microsoft SQL Server. Этот код принимает, что вы соединяетесь с источником данных под названием MS SQL Server
с именем пользователя и паролем.
conn = database('MS SQL Server','username','pwd');
Вызовите хранимую процедуру create_table
.
execute(conn,'create_table')
Создайте подготовленный оператор SQL, чтобы вставить данные из MATLAB® в базу данных Microsoft® SQL Server® с помощью соединения с базой данных JDBC. Используйте INSERT
SQL-оператор для SQL-запроса. Выполнитесь SQL подготовил оператор, и отобразите результаты.
Создайте соединение с базой данных JDBC к базе данных SQL Server с аутентификацией Windows®. Задайте пустое имя пользователя и пароль.
datasource = 'MSSQLServerJDBCAuth'; conn = database(datasource,'','');
Импортируйте данные от базы данных с помощью sqlread
функция. Отобразите последние несколько строк данных в таблице базы данных inventoryTable
.
tablename = "inventoryTable";
data = sqlread(conn,tablename);
tail(data,3)
ans=3×4 table
productNumber Quantity Price inventoryDate
_____________ ________ _____ _______________________
11 567 0 {'2012-09-11 00:30:24'}
12 1278 0 {'2010-10-29 18:17:47'}
13 1700 14.5 {'2009-05-24 10:58:59'}
Создайте подготовленный оператор SQL для вставки данных с помощью соединения с базой данных JDBC. Вопросительные знаки в INSERT
SQL-оператор указывает, что это - подготовленный оператор SQL. Этот оператор вставляет данные MATLAB в таблицу базы данных inventoryTable
.
query = "INSERT INTO inventoryTable VALUES(?,?,?,?)";
pstmt = databasePreparedStatement(conn,query)
pstmt = SQLPreparedStatement with properties: SQLQuery: "INSERT INTO inventoryTable values(?,?,?,?)" ParameterCount: 4 ParameterTypes: ["numeric" "numeric" "numeric" "string"] ParameterValues: {[] [] [] []}
pstmt
SQLPreparedStatement
объект с этими свойствами:
SQLQuery
— SQL подготовил запрос оператора
ParameterCount
— Количество параметра
ParameterTypes
— Типы параметра
ParameterValues
— Значения параметров
Свяжите значения параметров в подготовленном операторе SQL. Выберите все параметры в подготовленном операторе SQL с помощью их числовых индексов. Задайте значения, чтобы связать для номера продуктов, количества, цены и даты материально-технических ресурсов. Совпадайте с форматом дат в базе данных. bindParamValues
функционируйте обновляет значения в ParameterValues
свойство pstmt
объект.
selection = [1 2 3 4];
values = {20,1000,55,"2019-04-25 00:00:00.000"};
pstmt = bindParamValues(pstmt,selection,values)
pstmt = SQLPreparedStatement with properties: SQLQuery: "INSERT INTO inventoryTable values(?,?,?,?)" ParameterCount: 4 ParameterTypes: ["numeric" "numeric" "numeric" "string"] ParameterValues: {[20] [1000] [55] ["2019-04-25 00:00:00.000"]}
Вставьте данные MATLAB в базу данных с помощью связанных значений параметров. Выполните SQL INSERT
оператор с помощью execute
функция.
execute(conn,pstmt)
Отобразите вставленные данные в таблице базы данных inventoryTable
. Последняя строка в таблице содержит вставленные данные.
tablename = "inventoryTable";
data = sqlread(conn,tablename);
tail(data,4)
ans=4×4 table
productNumber Quantity Price inventoryDate
_____________ ________ _____ ___________________________
11 567 0 {'2012-09-11 00:30:24' }
12 1278 0 {'2010-10-29 18:17:47' }
13 1700 14.5 {'2009-05-24 10:58:59' }
20 1000 55 {'2019-04-25 00:00:00.000'}
Закройтесь SQL подготовил оператор и соединение с базой данных.
close(pstmt) close(conn)
conn
— Соединение с базой данныхconnection
объектСоединение с базой данных в виде ODBC connection
возразите или connection
JDBC объект создал использование
database
функция.
sqlquery
— SQL-операторSQL-оператор в виде вектора символов или строкового скаляра. SQL-оператор может быть любым допустимым non-SELECT
SQL-оператор.
SQL-оператор может быть хранимой процедурой, которая не возвращает наборов результатов. Для хранимых процедур, которые возвращают один или несколько наборов результатов, используйте fetch
функция. Для процедур, которые возвращают выходные аргументы, используйте runstoredprocedure
функция.
Для получения информации о языке SQL-запроса см. Пример по SQL.
Пример: 'DROP TABLE patients'
Типы данных: char |
string
pstmt
— SQL подготовил операторSQLPreparedStatement
объектSQL подготовил оператор в виде SQLPreparedStatement
объект.
bindParamValues
| close
| close
| database
| databasePreparedStatement
| fetch
| runstoredprocedure
| sqlread
У вас есть модифицированная версия этого примера. Вы хотите открыть этот пример со своими редактированиями?
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.