Skip to main content
Get a VillageSQL Server instance running, connect to it, and try out the extension system.

Step 1: Install VillageSQL

Install VillageSQL using the official installation script:
curl https://villagesql.com/shell | sh
This script will download and install the latest VillageSQL binary for your platform.

Option B: Build from Source

For development or custom builds, follow the Clone and Build from Source Guide to compile from the latest code.

Step 2: Connect to the Server

Once your server is running, you can connect to it using any standard MySQL client.
mysql -u root -p

Step 3: Install Your First Extension

You can dynamically load extensions to add new data types and features. Install the vsql_complex extension to add support for complex numbers.
  1. Check currently installed extensions:
    SELECT extension_name, extension_version
    FROM INFORMATION_SCHEMA.EXTENSIONS;
    
  2. Install the extension:
    INSTALL EXTENSION vsql_complex;
    
  3. Verify installation:
    SELECT extension_name, extension_version
    FROM INFORMATION_SCHEMA.EXTENSIONS;
    
    You should see vsql_complex listed.

Step 4: Use Extended Data Types

Now that the extension is active, you can use the COMPLEX data type in your tables just like native types.
-- Create a database and use it
CREATE DATABASE demo;
USE demo;

-- Create a table using the new COMPLEX type
CREATE TABLE electronic_components (
    id INT PRIMARY KEY,
    name VARCHAR(50),
    impedance COMPLEX
);

-- Insert complex number values (using string literals)
INSERT INTO electronic_components VALUES
    (1, 'Resistor', '(100,0)'),
    (2, 'Inductor', '(0,50)'),
    (3, 'Capacitor', '(25,-75)');

-- Query the data
SELECT * FROM electronic_components;

-- Use extension functions
SELECT
    name,
    impedance,
    complex_abs(impedance) AS magnitude,
    complex_real(impedance) AS resistance,
    complex_imag(impedance) AS reactance
FROM electronic_components;

Next Steps

Now that you have VillageSQL running and have verified the extension system, explore more:

Managing Extensions

Learn how to install and manage other extensions.

Create an Extension

Learn how to build your own extensions for VillageSQL.