SELECT nome, email FROM clientes
WHERE cidade = 'São Paulo';
INSERT INTO produtos (nome, preco)
VALUES ('Teclado', 89.90);
UPDATE clientes
SET telefone = '11999998888'
WHERE id = 42;
DELETE FROM pedidos
WHERE data < '2023-01-01';
CREATE TABLE clientes (
id INTEGER PRIMARY KEY AUTOINCREMENT,
nome TEXT NOT NULL,
email TEXT UNIQUE,
telefone TEXT,
data_cadastro DATE
);
CREATE TABLE pedidos (
id INTEGER PRIMARY KEY AUTOINCREMENT,
cliente_id INTEGER,
data_pedido DATE,
valor DECIMAL(10,2),
FOREIGN KEY (cliente_id)
REFERENCES clientes(id)
);
<dependency>
<groupId>org.xerial</groupId>
<artifactId>sqlite-jdbc</artifactId>
<version>3.40.1.0</version>
</dependency>
implementation 'org.xerial:sqlite-jdbc:3.40.1.0'
mysql:mysql-connector-java:8.0.33
jdbc:sqlite:C:/sqlite/db/minhabase.db
jdbc:sqlite:./bancodados.db
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
public class ConexaoDB {
public static Connection conectar() {
String url = "jdbc:sqlite:./loja.db";
Connection conn = null;
try {
conn = DriverManager.getConnection(url);
System.out.println("Conexão estabelecida!");
return conn;
} catch (SQLException e) {
System.out.println(e.getMessage());
return null;
}
}
}
try (Connection conn = conectar()) {
// operações com o banco
} catch (SQLException e) {
// tratamento de erro
}
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
public class ExemploConexao {
public static Connection connect() {
String url = "jdbc:sqlite:./aula_jdbc.db";
Connection conn = null;
try {
conn = DriverManager.getConnection(url);
System.out.println("Conexão com SQLite estabelecida com sucesso!");
return conn;
} catch (SQLException e) {
System.out.println("Erro ao conectar ao SQLite: " + e.getMessage());
return null;
}
}
public static void main(String[] args) {
Connection conn = connect();
if (conn != null) {
try {
conn.close();
System.out.println("Conexão fechada com sucesso!");
} catch (SQLException e) {
System.out.println("Erro ao fechar conexão: " + e.getMessage());
}
}
}
}
jdbc:mysql://localhost:3306/meubanco
public static Connection conectarMySQL() {
String url = "jdbc:mysql://localhost:3306/meubanco";
String user = "root";
String password = "senha";
try {
Connection conn = DriverManager.getConnection(
url, user, password);
System.out.println("Conectado ao MySQL!");
return conn;
} catch (SQLException e) {
System.out.println("Erro: " + e.getMessage());
return null;
}
}
SELECT [colunas]
FROM [tabela]
WHERE [condição]
ORDER BY [coluna] [ASC|DESC]
LIMIT [número];
-- Todos os clientes
SELECT * FROM clientes;
-- Nome e email de clientes de SP
SELECT nome, email
FROM clientes
WHERE estado = 'SP';
SELECT nome, total
FROM vendas
WHERE data BETWEEN '2023-01-01' AND '2023-12-31'
AND total > 1000
ORDER BY total DESC
LIMIT 10;
INSERT INTO tabela (coluna1, coluna2, ...)
VALUES (valor1, valor2, ...);
INSERT INTO clientes (nome, email, telefone)
VALUES ('Maria Silva', 'maria@email.com', '11999887766');
INSERT INTO produtos (nome, preco, estoque) VALUES
('Teclado', 89.90, 15),
('Mouse', 45.00, 20),
('Monitor', 750.00, 5);
Statement stmt = conn.createStatement();
stmt.executeUpdate("INSERT INTO clientes (nome) VALUES ('João')");
PreparedStatement ps = conn.prepareStatement(
"INSERT INTO clientes (nome) VALUES (?)");
ps.setString(1, "João");
ps.executeUpdate();
UPDATE tabela
SET coluna1 = valor1, coluna2 = valor2
WHERE condição;
-- Atualizar telefone de um cliente
UPDATE clientes
SET telefone = '11999998888'
WHERE id = 1;
-- Aumentar preço de produtos em 10%
UPDATE produtos
SET preco = preco * 1.10
WHERE categoria = 'Eletrônicos';
DELETE FROM tabela
WHERE condição;
-- Remover cliente específico
DELETE FROM clientes
WHERE id = 5;
-- Remover produtos sem estoque
DELETE FROM produtos
WHERE estoque = 0;
-- Remover pedidos antigos
DELETE FROM pedidos
WHERE data_pedido < '2022-01-01';
import java.sql.*;
public class ConsultaExemplo {
public static void main(String[] args) {
String url = "jdbc:sqlite:./loja.db";
try (Connection conn = DriverManager.getConnection(url);
Statement stmt = conn.createStatement();
ResultSet rs = stmt.executeQuery("SELECT id, nome, email FROM clientes")) {
// Loop sobre os resultados
while (rs.next()) {
int id = rs.getInt("id");
String nome = rs.getString("nome");
String email = rs.getString("email");
System.out.println(id + " | " + nome + " | " + email);
}
} catch (SQLException e) {
System.out.println("Erro: " + e.getMessage());
}
}
}
import java.sql.*;
public class ListarProdutos {
public static void main(String[] args) {
String url = "jdbc:sqlite:./loja.db";
// Consulta com filtro e ordenação
String sql = "SELECT id, nome, preco, estoque FROM produtos " +
"WHERE preco > 50.0 ORDER BY preco DESC";
try (Connection conn = DriverManager.getConnection(url);
Statement stmt = conn.createStatement();
ResultSet rs = stmt.executeQuery(sql)) {
// Cabeçalho da tabela
System.out.println("+---------+-------------------+----------+----------+");
System.out.println("| ID | PRODUTO | PREÇO | ESTOQUE |");
System.out.println("+---------+-------------------+----------+----------+");
// Imprime cada produto em formato de tabela
while (rs.next()) {
System.out.printf("| %-7d | %-17s | R$%6.2f | %-8d |%n",
rs.getInt("id"),
rs.getString("nome"),
rs.getDouble("preco"),
rs.getInt("estoque"));
}
System.out.println("+---------+-------------------+----------+----------+");
} catch (SQLException e) {
System.out.println("Erro na consulta: " + e.getMessage());
}
}
}
CREATE TABLE livros (
id INTEGER PRIMARY KEY AUTOINCREMENT,
titulo TEXT NOT NULL,
autor TEXT NOT NULL,
ano INTEGER,
preco REAL
);
try {
// Operações com banco
} catch (SQLException e) {
System.err.println("Erro: " + e.getMessage());
System.err.println("Código: " + e.getErrorCode());
e.printStackTrace();
} finally {
// Fechar recursos
}
try (Connection conn = DriverManager.getConnection(url);
PreparedStatement ps = conn.prepareStatement(sql)) {
// código aqui
} // recursos fechados automaticamente
// ERRADO
String sql = "SELECT * FROM usuarios WHERE nome = '" + nome + "'";
// CORRETO
String sql = "SELECT * FROM usuarios WHERE nome = ?";
ps.setString(1, nome);
conn.setAutoCommit(false);
try {
// várias operações
conn.commit();
} catch (Exception e) {
conn.rollback();
}