Comprehensive MySQL Core Commands Tutorial
This article provides a step‑by‑step guide to essential MySQL operations, covering connection methods, database creation and deletion, user management, password changes, data manipulation, query techniques, indexing strategies, performance tips, and backup procedures, all illustrated with complete command examples.
Hello, I am mikechen. MySQL is a fundamental database for large‑scale architectures and a must‑have skill for major tech companies.
Connecting to MySQL mysql -uroot -p Connecting to a remote MySQL host mysql -h 127.0.0.1 -uroot -p123456 Note: the flag -u and root can be written without a space; the same applies to other flags.
Creating and dropping databases create database mydb; // create a database use mydb; // select the database drop database mydb; // delete the database without confirmation
Changing the MySQL root password mysqladmin -u root password "newpwd"; Adding a user and granting privileges
create user mikechen; grant all on *.* to 'mikechen'@'localhost' identified by 'password';// give all privileges to mikechen with password
Showing MySQL version select version(); Listing tables in a database
use mysql; // switch to the mysql database show tables;Deleting data from a table DELETE FROM student WHERE id=7; Dropping an entire table drop table tablename; Updating table data UPDATE student SET name='cao', grade=50 WHERE id=1; Selecting data select * from user; Pagination query
SELECT * FROM users LIMIT 0,10; // page 1 SELECT * FROM users LIMIT 10,10; // page 2 SELECT * FROM users LIMIT 20,10; // page 3Aggregation queries
SELECT COUNT(*) FROM users; // row count SELECT MAX(age) FROM users; // maximum age SELECT MIN(age) FROM users; // minimum age SELECT AVG(age) FROM users; // average age SELECT SUM(age) FROM users; // sum of agesJoin queries
SELECT u.name, o.total_price FROM users u JOIN orders o ON u.id = o.user_id;// inner join
SELECT u.name, o.total_price FROM users u LEFT JOIN orders o ON u.id = o.user_id;// left join
SELECT u.name, o.total_price FROM users u RIGHT JOIN orders o ON u.id = o.user_id;// right join
Creating indexes
CREATE TABLE users (id INT PRIMARY KEY AUTO_INCREMENT, name VARCHAR(50) NOT NULL, email VARCHAR(100) UNIQUE); CREATE UNIQUE INDEX idx_email ON users(email); CREATE INDEX idx_name ON users(name); CREATE INDEX idx_name_age ON users(name, age); CREATE FULLTEXT INDEX idx_content ON articles(content);Viewing and dropping indexes
SHOW INDEX FROM users; DROP INDEX idx_name ON users; ALTER TABLE users DROP INDEX idx_email;Performance tips EXPLAIN SELECT * FROM users WHERE name='mikechen'; // use index SELECT * FROM users WHERE age=30; // may not use index if leftmost prefix not satisfied SELECT * FROM users WHERE LEFT(name,3)='mike'; // index ineffective SELECT * FROM users WHERE name LIKE 'mikechen%'; // index usable
Database backup mysqldump -u user_name -p123456 database_name > outfile.sql // export entire database
mysqldump -u user_name -p database_name table_name > outfile.sql// export single table
mysqldump -u user_name -p -d --add-drop-table database_name > outfile.sql// export only schema
Promotional material
At the end of the article, the author offers a free 300,000‑word Alibaba architecture specialist collection and a comprehensive Java interview question set, inviting readers to add him on WeChat with the note “资料”.
Signed-in readers can open the original source through BestHub's protected redirect.
This article has been distilled and summarized from source material, then republished for learning and reference. If you believe it infringes your rights, please contactand we will review it promptly.
Mike Chen's Internet Architecture
Over ten years of BAT architecture experience, shared generously!
How this landed with the community
Was this worth your time?
0 Comments
Thoughtful readers leave field notes, pushback, and hard-won operational detail here.
