A MariaDB Primer Guide
MariaDB Primer

This primer offers a quick jump-start for beginners using an existing MariaDB database via the mariadb command-line client. Learn how to log in, understand basic database concepts, and perform essential SQL operations like creating tables, inserting data, and retrieving or modifying records.
Logging into MariaDB
To begin, log into your MariaDB server from your system's command-line:
mariadb -u user_name -p -h ip_address db_nameReplace
user_namewith your MariaDB username.Replace
ip_addresswith the hostname or IP address of your MariaDB server. If you are accessing MariaDB from the same server you're logged into (i.e., locally), you can usually omit the-h ip_addresspart.Replace
db_namewith the name of the database you wish to access (e.g.,test). Some setups may have atestdatabase by default; others might not, or it might have been removed (e.g., bymariadb-secure-installation). If unsure, or if you want to connect without selecting a specific database initially, you can omitdb_name.
You will be prompted to enter your password. If your login is successful, you will see a prompt similar to this:
MariaDB [test]>The "MariaDB" indicates you are connected to a MariaDB server. The name within the brackets (e.g., test) is your current default database. If no database was specified or successfully connected to, it might show [(none)].
Understanding Database Basics and Setup
SQL (Structured Query Language): This is the language used to interact with MariaDB. An SQL statement that requests data is called a query.
Tables: Databases store information in tables, which are structured like spreadsheets with rows and columns, but are much more efficient for data management.
Example Setup:
If the test database is empty or doesn't exist, you can run the following SQL statements to create and populate tables for the examples in this primer. Copy and paste these into the mariadb client prompt.
CREATE DATABASE IF NOT EXISTS test;
USE test;
CREATE TABLE IF NOT EXISTS books (
BookID INT NOT NULL PRIMARY KEY AUTO_INCREMENT,
Title VARCHAR(100) NOT NULL,
SeriesID INT,
AuthorID INT
);
CREATE TABLE IF NOT EXISTS authors (
id INT NOT NULL PRIMARY KEY AUTO_INCREMENT
-- You would typically add more columns like name, etc.
);
CREATE TABLE IF NOT EXISTS series (
id INT NOT NULL PRIMARY KEY AUTO_INCREMENT
-- You would typically add more columns like series_name, etc.
);
INSERT INTO books (Title, SeriesID, AuthorID) VALUES
('The Fellowship of the Ring', 1, 1),
('The Two Towers', 1, 1),
('The Return of the King', 1, 1),
('The Sum of All Men', 2, 2),
('Brotherhood of the Wolf', 2, 2),
('Wizardborn', 2, 2),
('The Hobbbit', 0, 1); -- Note: "Hobbbit" is intentionally misspelled for a later exampleSemicolons (
;): Themariadbclient allows complex SQL statements over multiple lines. It sends the statement to the server for execution only after you type a semicolon (;) and press [Enter].
Exploring Your Database Structure
Listing Tables:
To see the tables in your current database:
SHOW TABLES;Output (example):
+----------------+
| Tables_in_test |
+----------------+
| authors |
| books |
| series |
+----------------+
3 rows in set (0.00 sec)Describing a Table:
To get information about the columns in a table (like their names and types):
DESCRIBE books;Output (example):
+----------+--------------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
+----------+--------------+------+-----+---------+----------------+
| BookID | int(11) | NO | PRI | NULL | auto_increment |
| Title | varchar(100) | NO | | NULL | |
| SeriesID | int(11) | YES | | NULL | |
| AuthorID | int(11) | YES | | NULL | |
+----------+--------------+------+-----+---------+----------------+The Field column lists the column names, which you'll need to retrieve specific data.
Retrieving Data (SELECT)
To retrieve data from a table, use the SELECT statement.
SELECT * FROM books;The asterisk (
*) is a wildcard meaning "all columns." Output (example):
+--------+----------------------------+----------+----------+
| BookID | Title | SeriesID | AuthorID |
+--------+----------------------------+----------+----------+
| 1 | The Fellowship of the Ring | 1 | 1 |
| 2 | The Two Towers | 1 | 1 |
| 3 | The Return of the King | 1 | 1 |
| 4 | The Sum of All Men | 2 | 2 |
| 5 | Brotherhood of the Wolf | 2 | 2 |
| 6 | Wizardborn | 2 | 2 |
| 7 | The Hobbbit | 0 | 1 |
+--------+----------------------------+----------+----------+
7 rows in set (0.00 sec)Adding Data (INSERT)
To add new rows to a table, use the INSERT statement.
INSERT INTO books (Title, SeriesID, AuthorID)
VALUES ("Lair of Bones", 2, 2);After
INSERT INTO table_name, list the columns you are providing data for in parentheses.The
VALUESkeyword is followed by a list of values in parentheses, in the same order as the listed columns. Output:
Query OK, 1 row affected (0.00 sec)You can run SELECT * FROM books; again to see the newly added row.
Modifying Data (UPDATE)
To change existing data in a table, use the UPDATE statement. Let's correct the spelling of "The Hobbbit".
UPDATE books
SET Title = "The Hobbit"
WHERE BookID = 7;SET Title = "The Hobbit"specifies the column to change and its new value.WHERE BookID = 7is crucial; it specifies which row(s) to update. Without aWHEREclause,UPDATEwould change all rows in the table. Output:
Query OK, 1 row affected (0.00 sec)
Rows matched: 1 Changed: 1 Warnings: 0Run SELECT * FROM books WHERE BookID = 7; to see the correction.
Using MariaDB involves understanding SQL syntax. It doesn't allow for typing mistakes or clauses in the wrong order, but with practice, it becomes straightforward.
See Also
Last updated
Was this helpful?

