SQL бөлімі әр жоба үшін арнайы SQLite дерекқорын қамтамасыз етеді. Сіз кестелер, индекстер және көріністер жасай аласыз, деректерді қолмен өңдей аласыз, кез келген сұраныстарды жаза аласыз және дерекқорға жұмыс ағынынан тікелей қол жеткізе аласыз. Бұл толыққанды SQLite, шектеусіз синтаксиспен: SQLite қолдайтын кез келген нәрсе мұнда да жұмыс істейді.
SQL дерекқоры Tables бөліміндегі кестелерден бөлек сақталады. Біреуінде жасалған өзгерістер екіншісіне әсер етпейді.
Оны қалай ашуға болады
Жоба → Tables → Add Table оң жағындағы SQL түймесін басыңыз.

Кестелер тізіміне оралу үшін бет тақырыбындағы көрсеткіні басыңыз.
SQL бөлімі кестелерді өңдеуге рұқсаты бар топ мүшелеріне қолжетімді. Тек қарау рұқсаты бар пайдаланушылар дерекқор құрылымын көре алады, бірақ оның деректеріне немесе сұраныстарына қол жеткізе алмайды.
Дерекқор құрылымы
Дерекқор ағашы оң жақта көрсетіледі. Ол кестелерді олардың бағандарымен және индекстерімен, содан кейін көріністерді қамтиды. Әр баған өзінің деректер түрін көрсетеді, бастапқы кілт бағандары кілт белгішесімен белгіленеді, ал индекстер UNIQUE атрибутын және олармен байланысты бағандарды көрсетеді.

Құрылымға қатысты барлық әрекеттер түйін мәзірінен қолжетімді: түйінді тінтуірдің оң жақ түймешігімен басыңыз, меңзерді апарғанда пайда болатын ⋮ белгішесін басыңыз немесе ағаштың үстіндегі + түймесін пайдаланыңыз.
| Түйін | Әрекеттер |
|---|---|
| Дерекқор | кесте жасау, көрініс жасау, жаңарту, дерекқорды жүктеу |
| Кесте | ашу, баған қосу, индекс қосу, атын өзгерту, DDL, жаңарту, жою |
| Баған | атын өзгерту, жою |
| Индекс | DDL, жою |
| Көрініс | ашу, DDL, жою |

Кесте жасау. Кесте атауын және бағандарды көрсетіңіз: атауы, түрі, әдепкі мәні, PK және NOT NULL. Ұсыныстардан деректер түрін таңдай аласыз немесе өзіңізді енгізе аласыз. Бірнеше бағанды PK деп белгілесеңіз, олар құрама бастапқы кілтті құрайды.

DDL консольде нысанның CREATE операторын көрсетеді. Бұл оның құрылымын көшіру немесе оны басқа жобада қайта жасау үшін пайдалы.
Ағаштың үстіндегі түймелер нысандарды жасауға, дерекқорды жаңартуға, консольді көрсетуге немесе жасыруға, таңдалған кестенің DDL-ін көруге, дерекқорды жүктеуге немесе дерекқорды тазалауға мүмкіндік береді.

Кесте деректері
Дерекқор ағашындағы кестені басып, оның деректерін ашыңыз. Тор Tables бөліміндегі параққа ұқсас жұмыс істейді:
- Ұяшықты өңдеу үшін оны екі рет басыңыз. Сақтау үшін Enter, болдырмау үшін Esc пернесін басыңыз. Мән дерекқорға бірден жазылады.
- Жолдар. Бос жол қосу үшін + немесе таңдалған жолдарды жою үшін − түймесін басыңыз. Таңдау үшін бірінші бағандағы жол нөмірін басыңыз. Бірнеше жолды таңдау үшін Shift немесе Cmd/Ctrl пернелерін пайдаланыңыз.
-
NULL мәндері
NULLретінде көрсетіледі. Ұяшықты тазалау дерекқорға бос жолды жазады. NULL мәнін жазу үшін сұранысты пайдаланыңыз. - Тордың үстіндегі WHERE және ORDER BY өрістері SQL шарттарын және сұрыптау өрнектерін қабылдайды. Өрнекті енгізіп, Enter пернесін басыңыз. ORDER BY өрісі баған мәзірі арқылы қолданылған сұрыптаудан басым болады.
- Баған мәзірі (баған тақырыбындағы белгіше): өсу немесе кему ретімен сұрыптау немесе ішкі жол бойынша сүзу.
- Деректер айналдырған сайын 100 жолдан тұратын партиялармен жүктеледі. Оң жақтағы есептегіш ағымдағы ауқымды және жолдардың жалпы санын көрсетеді.
- Көріністер тек оқуға арналған.
Консоль

