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.
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 - setrue, objetos são convertidos para string.insecureAuth: Boolean - setrue, permite conexão com instâncias que solicitam autenticação antiga (insegura).typeCast: Boolean - setrue, valores de coluna são convertidos em tipos JavaScript nativos.supportBigNumbers: Boolean - setrue, lida com colunas BIGINT e DECIMAL.bigNumberStrings: Boolean - setrue, força BIGINT e DECIMAL a serem retornados como String.dateStrings: Boolean - setrue, forçar tipos de data a serem retornados como strings.debug: Boolean - setrue, imprime detalhes do protocolo em stdout.trace: Boolean - setrue, gera rastreamentos de pilha de Erros.multipleStatements: Boolean - setrue, 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:
// 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.
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 em0) da linha desejada no retorno da query executada.query: Object - espera o retorno da versãov1_0_0do método query (o dado é lido da propriedaderesponse).
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.
const getReply = await Database.MySQL.getReply.v1_0_0({
query: query
})
Parâmetros obrigatórios
query: Object - espera o retorno da versãov1_0_0do método query (os resultados são lidos da propriedaderesponse).
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.
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 comTimeout.
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.
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.
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.
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.
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.