rSQL allows you to quickly query instances in your game. This plugin is heavily in beta, meaning certain queries will error and a lot isn’t possible yet. If you have SQL knowledge, this plugin should feel easy to use.
How to use
The shortcut for opening is CTRL + SPACE. Currently, it is not customizable.
Statements
A minimal statement should contain a SELECT clause and a FROM clause. An optional WHERE clause can be added to filter properties.
Example statement:
select Humanoid from workspace where Health < 100
Select certain classes with a simple statement.
Expand the statement to filter your query even more.
Select multiple classes.
Use the special $selected keyword to prevent having to type out entire path names. (Currently unavailable because of the rewrite but will be added next update)
Upcoming features
$selected keyword that you can use in from clause to add the selected instances to the from clause.
A CONTAINS keyword to check if a string contains a substring.
More property types in WHERE clause (vectors, colors, booleans etc).
A keyword like $parent for selecting parents of the queried instances.
If you have other ideas for features the plugin should have, do not hesitate to leave feedback. It only motivates me to expand the plugin. I love programming😎
The plugin has been completely rewritten from the ground up. Instead of using string manipulation, it now uses a lexer, parser and interpreter to run rSQL statements. Stuff like math and dynamic property access is now possible in queries. We can actually call it a programming language now!
Changelog
Paths now resolve correctly. You can now get nested instances in from and where clauses. from workspace.Child.Descendant
It’s now possible to access children with spaces in their name. The syntax is the same as luau syntax (workspace[“child name”]).
self keyword has been added. It can be used in where clauses like so: where self.Name == "Decal". If self is omitted, self will be added internally and it’ll work the same.
Dynamic datamodel access in where clauses. where Name == workspace.SpawnLocation.Decal.Name.
Equals operator = was changed to == to match luau more.
Support for and and or operators in where clause. These use the same operator precedence as luau.
Support for math in queries, including floor division and modulo.
$selected keyword has been not been added in the rewrite yet, so it will error. This will be added in a later update.
Settings window has not been rewritten yet and wasn’t very useful so it will be left out for now. I do plan on adding it in a later update though.
Examples of queries that are now possible
select Part, Decal, Player from workspace, Players where Name == “Daimywil” or Name == “Baseplate”
select BasePart from game where self.Transparency == workspace.Baseplate.Transparency / 2 * 2
Upcoming features in the main post has been updated if you’re curious on what’s coming next.