Дерекқор ағашының үстіндегі </> түймесін басып, консольді ашыңыз, ол синтаксистік ерекшеленген сұраныс редакторын және сұраныс нәтижелерін қамтиды.
- Түйме немесе Ctrl+Enter (Mac-та Cmd+Enter) арқылы сұранысты орындаңыз.
-
;арқылы бөлінген бірнеше сұранысты орындай аласыз. Нәтиже деректерді қайтарған соңғы сұраныс қайтарған жолдарды, сондай-ақ зардап шеккен жолдардың жалпы санын көрсетеді. - SQLite қателері сол күйінде көрсетіледі. Бірнеше сұранысты орындаған кезде қате туралы хабарламаға сұраныс нөмірі қосылады:
[2] no such table: .... - Таңдаулылар. Ағымдағы сұранысты атаумен сақтау үшін Add to Favorites түймесін басыңыз. Сақталған сұраныстар редактордың үстінде чиптер ретінде пайда болады: сұранысты жүктеу үшін біреуін басыңыз немесе жою үшін крестті басыңыз. Таңдаулылар браузеріңізде әр жоба үшін бөлек сақталады.
- Соңғы сұранысыңыздың мәтіні сеанстар арасында сақталады.
Дерекқорды жүктеу және тазалау
Download database бүкіл дерекқорды project_<id>_sql.sqlite3 ретінде жүктейді. Оны кез келген SQLite-үйлесімді қолданбамен ашуға, басқа жобаға тасымалдауға немесе Mavibot-тан тыс пайдалануға болады.
Clear database SQL бөліміндегі барлық кестелер мен деректерді жояды. Бұл әрекетті болдырмау мүмкін емес және растау сөзін енгізуді талап етеді. Tables бөліміндегі кестелерге әсер етілмейді.
Калькулятор функциялары
Екі калькулятор функциясы жұмыс ағынынан SQL дерекқорына қол жеткізуге мүмкіндік береді. Екеуі де редактор ұсыныстарында қолжетімді және көмекші оларды таниды.
sql(query, params=null, strict=true)
Сұранысты орындайды.
| Сұраныс | Қайтарылатын мән |
|---|---|
| Нәтижесі бар сұраныс (SELECT, RETURNING, PRAGMA) | Жолдардың JSON тізімі, әр жол нысан ретінде: [{"id": 1, "name": "Anna"}, ...]
|
| Нәтижесі жоқ сұраныс (INSERT, UPDATE, DELETE) | зардап шеккен жолдар саны |
| CREATE, DROP және басқа схема өзгерістері | 0 |
| Қате |
ERROR: <SQLite қате туралы хабарламасы> жолы |
Мысал:
rows = sql("SELECT name, phone FROM clients WHERE city = ?", [city])
n = sql("UPDATE clients SET status = :s WHERE id = :id", {"s": "vip", "id": client_id})
sql_value(query, params=null, strict=true)
sql сияқты жұмыс істейді, бірақ бір мәнді қайтарады: нәтижедегі бірінші жолдың бірінші бағаны.
Егер жолдар болмаса, нәтиже болмаса немесе мән NULL болса, бос жолды қайтарады.
total = sql_value("SELECT count(*) FROM clients")
name = sql_value("SELECT name FROM clients WHERE id = ?", [client_id])
Параметрлер
params мәндерді сұраныс мәтінінен бөлек сұранысқа береді: ? орын белгілері үшін JSON массивін немесе :name орын белгілері үшін JSON нысанын пайдаланыңыз. [...] және {...} ішінде айнымалылар қарапайым айнымалы атаулар ретінде жазылады:
[client_id], [#{client_id}] емес.
Тұтынушыдан алынған кез келген мәндерді params арқылы беріңіз, мысалы, оның аты, телефон нөмірі немесе хабарлама мәтіні. Сұраныс мәтініне тікелей қосылған мән сұраныстың өзін өзгертуі мүмкін.
Қатаң режим
Әдепкі бойынша, strict=true: функция дәл бір сұранысты қабылдайды және сұраныс мәтінінде түсініктемелерге жол бермейді. Бұл тұтынушы хабарламасынан алынған мәннің екінші сұранысты қосуына немесе бастапқы сұраныстың қалған бөлігін қысқартуына жол бермейді.
Бұл шектеуді алып тастау үшін strict=false орнатыңыз, мысалы, ; арқылы бөлінген бірнеше сұранысты орындаған кезде.
Шектеулер
| Шектеу | Мән |
|---|---|
| Бір сұраныстың немесе сұраныстар партиясының орындалу уақыты | 5 секунд |
| Қайтарылатын жолдар | 1000-ға дейін; қосымша жолдар қайтарылмайды |
| Сұраныс мәтінінің ұзындығы | 64 КБ |
| Дерекқор өлшемі | 200 МБ; асып кеткеннен кейін тек оқу және жою қолжетімді |
Тыйым салынған жалғыз пәрмендер — жобаның дерекқорынан тыс ресурстарға қол жеткізетіндер: файл жолымен ATTACH және VACUUM INTO.
Қалғанның бәрі, соның ішінде стандартты VACUUM, PRAGMA және транзакциялар қолдау көрсетіледі.