SQLite - Cheat sheet

Opublikowano: 22-05-2016



Niewielki zbiór zapytań SQL i komend dla SQLite.

Schemat bazy danych:

.schema

Tworzenie tabeli z kluczem obcym, jeśli wcześniej nie istniała:

create table if not exists APACHE_SESSION_EXISTS_TABLE(
  ID integer primary key,
  DATE_ID integer not null unique,
  EXIST integer not null unique,
  foreign key(DATE_ID) references DATE_TABLE(ID)
);
create table if not exists DATE_TABLE(
  ID integer primary key,
  DAY integer,
  MONTH integer,
  YEAR integer,
  unique(DAY, MONTH, YEAR)
);

Podzapytanie:

select EXIST from TABLE1
  where
    DATE_ID=( select ID from DATE_TABLE where DAY=5 )
;

Wstawienie lub zastąpienie wiersza. Jeśli wiersz istniał wcześniej powoduje nadanie nowemu wierszowi tego samego ID (wykonane podzapytanie zwraca ID albo NULL).

insert or replace into APACHE_SESSION_EXISTS_TABLE (DATE_ID, EXIST)
  values (
    ( select ID from DATE_TABLE where DAY=5),
    1
  );

Można również użyć INSERT OR IGNORE (nie zmienia wartości klucza głównego).

Transakcje:

begin transaction
--...
end transaction -- alias na 'commit'

begin transaction
--- ...
rollback


Pytanie lub komentarz? Zostaw wiadomość!

Powiedz proszę, czy podobał Ci się ten wpis. Chętnie podyskutuję i odpowiem na dodatkowe pytania.

Comments powered by Disqus