NewCraftRank SitesA free website and storeMake yours ›
1.10.41CraftRank Launcher is out Download ›AshlarFree server software built on Paper, with DDoS and backdoor protection See Ashlar ›Server ownersYour own launcher with your name, logo and one click onto your server See themes ›
Resources / Plugins / skript-db

skript-db

Awesome direct database access for Skript

PluginsFree1.18 – 26.x
by 4w3 · listed from Hangar
Download ›

Opens Hangar · 546 downloads there

What it does

Awesome direct database access for Skript

skript-db is a plugin for Paper / Spigot servers, made by 4w3. It supports Minecraft 1.18 – 26.x. It has been downloaded 546 times on Hangar. That puts it at #197 of the 398 admin and permission plugins listed here. The last update came out on Sep 16, 2026.

Supported versions

26.x1.211.201.191.18

Release history

skript-db has had 2 releases on Hangar since Mar 14, 2025. One of them came out in the past year. The newest is 2.0.0, released on Sep 16, 2026. It is made for Minecraft 1.21 – 26.3. It runs on Paper. The download is 2.2 MB.

VersionReleasedMinecraftType
2.0.0Sep 16, 20261.21 – 26.3Release
1.5.0Mar 14, 20251.18 – 1.21.4Release
Description from the author on Hangar

skript-db

Awesome direct database access for Skript

This is a fork of btk5h's skript-db, rewritten to function with Minecraft versions 1.21 up to 26.x (Skript 2.14 and newer), including bug fixes, performance improvements, transactions and batch statements

What makes skript-db different from other SQL addons?

  • Automatic SQL injection protection
  • Support for connections to multiple databases
  • An amazingly intuitive list variable system for reading query outputs
  • Transactions and batch statements for many rows in one round trip

Syntax

[the] data(base|[ ]source) [(of|at)] %string% [with [a] [max[imum]] [connection] life[ ]time of %timespan%] [[(using|with)] [a] driver %-string%]

Examples

set {sql} to the database "mysql://localhost:3306/mydatabase?user=admin&password=12345&useSSL=false"
set {sql} to the database "mariadb://localhost:3306/mydatabase?user=admin&password=12345"
set {sql} to the database "postgresql://localhost:5432/mydatabase?user=admin&password=12345&ssl=false"
set {sql} to the database "sqlite:plugins/database.db"

Extra parameters:

set {sql} to the database "postgresql://localhost:5432/mydatabase?user=admin&password=12345&ssl=false" with a maximum connection lifetime of 30 minutes
set {sql} to the database "postgresql://localhost:5432/mydatabase?user=admin&password=12345&ssl=false" with a maximum connection lifetime of 30 minutes using driver "org.postgresql.Driver"


Effect Execute Statement

Executes a statement on a database and optionally stores the result in a variable. Expressions
embedded in the query are bound as parameters, so they can never change the meaning of the statement.
A list expression such as %{_ids::*}% expands to one parameter per value, which makes IN (...) easy.

If a single variable, such as {test}, is passed, the variable will be set to the number of
affected rows, or the number of rows of a query. With generated keys it receives the first key created by an insert.

If a list variable, such as {test::*}, is passed, the query result will be mapped to the list
variable in the form {test::::}. {test::} holds the column name, so
loop {test::*} iterates over the columns. The list is emptied before the result is stored.

with arguments binds the given values to the question marks of the statement. with batch arguments runs the
statement once per sub list of a list variable, all in one round trip and one transaction.

If quickly is specified, the SQL query will be done without jumping back to the main thread, which saves waiting
for the next tick, however that makes code after it to also be on a separate thread, you can jump back to the main
thread by adding wait a tick.

Syntax

[quickly] execute %string% (in|on) %datasource% [with [batch] arg[ument][s] %-objects%] [and store [the] [generated keys] [(output|result)[s]] (to|in) [the] [var[iable]] %-objects%]

Examples

