Bancos de dados: inspecione o estado antes de escrever
Escolher o alvo, ver estrutura, inspecionar dados, mudar uma coisa e verificar continua sendo o ritmo seguro.
Banco de dados é estado estruturado
Um arquivo mostra seu conteúdo diretamente. Um banco de dados expõe o estado por meio de um mecanismo: tabelas ou coleções, registros, índices e consultas. Não comece escrevendo. Primeiro confirme o driver e o banco selecionado e examine a estrutura existente.
Vale o mesmo princípio dos arquivos de configuração: trabalhe com o objeto lógico — tabela, linha, chave ou documento — em vez de pensar em como os dados são armazenados fisicamente.
`db` compartilha vocabulário, mas o driver continua importante
install md db sqlitedbdb sqlitesqliteSQLite é o lugar mais seguro para aprender
É um único arquivo local sem rede ou senha. Crie a tabela de prática e confirme com -t.
cd lil-playgroundmd datasqlite -c data/notes.sqlite -fsqlite : CREATE TABLE IF NOT EXISTS notes (id INTEGER PRIMARY KEY, title TEXT NOT NULL, status TEXT NOT NULL)sqlite -tPrimeiro estrutura, depois linhas
-s mostra campos/tipos; -n mostra uma prévia. Tabela vazia também é informação útil.
sqlite -s notessqlite -n notes 10Escritas direcionadas podem usar JSON
-a e -w recebem JSON depois de :. Verifique após cada escrita e trate delete como ação deliberada.
sqlite -a notes : {"title":"First terminal note","status":"draft"}sqlite -a notes : {"title":"Archive project","status":"done"}sqlite -n notes 10sqlite -w notes title "First terminal note" : {"status":"reviewed"}sqlite -f notes reviewed 20SQL nativo continua disponível
Agregações e queries específicas pertencem naturalmente à forma nativa com :.
sqlite : SELECT status, COUNT(*) AS count FROM notes GROUP BY statusExportação e cópia de restauração têm finalidades diferentes
A exportação gera dados portáveis; a cópia de restauração preserva esquema e dados para recuperação. Teste a restauração antes da emergência.
sqlite -o notes -j data/notes.json -fsqlite dump data/notes.sql -fstat data/notes.sqlBancos remotos acrescentam credenciais e rede
Cada engine tem seu modelo de conexão. Não coloque senhas reais em scripts reutilizáveis ou públicos.
db mysqlmysql -c localhost app shoppostgresql -c localhost app shopGuarde isto como script
database-checkpoint.lil abre o SQLite de prática, inspeciona a tabela e cria uma cópia de segurança sem automatizar escritas de negócio.
#lil
@install md sqlite
cd lil-playground
md data
sqlite -c data/notes.sqlite -f
sqlite : CREATE TABLE IF NOT EXISTS notes (id INTEGER PRIMARY KEY, title TEXT NOT NULL, status TEXT NOT NULL)
sqlite -t
sqlite -n notes 10
sqlite dump data/notes.sql -f