-- show databasesSHOW DATABASES;-- show users and show privilegesSELECT *FROM mysql.user;-- create and drop schema/databseCREATE SCHEMA testschema;DROP SCHEMA IF EXISTS testschema;CREATE DATABASE testdb;CREATE DATABASE IF NOT EXISTS testdb;DROP DATABASE IF EXISTS test;-- create privileged userCREATE USER 'admin'@'localhost' IDENTIFIED BY 'admin';GRANT ALL PRIVILEGES ON *.* TO 'admin'@'localhost';FLUSH PRIVILEGES;SHOW GRANTS FOR admin@localhost;-- remove all privilegesREVOKE ALL PRIVILEGES, GRANT OPTION FROM user@localhost;SHOW GRANTS FOR admin@localhost;-- drop userDROP USER 'admin'@'localhost';-- grant specific privilegesCREATE USER 'user'@'localhost' IDENTIFIED BY 'password';SHOW GRANTS FOR user@localhost;GRANT ALL ON world.* TO 'user'@'localhost';SHOW GRANTS FOR user@localhost;USE world;SHOW TABLES;SHOW TABLE STATUS LIKE 'city';SHOW ENGINES;ALTER TABLE city ENGINE = 'myisam';DESC city;DESCRIBE country;DESCRIBE countrylanguage;SHOW CREATE TABLE city;-- crud-- readSELECT *FROM cityLIMIT 5;SELECT *FROM countryLIMIT 5;SELECT *FROM countrylanguageLIMIT 5;-- country who has the largest percentage of population speaking englishSELECT c.nameFROM country AS c INNER JOIN (SELECT countrycode FROM countrylanguage WHERE percentage = (SELECT max(percentage) AS percentage FROM countrylanguage WHERE language = 'english') AND language = 'english') AS cl ON c.code = cl.countrycode;-- percentage of chinese speaking population in the world populationSELECT concat(round((SELECT sum(population.population) FROM (SELECT pbp.population * pbp.percentage / 100 AS population FROM (SELECT c.population, cl.percentage FROM country AS c INNER JOIN (SELECT * FROM countrylanguage WHERE language = 'chinese') AS cl ON c.code = cl.countrycode) AS pbp) AS population) / (SELECT sum(population) FROM country) * 100, 2), '%') AS ratio;-- createINSERT INTO city (name, countrycode, district, population)VALUES ('shenzhen', 'chn', 'unknown', 10000000);SELECT *FROM cityORDER BY id DESCLIMIT 1;CREATE TABLE person( id int NOT NULL AUTO_INCREMENT, firstname varchar(30), lastname varchar(30), home_country_code char(3), CONSTRAINT pk_id PRIMARY KEY (id)) ENGINE = innodb;CREATE TABLE student( id int NOT NULL AUTO_INCREMENT, personid int NOT NULL, CONSTRAINT pk_id PRIMARY KEY (id), CONSTRAINT fk_person FOREIGN KEY (personid) REFERENCES person (id) ON UPDATE CASCADE ON DELETE CASCADE) ENGINE = innodb;DESC student;ALTER TABLE student ADD COLUMN school varchar(50), ADD COLUMN grade int UNSIGNED, ADD COLUMN class int UNSIGNED;DESC student;INSERT INTO student (personid, school) -- should fail because of foreign key constraint, the personid dne in person tableVALUES (10, 'bcs');INSERT INTO person (firstname, lastname)VALUES ('first', 'last');INSERT INTO person (id, firstname, lastname)VALUES (100, 'one', 'two');SELECT *FROM person;INSERT INTO student (personid, school)VALUES ((SELECT id FROM person LIMIT 1), 'bcs');INSERT INTO student (personid, school)VALUES (100, 'uoft');SELECT *FROM student;-- updateUPDATE personSET id=99, firstname='three', lastname='four'WHERE id = 100;SELECT *FROM person;SELECT *FROM student;-- check cascading update student's personid-- deleteDELETEFROM personWHERE id = 99;SELECT *FROM student; -- check cascading delete student with person id=100DELETEFROM person;DELETEFROM student;DROP TABLE IF EXISTS student;DROP TABLE IF EXISTS person;