#sqlite najlepsze najnowsze

tomaszs 2026-02-13 16:51:22 +0
Trenowanie AI, żeby pisało kod, to jedno.
Trenowanie go, żeby używało narzędzi we właściwej kolejności, ogarniało stan aplikacji i nie rozwalało niczego po drodze? To już zupełnie inna bajka.

Nowy artykuł od Snowflake AI Research + UNC-Chapel Hill proponuje całkiem pragmatyczne podejście: wygenerować 1000 throwaway mini-apek, każda z bazą SQLite i API przez FastAPI + MCP, i pozwolić agentom trenować na tym.

Zamiast:
mieć kolejnego LLM udającego środowisko (który halucynuje stan),
albo klepać apki ręcznie (co się nie skaluje),
pozwalasz LLM-owi wygenerować CAŁE środowisko: bazę, API, zadania i kod weryfikujący.

Agent-student wchodzi w interakcje z deterministycznym, wykonywalnym kodem, a nie role-play modelem.
Jeśli stan bazy odpowiada oczekiwanemu rezultatowi — task zaliczony.
Autorzy twierdzą, że to:
✔️ lepsze niż trening na symulowanym środowisku LLM,
✔️ lepsze niż konwencjonalna synteza,
✔️ z mocną generalizacją poza rozkład (OOD) na kilku benchmarkach.

Link: https://tomaszs2.medium.com/llm-generated-1-000-crud-worlds-to-train-llm-2c603e93997f

#AI #LLM #MachineLearning #Python #FastAPI #SQLite #MCP #programowanie #technologia #vibecoding #Snowflake #research
JemKredki1983 2025-10-15 14:13:52 +0
Panowie zaczynam swoją zabawę z SQL. Na początek mam podręcznik pt "SQL. Przewodnik dla początkujących. Jak zacząć efektywną pracę z danymi" w określonym podręczniku autor zachęca do porabia bazy danych do zabawy w ramach SQLite i środowiska DB browser sqlite. Jednak ta baza danych dla strony www określonego autora już nie funkcjonuje. Stąd pytanie

https://helion.pl/ksiazki/sql-przewodnik-dla-poczatkujacych-jak-zaczac-efektywna-prace-z-danymi-walter-shields,sqlppj.htm - książka sql

1. Skąd mogę pobrać bazę danych do zabawy w ramach tej przeglądarki SQLite?

Proszę o pomoc. Jednocześnie dawajcie uwagi dla żółtodzioba w temacie SQL :)

#sql #bazydanych #sqlite
JemKredki1983 2025-10-15 15:51:51 +4
@przecietnyczlowiek: udało się pobrać otworzyć działam z pierwszymi zapytaniami :)
pokaż komentarze (13)
massejferguson 2024-05-05 14:27:35 +1
#wsl2 #ubuntu #linux #windows11 #laravel #php #sqlite #tableplus #bazadanych
Mam plik bazy danych sqlite w wsl2 ubuntu jednak jak otwieram go przez tableplus w windows11 baza danych jest pusta a jak przeniose plik na pulpit w windows11 to baza danych jest pełna. plik ma uprawnienia 777. jak rozwiązać ten problem?
t.....o 2024-05-05 15:56:25 +0
@massejferguson:
Pisałem wczoraj. Ustaw sobie mysql. sqlite to tylko proteza bazy danych w laravelu do celów testowych. Nikt tego nie używa w praktyce. Ustaw mysql, łącz się do niej z laravela, z klientów baz danych na windowsie.
Jakieś przenoszenie plików sqlite po maszynach wirtualnych to strata czasu. Jak masz mysql to robisz dumpa bazy i też masz taki plik.
massejferguson 2024-05-01 10:46:32 nsfw +0
#docker #devopsiarz #devops #php #laravel #sqlite #mysql #ubuntu
1) Jeżeli mamy apke w czystym php używamy wsl2 ubuntu i chcemy użyć dockera to musimy ściągnąć obraz mysql i php do katalogu w którym trzymamy apke?
1a) to trzeba jakoś "podłączyć"?