execute "select * from players" in {sql} and store the result in {output::*}
execute "select * from players where name = %{_name}% and score > %{_min}%" in {sql} and store the result in {output::*}
execute "select name from players where id in (%{_ids::}%)" in {sql} and store the result in {output::}
execute "insert into scores (name, score) values (?, ?)" in {sql} with arguments "Steve", 100 and store the generated keys in {_id}
set {_rows::1::*} to "Steve", 100
set {_rows::2::*} to "Alex", 250
execute "insert into scores (name, score) values (?, ?)" in {sql} with batch arguments {_rows::*} and store the result in {_count}


Section Transaction

Runs every statement inside the section on one connection as a single transaction and commits at the end of the
section. If a statement fails, everything is rolled back, the rest of the section is skipped and
last sql error holds the reason. Do not leave the section with stop, exit or return.

Syntax

[(sql|database)] transaction (on|in) %datasource%:

Examples

transaction on {sql}:
execute "update accounts set balance = balance - %{_amount}% where id = %{_from}%" in {sql}
execute "update accounts set balance = balance + %{_amount}% where id = %{_to}%" in {sql}
if last sql error is set:
send "Transfer failed: %last sql error%"


Expression Last Data Source Error => text

Stores the error from the last executed statement or transaction of the current trigger, if there was one.

Syntax

[the] [last] (sql|db|data(base|[ ]source)) error


Expression Unsafe Expression => text

Opts out of automatic SQL injection protection for a specific expression in a statement. Needed for table and
column names, which cannot be parameters. Never use it with player input.

Syntax

unsafe %text%

Examples

execute "select %unsafe {columns variable}% from %unsafe {table variable}%" in {sql}
execute unsafe {fully dynamic query} in {sql}

Written by 4w3. Read it with pictures on Hangar.

How to install skript-db

  1. Make sure your server runs Paper and Spigot on Minecraft 1.18 – 26.x.

  2. Install what it needs first: Skript.

  3. Download the .jar file from Hangar and put it in the plugins folder of your server.

  4. Restart the server. Avoid /reload, many plugins do not handle it well.

  5. Type /plugins in the console: skript-db should be listed in green. Its config files are created in the plugins folder on the first start.

Compatibility

Minecraft versions
26.x, 1.21, 1.20, 1.19, 1.18
Runs on
Paper, Spigot
Edition
Java
Needs
Skript
License
MIT
Price
Free
Upkeep
Actively updated (Nov 10, 2026)

skript-db compared with similar ones Compare all alternatives

ResourceDownloadsVersionsLast updatePrice
skript-dbthe one you looked at5461.18 – 26.xSep 16, 2026Free
SkriptAPickledWalrus284K1.20 – 26.x19 days agoFree
LoginToYager40068K1.8 – 26.x25 days agoFree
pluginuploaderRylix58K1.21Sep 19, 2025Free

Questions

Does skript-db work on Minecraft 26.x?

Yes. skript-db supports Minecraft 26.x. All supported versions: 26.x, 1.21, 1.20, 1.19, 1.18.

Is skript-db free?

Yes. skript-db is free to download from Hangar.

Which server software does skript-db run on?

skript-db runs on Paper and Spigot servers.

Does skript-db need anything else?

Yes: Skript. Install it before skript-db.

Is skript-db still updated?

Yes. The last update came out in the past day.

What are the best alternatives to skript-db?

The closest ones are Skript, LoginTo and pluginuploader. Compare all alternatives

Alternatives to skript-db

SkriptPlugins · 1.20 – 26.x

Skript is a Paper plugin which allows server admins to customize their server easily, but without the hassle of programming a plugin or asking/paying someone…

Free283,522 downloads
LoginToPlugins · 1.8 – 26.x

A complete authentication solution for Minecraft servers, providing secure login, database storage, premium autologin and secure otp code with qrcode

Free67,900 downloads
pluginuploaderPlugins · 1.21

This is a custome plugin with that you can upload custome plugin with the direct download link. command: /pluginupload <link>

Free57,756 downloads
ccPlaytimePlugins · 26.x

Modern playtime tracking with leaderboards, rewards, placeholders and database support.

Free21 downloads
Compare all alternatives ›

Reviews

–★★★★★
0 reviews
50
40
30
20
10

Log in to leave a review.