Mysql learning in terminal (WP Site was intended)
This is some basic, Here’s a practical MySQL cheat sheet tailored for setting up a WordPress database from scratch via terminal, covering login → database → user → privileges → DDL → DML → common operations.
🐬 MySQL Cheat Sheet (WordPress Setup + Core Commands)
🔐 1. After Logging Into MySQL
mysql -u root -p
Check current user:
SELECT USER();
Show databases:
SHOW DATABASES;
🏗️ 2. Create WordPress Database
CREATE DATABASE wordpress_db
CHARACTER SET utf8mb4
COLLATE utf8mb4_unicode_ci;
Use it:
USE wordpress_db;
👤 3. Create MySQL User for WordPress
CREATE USER 'wp_user'@'localhost' IDENTIFIED BY 'strong_password';
Grant privileges:
GRANT ALL PRIVILEGES ON wordpress_db.* TO 'wp_user'@'localhost';
Apply changes:
FLUSH PRIVILEGES;
Check grants:
SHOW GRANTS FOR 'wp_user'@'localhost';
🗑️ 4. Delete Database / User (if needed)
DROP DATABASE wordpress_db;
DROP USER 'wp_user'@'localhost';
📐 DDL (Data Definition Language)
Create Table
CREATE TABLE users (
id INT AUTO_INCREMENT PRIMARY KEY,
username VARCHAR(50) NOT NULL,
email VARCHAR(100),
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
);
Show Tables
SHOW TABLES;
Describe Table
DESCRIBE users;
Alter Table
Add column:
ALTER TABLE users ADD password VARCHAR(255);
Modify column:
ALTER TABLE users MODIFY username VARCHAR(100);
Rename column:
ALTER TABLE users CHANGE username user_name VARCHAR(100);
Drop column:
ALTER TABLE users DROP email;
Rename table:
RENAME TABLE users TO wp_users;
Drop Table
DROP TABLE wp_users;
✍️ DML (Data Manipulation Language)
Insert Data
INSERT INTO users (username, email)
VALUES ('john', 'john@example.com');
Insert multiple:
INSERT INTO users (username, email)
VALUES
('alice', 'alice@example.com'),
('bob', 'bob@example.com');
Read Data (SELECT)
Basic:
SELECT * FROM users;
Specific columns:
SELECT username, email FROM users;
With condition:
SELECT * FROM users WHERE id = 1;
With AND / OR:
SELECT * FROM users WHERE username='john' AND id=1;
Sort:
SELECT * FROM users ORDER BY id DESC;
Limit:
SELECT * FROM users LIMIT 5;
Update Data
UPDATE users
SET email = 'new@email.com'
WHERE id = 1;
⚠️ Always use WHERE unless updating all rows.
Delete Data
DELETE FROM users WHERE id = 1;
Delete all rows:
DELETE FROM users;
🔎 Useful Query Features
LIKE (pattern search)
SELECT * FROM users WHERE username LIKE 'j%';
COUNT
SELECT COUNT(*) FROM users;
DISTINCT
SELECT DISTINCT username FROM users;
🔗 Indexes
Create index:
CREATE INDEX idx_username ON users(username);
Drop index:
DROP INDEX idx_username ON users;
🔒 Transactions
START TRANSACTION;
UPDATE users SET username='test' WHERE id=1;
COMMIT;
-- OR
ROLLBACK;
⚙️ WordPress-Specific Notes
- WordPress will auto-create tables like:
wp_userswp_postswp_options
- You only need:
DB name
DB user
Password
Used in wp-config.php:
define('DB_NAME', 'wordpress_db');
define('DB_USER', 'wp_user');
define('DB_PASSWORD', 'strong_password');
define('DB_HOST', 'localhost');
🚀 Quick Setup Summary (Minimal Commands)
CREATE DATABASE wordpress_db
CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
CREATE USER 'wp_user'@'localhost' IDENTIFIED BY 'password';
GRANT ALL PRIVILEGES ON wordpress_db.* TO 'wp_user'@'localhost';
FLUSH PRIVILEGES;
🧠 Pro Tips
Always use
utf8mb4→ supports emojis & full UnicodeUse strong passwords for DB users
Backup before destructive commands:
mysqldump -u root -p wordpress_db > backup.sql
If you want, I can also give you:
a WordPress-specific table cheat sheet
or common debugging commands (connection errors, permissions issues, etc.)
sample markdown.
Second Heading
- Unordered lists, and:
- One
- Two
- Three
- More
Blockquote
And bold, italics, and even italics and later bold. Even strikethrough. A link to somewhere.
And code highlighting:
var foo = 'bar';
function baz(s) {
return foo + ':' + s;
}
Or inline code like var foo = 'bar';.
Or an image of bears
The end ...
Comments
Post a Comment