Databases
From Cheatsheet
Jump to navigationJump to search
MYSQL / MARIADB
Login
# Activate the MySQL CLI (as user with proper permission) mysql; # Authenticate into the MySQL CLI mysql -u MyUser -p; # Authenticate into a specific database mysql -u MyUser -p MyDatabase;
Checks and queries
Common
# Show all databases; SHOW DATABASES; # Switch to database MyDatabase USE MyDatabase; # Show all tables within the database SHOW TABLES; # Show information about the contents of table users DESCRIBE users; # Show indexes and additional information for table dogs SHOW INDEXES FROM dogs; # Exit the MySQL CLI exit
Users
# List created users SELECT user FROM mysql.user; # See privileges for the user johan SHOW GRANTS FOR johan;
Select
# Show all contents of table animals SELECT * FROM animals; # Select the first 5 results from animals, but ordered by the breed column SELECT * FROM animals ORDER BY breed DESC LIMIT 5;
Configuration
# Create a database
CREATE DATABASE mydb;
# Switch to database mydb and create table "syslog" in it, with specific kinds of properties/columns
USE mydb;
CREATE TABLE syslog (
log_id BIGINT AUTO_INCREMENT,
year YEAR,
month TINYTEXT,
day SMALLINT,
time TIME,
severity TINYTEXT,
facility TINYTEXT,
client TINYTEXT,
binaryname TINYTEXT,
messagecode MEDIUMINT UNSIGNED,
logmessage TEXT,
primary key(log_id)
);
# Insert a row with values into the "syslog" table, containing values for each defined column
INSERT INTO syslog (year, month, day, time, severity, facility, client, binaryname, messagecode, logmessage) VALUES ('2024', 'Mar', '19', '11:34:33', 'info', 'syslog', 'pylot', 'rsyslogd', '81615', '[origin software="rsyslogd" swVersion="8.2302.0" x-pid="114103" x-info="https://www.rsyslog.com"] start');
# Delete a table
DROP TABLE syslog;
Users and permissions
# Create a user called admin, with a password CREATE USER 'admin'@'localhost' IDENTIFIED BY 'p4ssw0rd'; # Give all rights to a user called admin, on database mydb GRANT ALL PRIVILEGES ON mydb.* TO 'admin'@'localhost' WITH GRANT OPTION; # Allow the monitoring user to login from external IP 1.2.3.4, and give him all rights on database alerts GRANT ALL ON alerts.* to monitoring@'1.2.3.4' IDENTIFIED BY 'P455w0rd'; # Give user zoey read-only rights on database customers GRANT SELECT ON customers.* TO 'zoey'@'%' IDENTIFIED BY 'P4ssw0rd';
Postgres
# Log into the Postgres CLI psql # List all databases \l # Connect to a database psql -d mydatabase -U databaseuser –W # Switch to the new database connection \c mydatabase databaseuser # List all tables \dt # Quit the Postgres CLI \q