10. MySQL Part 1: Install, Create, Insert and SELECT
10.2 Working with Databases
Database mhanje tables cha folder. Pratyek application sathi vegla database thevaycha.
CREATE DATABASE cybercourse; -- create
CREATE DATABASE IF NOT EXISTS cybercourse; -- no error if it already exists
SHOW DATABASES; -- list all
USE cybercourse; -- select it for the next commands
SELECT DATABASE(); -- which one am I using?
SHOW TABLES; -- tables inside it
-- DROP DATABASE cybercourse; -- deletes everything inside! (commented on purpose)
| Statement type | Meaning | Examples |
|---|---|---|
| DDL – Data Definition | Structure | CREATE, ALTER, DROP, TRUNCATE, RENAME |
| DML – Data Manipulation | Rows | INSERT, UPDATE, DELETE |
| DQL – Data Query | Reading | SELECT |
| DCL – Data Control | Permissions | GRANT, REVOKE |
| TCL – Transaction Control | Transactions | START TRANSACTION, COMMIT, ROLLBACK |
Why this matters for security
In SQL injection, SELECT schema_name FROM information_schema.schemata and SHOW TABLES-style queries are how an attacker maps your databases. Least privilege means the web app user can see only its own database, so even a successful injection cannot list the others.
Ravindra Bagale's Tip
USE cybercourse; visarun khup students "No database selected" error la ghabartat. Pratyek navin login nantar aadhi USE kara kiwa SELECT DATABASE(); ne check kara. Aani SQL madhe shevti ; visaru naka – prompt -> dakhavto mhanje MySQL tumchya semicolon chi vaat baghtoy.
Practice task
Create databases cybercourse and testdb, list them, switch between them with USE, and drop testdb.