Give the syntax of GRANT commands?

The generic syntax for GRANT is as following

GRANT [rights] on [database] TO [username@hostname] IDENTIFIED BY [password]

Now rights can be:
a) ALL privilages
b) Combination of CREATE, DROP, SELECT, INSERT, UPDATE and DELETE etc.

We can grant rights on all databse by using *.* or some specific database by database.* or a specific table by database.table_name.

CREATE USER ‘user01’@’localhost’ IDENTIFIED BY ‘mypass’;

GRANT ALL ON db1.* TO 'user01'@'localhost';
GRANT SELECT ON db2.invoice TO 'user01'@'localhost';
GRANT USAGE ON *.* TO 'user01'@'localhost' WITH MAX_QUERIES_PER_HOUR 90;

Give the syntax of REVOKE commands?

The generic syntax for revoke is as following

REVOKE [rights] on [database] FROM [username@hostname]

The REVOKE statement enables system administrators to revoke privileges from MySQL accounts.

Now rights can be:
a) ALL privileges
b) Combination of CREATE, DROP, SELECT, INSERT, UPDATE and DELETE etc.

We can grant rights on all database by using *.* or some specific database by database.* or a specific table by database.table_name.

REVOKE INSERT ON *.* FROM 'user01'@'localhost';

What is the difference between CHAR and VARCHAR data types?

CHAR is a fixed length data type. CHAR(n) will take n characters of storage even if you enter less than n characters to that column. For example, “Hello!” will be stored as “Hello! ” in CHAR(10) column.

VARCHAR is a variable length data type. VARCHAR(n) will take only the required storage for the actual number of characters entered to that column. For example, “Hello!” will be stored as “Hello!” in VARCHAR(10) column.