# `INSERT` statement - Used to add a record (i.e., a row) to a table - Example specifying values for every column ```mysql mysql> INSERT INTO logins VALUES(1, 'admin', 'p@ssw0rd', '2020-07-02'); Query OK, 1 row affected (0.00 sec) ``` - Example specifying values for specific columns - Note: skipping columns with the 'NOT NULL' constraint will result in an error, as it is a required value ```mysql mysql> INSERT INTO logins(username, password) VALUES('administrator', 'adm1n_p@ss'); Query OK, 1 row affected (0.00 sec) ``` - Example inserting multiple records at once using comma separation ```mysql mysql> INSERT INTO logins(username, password) VALUES ('john', 'john123!'), ('tom', 'tom123!'); Query OK, 2 rows affected (0.00 sec) Records: 2 Duplicates: 0 Warnings: 0 ``` # `SELECT` statement - Used to retrieve data from a table ```mysql mysql> SELECT * FROM logins; +----+---------------+------------+---------------------+ | id | username | password | date_of_joining | +----+---------------+------------+---------------------+ | 1 | admin | p@ssw0rd | 2020-07-02 00:00:00 | | 2 | administrator | adm1n_p@ss | 2020-07-02 11:30:50 | | 3 | john | john123! | 2020-07-02 11:47:16 | | 4 | tom | tom123! | 2020-07-02 11:47:16 | +----+---------------+------------+---------------------+ 4 rows in set (0.00 sec) mysql> SELECT username,password FROM logins; +---------------+------------+ | username | password | +---------------+------------+ | admin | p@ssw0rd | | administrator | adm1n_p@ss | | john | john123! | | tom | tom123! | +---------------+------------+ 4 rows in set (0.00 sec) ``` # `DROP` statement - Used to remove tables, columns, dbs, etc. - NOTE:  the `DROP` statement will permanently and completely delete a table with no confirmation, so it should be used with caution - Example deleting a table ```mysql mysql> DROP TABLE logins; Query OK, 0 rows affected (0.01 sec) mysql> SHOW TABLES; Empty set (0.00 sec) ``` # `ALTER` statement - Used to change the name of a table or its fields - Can also be used to delete or add a new column to an existing table - Adding a column ```mysql mysql> ALTER TABLE logins ADD newColumn INT; Query OK, 0 rows affected (0.01 sec) ``` - Renaming a column ```mysql mysql> ALTER TABLE logins RENAME COLUMN newColumn TO newerColumn; Query OK, 0 rows affected (0.01 sec) ``` - Changing a column's data type ```mysql mysql> ALTER TABLE logins MODIFY newerColumn DATE; Query OK, 0 rows affected (0.01 sec) ``` - Removing a column in concert with `DROP` ```mysql mysql> ALTER TABLE logins DROP newerColumn; Query OK, 0 rows affected (0.01 sec) ``` # `UPDATE` statement - Used to change a table's properties ```mysql mysql> UPDATE logins SET password = 'change_password' WHERE id > 1; Query OK, 3 rows affected (0.00 sec) Rows matched: 3 Changed: 3 Warnings: 0 mysql> SELECT * FROM logins; +----+---------------+-----------------+---------------------+ | id | username | password | date_of_joining | +----+---------------+-----------------+---------------------+ | 1 | admin | p@ssw0rd | 2020-07-02 00:00:00 | | 2 | administrator | change_password | 2020-07-02 11:30:50 | | 3 | john | change_password | 2020-07-02 11:47:16 | | 4 | tom | change_password | 2020-07-02 11:47:16 | +----+---------------+-----------------+---------------------+ 4 rows in set (0.00 sec) ```