MySQL Command Line - zhamri/MyClass-MySQL GitHub Wiki
Login
mysql -u root -p
Enter password:
After successful login:
mysql>
Show All Databases
SHOW DATABASES;
Example output:
+--------------------+
| Database |
+--------------------+
| information_schema |
| mysql |
| studentdb |
+--------------------+
Create Database
CREATE DATABASE studentdb;
Select Database
USE studentdb;
Show Tables
SHOW TABLES;
Create Table
CREATE TABLE students (
id INT PRIMARY KEY AUTO_INCREMENT,
name VARCHAR(100),
email VARCHAR(100)
);
Describe Table Structure
DESCRIBE students;
or
DESC students;
Insert Data
INSERT INTO students(name, email)
VALUES ('Ali', '[email protected]');
Retrieve Data
SELECT * FROM students;
Update Data
UPDATE students
SET email='[email protected]'
WHERE id=1;
Delete Data
DELETE FROM students
WHERE id=1;
Delete Table
DROP TABLE students;
Delete Database
DROP DATABASE studentdb;
Exit MySQL
EXIT;
or
QUIT;
Important SQL Data Types
| Data Type | Description |
|---|---|
INT |
Integer |
VARCHAR(n) |
Text |
DOUBLE |
Decimal number |
DATE |
Date |
BOOLEAN |
True/False |
Important Constraints
| Constraint | Purpose |
|---|---|
PRIMARY KEY |
Unique identifier |
AUTO_INCREMENT |
Auto number |
NOT NULL |
Cannot be empty |
UNIQUE |
No duplicate |
FOREIGN KEY |
Relationship |
SQL Query Order
SELECT
FROM
WHERE
GROUP BY
HAVING
ORDER BY
Filtering Data
WHERE
SELECT * FROM students
WHERE id = 1;
Sorting Data
SELECT * FROM students
ORDER BY name ASC;
Search Using LIKE
SELECT * FROM students
WHERE name LIKE 'A%';
Meaning:
- names starting with A
Aggregate Functions
COUNT
SELECT COUNT(*) FROM students;
AVG
SELECT AVG(mark) FROM students;
MAX
SELECT MAX(mark) FROM students;
Import and Export
Export Database
mysqldump -u root -p studentdb > backup.sql
Import SQL File
mysql -u root -p studentdb < backup.sql
Simple Complete Example
CREATE DATABASE schooldb;
USE schooldb;
CREATE TABLE students(
id INT PRIMARY KEY AUTO_INCREMENT,
name VARCHAR(100),
program VARCHAR(100)
);
INSERT INTO students(name, program)
VALUES ('Ali', 'Software Engineering');
SELECT * FROM students;