SQL can be used to perform the following actions:
- Retrieve data
- Update data
- Delete data
- Create new tables and databases
- Add / remove users
- Assign permissions to these users
Command Line
mysql
utility can be used to interact with MySQL/MariaDB database.
-u
- username
-p
- password, should be passed empty so that password is prompted later.
Create Database
mysql> CREATE DATABASE users;
Query OK, 1 row affected (0.02 sec)
To list databases and choose a database:
mysql> SHOW DATABASES;
+--------------------+
| Database |
+--------------------+
| information_schema |
| mysql |
| performance_schema |
| sys |
| users |
+--------------------+
mysql> USE users;
Database changed
Tables
e.g Create a table named logins
to store user data, using CREATE TABLE
SQL query:
CREATE TABLE logins (
id INT,
username VARCHAR(100),
password VARCHAR(100),
date_of_joining DATETIME
);
To list tables:
mysql> SHOW TABLES;
+-----------------+
| Tables_in_users |
+-----------------+
| logins |
+-----------------+
1 row in set (0.00 sec)
DESCRIBE
- Used to list the table structure with its fields and data types:
mysql> DESCRIBE logins;
+-----------------+--------------+
| Field | Type |
+-----------------+--------------+
| id | int |
| username | varchar(100) |
| password | varchar(100) |
| date_of_joining | date |
+-----------------+--------------+
4 rows in set (0.00 sec)
Table Properties
AUTO_INCREMENT
- automatically increments the id by one every time a new item is added to the table:
id INT NOT NULL AUTO_INCREMENT,
NOT NULL
- ensures that a particular column is never left empty.
UNIQUE
- ensures that the inserted item are always unique.
username VARCHAR(100) UNIQUE NOT NULL,
DEFAULT
- Specify the default value:
username VARCHAR(100) UNIQUE NOT NULL,
PRIMARY KEY
- Used to uniquely identify each record in the table.
Below, we make the id
column the PRIMARY KEY
:
PRIMARY KEY (id)