Pular para o conteúdo principal
Roberty Studio
RPADatabase

MySQL

MySQL

O módulo MySQL é responsável por criar uma conexão e manipular dados de um banco de dados MySQL.

Métodos​

connection​

Ação responsável por criar uma conexão com o banco de dados MySQL.

js
const connection = await Database.MySQL.connection.v1_0_0({
host: '',
port: number,
user: '',
password: '',
localAddress?: '',
socketPath?: '',
timezone?: '',
connectTimeout?: number,
stringifyObjects?: boolean,
insecureAuth?: boolean,
typeCast?: boolean,
supportBigNumbers?: boolean,
bigNumberStrings?: boolean,
dateStrings?: boolean,
debug?: boolean,
trace?: boolean,
multipleStatements?: boolean,
flags?: '',
ssl?: '',
database?: '',
})

Parâmetros obrigatórios​

  • host: String - espera o nome do host do banco de dados ao qual você está se conectando.
  • port: Number - espera o número da porta à qual deseja se conectar.
  • user: String - espera o usuário do MySQL.
  • password: String - espera a senha do MySQL.

Parâmetros opcionais​

  • database: String - nome da base de dados.
  • localAddress: String - endereço IP de origem a ser usado para conexão TCP.
  • socketPath: String - caminho para um soquete de domínio unix ao qual deseja se conectar.
  • timezone: String - fuso horário configurado no servidor MySQL.
  • connectTimeout: Number - milissegundos para o tempo limite de conexão com o servidor MySQL.
  • stringifyObjects: Boolean - se true, objetos são convertidos para string.
  • insecureAuth: Boolean - se true, permite conexão com instâncias que solicitam autenticação antiga (insegura).
  • typeCast: Boolean - se true, valores de coluna são convertidos em tipos JavaScript nativos.
  • supportBigNumbers: Boolean - se true, lida com colunas BIGINT e DECIMAL.
  • bigNumberStrings: Boolean - se true, força BIGINT e DECIMAL a serem retornados como String.
  • dateStrings: Boolean - se true, forçar tipos de data a serem retornados como strings.
  • debug: Boolean - se true, imprime detalhes do protocolo em stdout.
  • trace: Boolean - se true, gera rastreamentos de pilha de Erros.
  • multipleStatements: Boolean - se true, permite várias instruções MySQL por consulta.
  • flags: String - flags a serem inseridas ou removidas das consultas.
  • ssl: String - objeto com parâmetros SSL ou string com o nome do perfil SSL.
  • urlConnection: String - URL de conexão com o banco (ex.: mysql://usuario:senha@localhost:3306/banco). Quando informada, é usada no lugar dos demais dados de acesso.

Retorno​

A versão v1_0_0 não abre a conexão: ela apenas valida e retorna o objeto de configuração informado, que deve ser passado no parâmetro connection da versão v1_0_0 do método query. Esse objeto não funciona com os métodos close, transactionBegin, transactionCommit e transactionRollback.

Para obter uma conexão aberta, use a versão v2_0_0 (recebe a connectionString) ou a v3_0_0 (recebe o connectionId de uma conexão configurada no workspace, em Workspace → Conexões). As duas aceitam connectTimeout (tempo máximo, em segundos, para o servidor aceitar a conexão) e queryTimeout (tempo limite padrão, em segundos, de toda query feita com esta conexão; 0 = sem limite) e retornam a conexão, que é a esperada pelo parâmetro connection da versão v2_0_0 do método query e dos métodos de transação e encerramento:

js
// connection string
const connection = await Database.MySQL.connection["v2_0_0"]({
connectionString: "mysql://usuario:senha@localhost:3306/banco",
connectTimeout: 10,
queryTimeout: 60,
})

// conexão configurada no workspace
const connection = await Database.MySQL.connection["v3_0_0"]({
connectionId: "id-da-conexao-configurada-no-workspace",
connectTimeout: 10,
queryTimeout: 60,
})

getDataValue​

Ação responsável por obter um determinado dado de uma posição de uma resposta de um comando SQL executado em um banco de dados MySQL.

js
const getDataValue = await Database.MySQL.getDataValue.v1_0_0({
column: '',
row: 1,
query: query
})

Parâmetros obrigatórios​

  • column: String - nome da coluna do MySQL desejada.
  • row: Number - posição (começando em 0) da linha desejada no retorno da query executada.
  • query: Object - espera o retorno da versão v1_0_0 do método query (o dado é lido da propriedade response).

Parâmetros opcionais​

Esta ação não possui parâmetros opcionais.

Retorno​

A constante ou variável criada, como a getDataValue do exemplo mostrado anteriormente, receberá um valor do tipo Object. O objeto retornado terá a seguinte propriedade:

  • getDataValue.value: text - retorna o dado obtido de uma query MySQL.

getReply​

Ação responsável por obter a resposta de um comando SQL executado em um banco de dados MySQL. Pode ser utilizada após um SELECT.

js
const getReply = await Database.MySQL.getReply.v1_0_0({
query: query
})

Parâmetros obrigatórios​

  • query: Object - espera o retorno da versão v1_0_0 do método query (os resultados são lidos da propriedade response).

Parâmetros opcionais​

Esta ação não possui parâmetros opcionais.

Retorno​

A constante ou variável criada, como a getReply do exemplo mostrado anteriormente, receberá um valor do tipo Object. O objeto retornado terá a seguinte propriedade:

  • getReply.values: array - retorna os resultados de um SELECT executado em uma query MySQL.

query​

Ação responsável por executar um comando SQL em um banco de dados MySQL.

js
const query = await Database.MySQL.query.v1_0_0({
connection: connection,
query: '',
timeout: 1
})

Parâmetros obrigatórios​

  • connection: Retorno da ação de conexão - ID da conexão MySQL criada anteriormente.
  • query: String - query a ser executada. Exemplo: SELECT * FROM teste.teste.

Parâmetros opcionais​

  • timeout: Number - tempo limite, em segundos, desta query. Padrão: 120. 0 = sem limite. Ao atingir o limite, a promise é rejeitada com um erro cuja mensagem começa com Timeout.

Retorno​

A constante ou variável criada, como a query do exemplo mostrado anteriormente, receberá um valor do tipo Object. O objeto retornado terá as seguintes propriedades:

  • query.size: number - quantidade de dados retornados pela query.
  • query.query: text - retorna a query que foi executada.
  • query.response: array - resultados da query.
  • query.insertedId: number - ID do registro inserido.
  • query.affectedRows: number - quantidade de linhas afetadas.
  • query.changedRows: number - quantidade de linhas alteradas.

A versão v2_0_0 deste método recebe a conexão aberta pelas versões v2_0_0 ou v3_0_0 do método connection. Nela, quando timeout é omitido, vale o queryTimeout da conexão (e, sem ele, 120 segundos), e o retorno traz query.results (Array) e query.resultsCount (Number) no lugar de query.response e query.size, além de query.query, query.insertedId, query.affectedRows e query.changedRows.

close​

Ação responsável por encerrar uma conexão com o banco de dados MySQL.

js
await Database.MySQL.close["v1_0_0"]({
connection: connection,
})

Parâmetros obrigatórios​

  • connection: Retorno da ação de conexão - espera a conexão obtida através da ação connection.

Parâmetros opcionais​

Esta ação não possui parâmetros opcionais.

Retorno​

Esta ação não possui retorno.

transactionBegin​

Ação responsável por iniciar uma transação em uma conexão MySQL.

js
await Database.MySQL.transactionBegin["v1_0_0"]({
connection: connection,
})

Parâmetros obrigatórios​

  • connection: Retorno da ação de conexão - espera a conexão obtida através da ação connection.

Parâmetros opcionais​

Esta ação não possui parâmetros opcionais.

Retorno​

Esta ação não possui retorno.

transactionCommit​

Ação responsável por confirmar (commit) uma transação iniciada em uma conexão MySQL.

js
await Database.MySQL.transactionCommit["v1_0_0"]({
connection: connection,
})

Parâmetros obrigatórios​

  • connection: Retorno da ação de conexão - espera a conexão obtida através da ação connection.

Parâmetros opcionais​

Esta ação não possui parâmetros opcionais.

Retorno​

Esta ação não possui retorno.

transactionRollback​

Ação responsável por desfazer (rollback) uma transação iniciada em uma conexão MySQL.

js
await Database.MySQL.transactionRollback["v1_0_0"]({
connection: connection,
})

Parâmetros obrigatórios​

  • connection: Retorno da ação de conexão - espera a conexão obtida através da ação connection.

Parâmetros opcionais​

Esta ação não possui parâmetros opcionais.

Retorno​

Esta ação não possui retorno.