2) jeżeli mamy laravela to żeby używać go na docker to wystarczy zainstalować sail?
2a) tylko jedna komędą?

3)mam problem z laravelem. zainstalowałem go i w config/database.php domyślną bazą danych jest sqlite a w .env jest mysql. zmieniłem w .env na sqlite reszte zakomentowałem i chciałem zrobić migracje i pisze że migracja jest zrobiona i za c---a nie mogę się połaćzyć z bazą danych sqlite.
Tak to wygląda w .env
DB_CONNECTION=sqlite
# DB_HOST=mysql
# DB_PORT=3306
# DB_DATABASE=laravel
# DB_USERNAME=sail
# DB_PASSWORD=password
Tak to wygląda w config/databse.php
'default' => env('DB_CONNECTION', 'sqlite'),
'connections' => [
'sqlite' => [
'driver' => 'sqlite',
'url' => env('DB_URL'),
'database' => env('DB_DATABASE', database_path('database.sqlite')),
'prefix' => '',
'foreign_key_constraints' => env('DB_FOREIGN_KEYS', true),
],
'mysql' => [
'driver' => 'mysql',
'url' => env('DB_URL'),
'host' => env('DB_HOST', '127.0.0.1'),
'port' => env('DB_PORT', '3306'),
'database' => env('DB_DATABASE', 'laravel'),
'username' => env('DB_USERNAME', 'root'),
'password' => env('DB_PASSWORD', ''),
'unix_socket' => env('DB_SOCKET', ''),
'charset' => env('DB_CHARSET', 'utf8mb4'),
'collation' => env('DB_COLLATION', 'utf8mb4_unicode_ci'),
'prefix' => '',
'prefix_indexes' => true,
'strict' => true,
'engine' => null,
'options' => extension_loaded('pdo_mysql') ? array_filter([
PDO::MYSQL_ATTR_SSL_CA => env('MYSQL_ATTR_SSL_CA'),
]) : [],
],
Pytam bo się uczę i szukam rozwiązania bo już mnie c--j strzela z google i chatemgpt ponieważ zawsze coś złe wpisuje i c---a mi informacje daje i jestem w ciemnej dupie :(
MrDracek 2024-05-01 16:50:28 +1
czytałem dokumentacje i #!$%@? mi to daje...

@massejferguson: czytanie ze zrozumieniem się kłania. Ja na podstawie dokumentacji i szybkiego jeszcze googlowania (po graifkach) szukałem sobie, która paczka najlepiej będzie pasować pod aplikację Headless z obsługą SPA: czy Laravel Passport, Laravel Sanctum czy jeszcze tam jeden. Czy może samemu zrobić aplikacjęOauth2 na JWT. Stanęło na ostatnim, ale najlepiej napisane przez Dependency Inversion, aby móc w przyszłości np. jednak przejść na któreś z rozwiązań Larwowych bez przepisywania.

Ale to są już zaawansowane treści, gdzie już nie bawisz się do końca w czytanie, ale już w skanowanie treści, które są potrzebne.
Nolimit 2024-05-01 18:29:48 +1
@massejferguson ech, rozumiem początki, ale warto jeszcze raz dokumentację ogarnąć na spokojnie

1. Nie
1a. Tak
2. To zależy
2a. To zależy
3. Wykorzystujesz zmienne środowiskowe które zakomunikowałeś sobie

Ogólnie poleciłbym najpierw odpalić sobie to lokalnie, bez dockera. Plik z sqlite trzymaj sobie w katalogu projektu. Jak sobie ogarniesz tak, żeby to działało, to przechodzić do etapu dockera. I wtedy czytasz, co to jest docker-compose, czym są volumes, jak przekazać zmienne środowiskowe do kontenera i to wystarczy żeby odpalić sobie taki projekt z laravelem i sqlite.
pokaż komentarze (8)
pyroxar 2022-12-04 13:55:38 +0
Jak wsadzać dane do bazy danych w python? Nie umiem skonstruować tupli #python #sqlite #programista15k

def insert_temperature(conn, temp):
sql = ''' INSERT INTO temperatures(id,temp)
VALUES(NULL,?) '''
cur = conn.cursor()
cur.execute(sql, (temp))
conn.commit()

return cur.lastrowid

Błąd:
File "main.py", line 27, in insert_temperature
cur.execute(sql, (temp))
ValueError: parameters are of unsupported type
KryKry 2022-12-04 13:57:15 +1
@pyroxar: sqlalchemy
KryKry 2022-12-04 14:31:40 +2
zamiast NULL wez None
pokaż komentarze (10)
vipe 2022-11-16 23:31:13 +13
Jako, że nikt nie pytał, to powiem, że właśnie wydałem SQLiteStudio 3.4.0.
Lista zmian i pliki do pobrania są na stronie - nie zgadniecie - https://sqlitestudio.pl

#sqlite #bazydanych #sqlitestudio #programowanie
Koliat 2022-11-17 00:10:41 +1
@vipe a tak tylko podziwiam nigdy nie miałem cierpliwości do tego języka, pisz w czym się czujesz najlepiej miras i dobra robota ( ͡º ͜ʖ͡º)
vipe 2022-11-17 00:25:25 +3
@Koliat: SQLiteStudio 1.x i 2.x były napisane w Tclu. Potem to przepisałem na C++/Qt (z powodu ograniczeń w modelu wielowątkowym w Tclu), chociaż rozważałem też Javę z FX. Wybrałem C++ (mimo, że znałem go znacznie gorzej niż Javę), z dość ryzykownego na moment decyzji powodu - szybkości działania i zużycie pamięci. Jasne, wszystko zależy jak ktoś pisze, czy dba o optymalizację, a benchmarki pokazują, że poprawnie używana Java jest niemal tak szybka jak C++.
Rzeczywistość wygląda jednak tak: uruchom sobie 5 popularnych aplikacji C++ z GUI, a potem uruchom sobie 5 w Javie.

Taki bardzo dobry przykład do porównania to Oracle SQLDeveloper (napisany w Java) vs. SQLiteStudio. Dość podobne aplikacje. Nie identyczne, ale zasadniczo pełniące podobne funkcje. SQLDeveloper to krowa. Za każdym razem jak się muszę przesiąść z jakiegoś narzędzia Javowego i uruchamiam sobie SQLiteStudio, to mam satysfakcję, że to (C++) był dobry wybór.

No i sam C++ to jedno, a Qt to zupełnie inna bajka. Przyznam się, że STL czy boosta znam słabo, bo w zasadzie używam Qt, dzięki któremu w C++ pisze się na prawdę przyjemnie.

P.S. Z aplikacjami w .net też nie jest rewelacyjnie.

P.S.2. Zawodowo piszę w Javie od 15 lat...
pokaż komentarze (8)
Rajtuz 2022-05-19 18:24:23 +0
Robię sobie proste filtrowanie gier w tabeli. Na stronie mam trzy pola: min_rating, max_rating i genre (+ przycisk "submit"). Jeżeli wypełnię wszystkie 3, to filtrowanie działa i url wygląda np. tak:

`http://127.0.0.1:5000/test?rating_min=25&rating_max=60&genre=RPG`

Natomiast jeżeli ominę chociaż jedno pole (np. min_rating), to wtedy nie wyszukuje mi się nic, mimo, że pozostałe kryteria mają swoje wartości:

`http://127.0.0.1:5000/test?rating_min=&rating_max=60&genre=RPG`

Ma ktoś pomysł jak to naprawić? Tzn. żeby w przypadku braku wartości w jakimś polu takie zapytanie się nie wysyłało do url? Próbowałem zmieniać request.args, ale okazuje się, że jest to immutable dict.

Ewentualnie żeby jakoś ustawić domyślne ukryte wartości (min_rating = 0, max_rating = 100), ale to też chyba nie jest takie łatwe.


HTML


Min Rating:


Max Rating:


Genre:






#naukaprogramowania #python #flask #sqlite #sqlalchemy #html
Henryhenry 2022-05-19 18:49:16 +0
@Rajtuz: a nie lepiej to od strony backendu naprawić? Żeby tam przyjmował domyślne wartości w przypadku nieprawidłowych?
Henryhenry 2022-05-20 23:17:20 +1
@Rajtuz: spoks

PS. sorry za tych trochę nerwów, bardzo nie lubię gdy ktoś odpowiada że nawet nie wypróbuje sugestii z wątku, a początkowo tak właśnie odebrałem Twoją wypowiedź. Powodzenia z projektem!
pokaż komentarze (14)
scorpio18k 2022-05-06 12:34:46 +0
from sqlite3 import connect

name="TestTable"

conn = connect("data.db")
curs = conn.cursor()
curs.execute("CREATE TABLE IF NOT EXISTS :name (test TEXT PRIMARY KEY);",{"name":name})
conn.commit()
conn.close()

Błąd:
curs.execute("CREATE TABLE IF NOT EXISTS :name (test TEXT PRIMARY KEY);",{"name":name})
sqlite3.OperationalError: near ":name": syntax error

Co robię źle?

#python #sqlite
Z.....a 2022-05-06 12:48:02 +1
@scorpio18k: Wydaje mi się, że po prostu nie da się sparametryzować nazwy tabeli
vipe 2022-05-06 13:02:23 +2
@scorpio18k: Nazwa tabeli nie może być parametrem.

@ZabiliMiZolwia: Zabezpieczyć (wyescape'ować) przed SQL Injection i jechać z tematem. Albo to, albo zmiana wymagań. Inaczej nie będzie.
pokaż komentarze (3)
scorpio18k 2022-04-21 11:01:32 +0
Mam taką bazę danych:
https://pastebin.com/11dBhNE7

Generalnie chodzi o to, że jeden "pocket" może przechowywać wiele "itemów"

Przykładowa baza danych:

item:
1, 'A1', None
2, 'A2', None
3, 'A4', None

pocket:
1, 'N1'
2, 'N2'

Problem 1 jest taki, że jak zrobię:

c.execute(UPDATE item SET pocket_id = :p_id WHERE item_id = :a_id",{"a_id": 1, "p_id":"elo"})
to bez problemu doda "elo' do pola pocket_id, które jest typy INTEGER

Problem 2 jest taki, że jak zrobię:
c.execute("SELECT * FROM item JOIN pocket")
return c.fetchall()

to dostanę:
(1, 'A1', 'elo', 1, 'N1')
(1, 'A1', 'elo', 2, 'N2')
(2, 'A2', None, 1, 'N1')
(2, 'A2', None, 2, 'N2')
(3, 'A4', None, 1, 'N1')
(3, 'A4', None, 2, 'N2')

zamiast zbioru pustego, bo przecież klucz FOREIGN KEY z tabeli item nie zgadza się z żadnym polem pocket
?

używam: #python #SQL #sqlite
YogiYogi 2022-04-21 11:03:27 +1
@scorpio18k: nie podales po jakim polu robisz joina więc zrobiło Ci cross joina czyli kombinację wszystkich krotek z obu tabel
janek_ 2022-04-21 11:17:22 +2
@scorpio18k: np. po to, żeby móc robić constrainty - żeby nie było np. itemu który jest przypisany do nieistniejącego pocketa
pokaż komentarze (5)
grejzen 2021-11-08 16:56:07 +1
Powiedzmy że mam taką tabelę w sqlite:

co | kto | cena
-----------------------
młotek | toolex | 50
wiadro | żartex | 599
młotek | gumex | 13
wkrętak| bublex | 15
wiadro | dziurex | 7
wkrętak| kupex | 9


Jak powinno wyglądać zapytanie żeby zwróciło co|kto|cena tak aby nie było duplikatów dla "co"?

#programowanie #bazydanych #sqlite #SQL
RicoElectrico 2021-11-08 17:01:16 +2
@grejzen: musisz doprecyzować jak rozstrzygnąć w przypadku duplikatów żeby wiedzieć co w "kto" i "cena" powinno się znaleźć
@zwei: piszesz w ogóle o czym innym (-‸ლ) OP ma gotową tabelę
vipe 2021-11-08 22:45:25 +3
pokaż komentarze (13)
husky83 2021-01-05 22:13:58 +0
Utworzyłem sobie tabelę w #sqlite. Próbuję ją ogarnąć od strony #php przez PDO.
Problem w tym, że działa tylko pierwsze zapytanie, przy wywołaniu drugiego skrypt się zawiesza.
Np. robię Select - jest ok, potem insert - wisi.
Ktoś miał podobny problem?
scobos 2021-01-05 22:17:05 +4
@husky83: Latwiej bedzie jak pokazesz kod bo na pewno masz gdzies blad, a bez kodu to zgaduj zgadula typu, moj samochod nie chodzi, czemu?
husky83 2021-01-06 07:41:26 +1
@scobos: @paramyksowiroza:
W DB Browser miałem otwartą tą bazę, żeby widzieć co się dzieje. To powodowało zawieszanie się całości ;-)
Co ciekawe wystarczyło się rozłączyć, otworzyć bazę jeszcze raz i działa jak należy.
pokaż komentarze (2)
salamander-kwarcowy 2020-07-28 15:10:17 +0
Czy silnik sqlite będzie też działał na pliku z rozszerzeniem .sql (odpowiednio zmodyfikowanym) czy musi być .sqlite?

Robię desktopową apkę, która będzie korzystać z sqlite. Muszę tam zaimportować sporawą bazę na 1.5-2 mln rekordów z sql. Najpierw wrzuciłam wszystko w DB Browser Sqlite, a potem eksportowałam do to jednego pliku z rozszerzeniem .sql (nie było możliwości eksportować w innym formacie). I nie wiem czy tak zadziała, czy próbować grzebać dalej.

#SQL #sqlite #bazydanych #programowanie #electron
s.....e 2020-07-28 15:12:17 +1
@salamander-kwarcowy:
SQLite understands most of the standard SQL language. But it does omit some features while at the same time adding a few features of its own.

https://www.sqlite.org/lang.html
kinemator 2020-07-28 15:17:37 +0
@salamander-kwarcowy: A ten plik .sql to nie jest czasem skrypt z danymi?
pokaż komentarze (5)
q.....n 2020-06-15 13:56:16 +0
Hej,
Z racji tego, że dockerowa wersja gitlaba zżera ponad 2,5 Gb tuż po uruchomieniu, to postanowiłem postawić sobie zamiast niego Gitea, które powinno dużo bardziej troszczyć się  o zasoby niż Gitlab.

Podczas konfiguracji jestem pytany czy chcę użyć SQlite czy może Mysql(jako oczywiście Mariadb).

Dostęp do repozytorium maksymalnie ze 3/5 osób będzie miało z czego bardzo rzadko będzie używane przez więcej niż jedną osobę jednocześnie.
Dodatkowo Mysql chyba na dzień dobry bierze kilkaset MB ramu, aa nie mogłem znaleźć informacji ile bierze sqlite.

Zgodnie z powyższymi wymaganiami oczywistą opcją wydaje się SQLite, ale jednak mam niewielkie obawy co do wydajności.
Jeśli dobrze rozumiem, to bazie danych zapisywane są jedynie nagłówki, sumy kontrolne etc. a nie całe repozytoria?
Może są jeszcze jakieś za/przeciw, które mogą być kluczowe a ich nie zauważyłem?

#bazydanych #sqlite #mysql #mariadb #linux
bramborak 2020-06-15 13:58:58 +0
@qarmin: Ale sqlite w kontenerze z Gitea czy osobnym?
Ja bym szedł z osobnym konterem MariaDB i linkował.
vipe 2020-06-16 23:45:27 +1
@qarmin: @bramborak: SQLite sobie spokojnie poradzi. Problem by był, gdyby różne aplikacje nagle zaczęły do niego pisać jednocześnie, ale jeśli jest to jedna aplikacja, to nie widzę problemu. Nawet w wielu wątkach.

Pamięci to to nie zjada w ogóle, bo nie odpala osobnego procesu. Po prostu sterownik zawiera w sobie już cały kod potrzebny do manipulacji plikiem bazy danych.

Żeby się uwiarygodnić - jestem autorem SQLiteStudio, więc trochę z tą bazą pracuję.
pokaż komentarze (3)
a.....1 2020-05-05 14:26:41 +0
Mam taka tabele w sqllite
"Create Table tabela(
text_value TEXT unique
,count int,
directory int"
Próbuje przetworzyć tekst z dwóch folderów w taki sposób by zapytaniem
"Insert into tabela values(' temp ',1,1) ON CONFLICT(text_value,directory ) DO UPDATE SET count = count+1";
zliczyć liczbę wystąpień poszczególnych słów, problem jest taki ze zależnie z którego folderu pochodzi plik wartość directory ma mieć wartość 0 lub 1, bez tego podziału zapytania działa dobrze jednak gdy dodam "ON CONFLICT" wartość directory dostaje błąd
"ON CONFLICT clause does not match any PRIMARY KEY or UNIQUE constraint"
Jak sobie z tym poradzić?
Dodam że połączenie folderów nie wchodzi w grę

#programowanie #sql #sqlite
plushy 2020-05-05 14:37:07 +0
@antagonista1111 no przecież masz napisane. Sprawdź w manualu czym jest unique constraint
a.....1 2020-05-05 14:39:06 +0
@plushy: nawet dodając unique do type zapytanie dalej zwraca błąd
pokaż komentarze (1)
Kohrd 2020-04-10 18:21:05 +0
Cześć Mirki, próbuję napisać w #python #sqlite zapytanie które będzie mi wrzucac odpowednie wartości w odpowiednie miejsce:

c.execute("UPDATE MOJATABELA SET KOLUMNA1 = ? WHERE WIERSZ= ? ",
(wartoscWstawiana1, wiersz1))
dbConnection.commit()

no i git to działa
Problem w tym ze mam kilkanascie kolumn i zaleznie od wartosci chcę aby była ona wpisywana w innej kolumnie

Próbowałem więc coś takiego:
c.execute("UPDATE MOJATABELA SET ? = ? WHERE WIERSZ= ? ",
(jakasKolumna, wartoscWstawiana1, wiersz1))
dbConnection.commit()

no i to niestety nie działa (dostaję komunikat: "sqlite3.OperationalError: near "?": syntax error".
Nie wiem czy to kwestia moich kiepskich umiejętności czy dwutygniowej izolacji (zapewne jedno i drugie ( ͡° ͜ʖ ͡°) ) ale może mi ktoś pomóc?
lionbest 2020-04-10 19:28:24 +2
@Kohrd: SQLite nie pozwala na parametryzowanie nazw kolumn i tabeli. Jeżeli potrzebujesz coś takiego robić, to zazwyczaj świadczy o złym projekcie bazy danych.

Zazwyczaj to dodaje się kolumnę, która przechowuje nazwę/indeks pola.
lionbest 2020-04-10 19:46:26 +2
@Kohrd: Cała idea bazy danych polega na tym, że operujesz na wierszach, a nie na pojedynczych polach.
Ustawianie jednego pola poprzez UPDATE trwa tyle, co UPDATE wszystkich pól, jednak dla wielu pól, będzie to nieporównywalnie dłużej niż zrobienie jednego UPDATE dla trzech pól (indeksu, nazwy oraz wartości).

Jeżeli to tylko jakiś skrycik to nie przejmuj się, że łączysz ciągi znaków w zapytanie. Możesz napisać zapytanie, które zrobi ci nową tabelę ze starej.
pokaż komentarze (3)
DerMirker 2020-03-11 11:36:25 +0
Przy próbie dodania tutorialowej bazy danych, sqlite zwraca mi taki komunikat. Gdzie leży przyczyna problemu?

#sql #sqlite #naukaprogramowania
furelsom 2020-03-11 11:38:30 +0
@DerMirker: a tak moze coś więcej. Czy plik tam jest? Czy nazwa się zgadza? Czy jest otwarty do zapisu/odczytu? Czy jest prawidłowo utworzony? Czy ma poprawną strukturę? Czy ścieżka dostępu jest zapisana prawidłowo dla danego języka?
furelsom 2020-03-11 11:44:54 +1
@DerMirker: Robisz to pod windą czy pod liunxem? Daj ten tutek bo h-j wie o co chodzi dajesz zdjęcie silnika i mówisz że nie odpala lol
pokaż komentarze (19)
TMBRK 2020-02-17 14:03:36 +0
Siema mirasy. Znowu mam pytanie z bazami. Próbuję sobie zmodelować bazę, tylko mam problem bo dokładnie nie wiem jak to rozwiązać. Mam sobie tabelę z userami: id, username, password, foreign key powiązany z tabelą z notatkami. W notatkach będzie id, oraz notatka jako (TEXT). Notatek będzie wiele, jak to polecacie zrobić? Dodawać kolejne pole w bazie? Czy może dodawać wszystko do jednego pola i sobie jakoś to dzielić po stronie użytkownika?
Robię sobie prostą aplikację do zarządzania notatkami, baza #sqlite, #python
#naukaprogramowania #bazydanych #sql
nutellowy 2020-02-17 14:08:45 +0
croppz 2020-02-17 14:24:23 +3
Mam sobie tabelę z userami: id, username, password, foreign key powiązany z tabelą z notatkami.

@TMBRK: jeżeli dobrze rozumiem, to masz tu relację zrobioną od d--y strony. To notatka powinna mieć id właściciela, a nie user id wszystkich swoich notatek.
pokaż komentarze (1)
mateusza 2020-01-04 01:10:53 +8
Mireczki napisałem grę. ( ͡° ͜ʖ ͡°)

Hangmana w całości w #sql ( #sqlite ) Może kogoś zainteresuje.

https://github.com/mateusza/sqlite-hangman

#programowanie #bazydanych
GaiusBaltar 2020-01-04 01:16:32 +0
@mateusza:

`Insert Into h_words( word ) Select Cast ( atom As Blob ) From JSON_Each(
X'5b22222c2270697065222c2277656c6c222c22696e647573747279222c2266616c6c222c' ||
X'2261726368222c22666c6f776572222c2273687574222c2273616665222c22706c656173' ||
X'65222c2267726970222c22646179222c226d6f6f6e222c2273706f6f6e222c22696e6b22' ||
X'2c226d617373222c227265616479222c22736f7570222c2262656e74222c226e6f736522' ||
X'2c22736b696e222c22776574222c22657175616c222c227363616c65222c22706f727465' ||

(...)

X'6d756368222c226f7267616e697a6174696f6e222c2273746174696f6e222c2273637265' ||
X'77222c22667269656e64222c22656c6173746963222c22746f65222c2277616c6c222c22' ||
X'6361727269616765222c22756e646572222c22677265656e225d'
`

its bjutiful ( ͡° ͜ʖ ͡°)
mateusza 2020-01-04 01:19:47 +0
@GaiusBaltar: To żeby się nie rzucały w oczy ( ͡° ͜ʖ ͡°) oczywiście można podejrzeć prosty selectem.

Pewnie w kolejnej wersji to usunę i zrobię plain text. Szkoda, że SQLite nie ma base64() albo rot13()
pokaż komentarze (2)
mateusza 2019-12-31 17:23:04 +2
Moje poprzednie pytanie zostało trochę błędnie zinterpretowane i odpowiedzi, które uzyskałem opisywały zagadnienie, które mnie nie interesowało. Dlatego powtarzam pytanie, ale z innym przykładem:

Pytanie do wszystkich #programista15k w szczególności zajmujących się #programowanie #sql

Macie w bazie (np. #mysql #sqlite #postgres ) sporą tabelkę zawierającą produkty wraz z ceną, kategorią i sprzedawcą.

CREATE TABLE products ( id INT, price INT, category TEXT, vendor TEXT );

Użytkownik jako zapytanie podaje:
- listę interesujących go produktów składającą się z kategorii i przedziału cenowego min-max (lista dowolnej długości, kategorie mogą się powtarzać a przedziały nakładać)
- listę sprzedawców (lista dowolnej długości)

Chcemy przefiltrować tabelkę products aby znaleźć tylko te, które znajdują się we wskazanym zakresie cenowym i kategorii oraz są sprzedawane tylko przez wskazanych na liście sprzedawców.

Jak byście to zaimplementowali w wybranym języku programowania ( np. #php #python #java #csharp #rubyonrails #go #rust #perl #nodejs )?

Jak byście to zrobili, żeby użyć prepared statements?

To nie jest praca domowa ani zadanie w pracy jakby co :-) Znam rozwiązanie, ale ciekawi mnie, czy ktoś zaproponuje coś lepszego.

Wołam @globalbus @wielkibanan @zibizz1 @globalbus
globalbus 2019-12-31 17:25:58 +1
- listę sprzedawców (lista dowolnej długości)

@mateusza: typ array z postgresa :P
jaketu 2019-12-31 17:35:49 +0
@mateusza czy to co podałeś to struktura docelowa bazy ?
pokaż komentarze (2)
mateusza 2019-12-31 14:54:10 +0
Pytanie do wszystkich #programista15k w szczególności zajmujących się #programowanie i #sql #mysql #sqlite #postgresql #postgres

Macie w bazie (np. MySQL, Postgres, SQLite) sporą tabelkę zawierającą punkty z przypisanym słowem kluczowym:
CREATE TABLE points ( x INTEGER, y INTEGER, keyword TEXT );

Użytkownik jako zapytanie podaje:
- listę interesujących go regionów (lista dowolnej długości)
- listę słów kluczowych (lista dowolnej długości)

Sposób zdefiniowana regionów jest drugorzędny, można zrobić dowolny z kształtów lub zaproponować jakiś inny:
- prostokąty (x1,y1,x2,y2)
- koła (x,y,promień)
- kwadraty (x,y,bok)

Chcemy przefiltrować tabelkę points, aby znaleźć tylko te, które znajdują się w którymś z regionów i zawierają słowo kluczowe z podanej listy.

Regiony mogą na siebie nachodzić, ale punkt znajdujący się w kilku regionach wolelibyśmy dostać w zbiorze wynikowym tylko raz.

Jak byście to zaimplementowali w wybranym języku programowania ( np. #php #python #java #csharp #rubyonrails #go #rust #perl #nodejs )?

Jak byście to zrobili, żeby użyć prepared statements?

To nie jest praca domowa ani zadanie w pracy jakby co :-) Znam rozwiązanie, ale ciekawi mnie, czy ktoś zaproponuje coś lepszego.
LolsLols 2019-12-31 15:06:15 +0
globalbus 2019-12-31 15:07:45 +7
@mateusza: postgis i typy geometry
pokaż komentarze (9)
anonimoweUWP 2019-07-15 10:07:46 +0
Mam bazę w #sqlite i w niej 2 tabele - główną i powiązaną.
Na każdy wiersz w głownej przypada jakiś 1Kb danych w tabeli powiązanej. Te dane to rozbity na części json, bo tak łatwiej coś "znaleźć"

Teraz pytanie czy nie lepiej (ze względu np na flasha/ssd, wydajność) zrobić 1 główna tabelę, w której będzie cały json i go w uaktualniać?
O transakcji pamiętam.


#programowanie

Które rozwiązanie lepsze

  • 2 tabele (1)
  • 1 tabela (3)
  • inne rozwiązanie - w komentarzu (5)
anonimoweUWP 2019-07-15 10:36:02 +0
Czuję się jak na elektrodzie. Jak zaznaczacie trzecią odpowiedź, to może zasugerujcie w komentarzu lepsze rozwiązanie i się nim podzielcie zamiast tylko wskazać, że zrobilibyście to lepiej lub inaczej.
asciiterror 2019-07-15 12:53:43 +1
@anonimoweUWP: rozumiem, to tylko taka wzmianka na przyszłość / dla postronnych osób
pokaż komentarze (8)