Working with MySQL

MySQL is an open-source relational database management system (RDBMS) that uses Structured Query Language (SQL) to manage and manipulate databases. It is widely used for web applications and is a central component of the LAMP stack (Linux, Apache, MySQL, PHP/Python/Perl).

Key Features of MySQLOpen Source: 
  • MySQL is free to use under the GNU General Public License (GPL).
  • Cross-Platform: It can be installed on various operating systems including Linux, Windows, and macOS.
  • High Performance: MySQL is designed for high-speed transactions and supports a large number of concurrent users.
  • Scalability: Suitable for both small applications and large-scale enterprise solutions.
  • Security: Provides robust security features to protect data.
  • Replication: Supports database replication to increase availability and performance.
Installing MySQL
On Linux

sudo apt-get update 
sudo apt-get install mysql-server

On Windows

Download the MySQL installer from the official website and follow the installation wizard.

Basic MySQL Operations
Starting MySQLLinux:
sudo service mysql start

Windows: MySQL should start automatically if you chose that option during installation. Otherwise, you can start it from the Services application.
Logging In
mysql -u root -p

Enter your root password when prompted.

Basic SQL Commands in MySQL

Creating a Database

CREATE DATABASE example_db;

Using a Database

USE example_db;

Creating a Table

CREATE TABLE users ( id INT AUTO_INCREMENT PRIMARY KEY, username VARCHAR(50) NOT NULL, email VARCHAR(100) NOT NULL, created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP );

Inserting Data into a Table

INSERT INTO users (username, email) VALUES ('john_doe', 'john@example.com');

Querying Data

SELECT * FROM users;

Updating Data

UPDATE users SET email = 'john.doe@example.com' WHERE username = 'john_doe';

Deleting Data

DELETE FROM users WHERE username = 'john_doe';

Dropping a Table

DROP TABLE users;

Example:
Working with MySQL in Practice

Creating a Database and Table:

CREATE DATABASE test_db; 
USE test_db; 

CREATE TABLE employees ( id INT AUTO_INCREMENT PRIMARY KEY, name VARCHAR(100), position VARCHAR(100), hire_date DATE );

Inserting Data:

INSERT INTO employees (name, position, hire_date) VALUES ('Alice Johnson', 'Manager', '2020-01-15'); 
INSERT INTO employees (name, position, hire_date) VALUES ('Bob Smith', 'Developer', '2019-06-23');

Querying Data:

SELECT * FROM employees;

Updating Data:

UPDATE employees SET position = 'Senior Developer' WHERE name = 'Bob Smith';

Deleting Data:


DELETE FROM employees WHERE name = 'Alice Johnson';

Dropping the Database:

DROP DATABASE test_db;

MySQL Tools
MySQL Workbench: A graphical tool for database design and management.
phpMyAdmin: A web-based interface for MySQL administration.
Command Line Client: Allows direct interaction with MySQL from the terminal.

Summary

MySQL is a powerful and flexible RDBMS used for a variety of applications. By understanding the basics of database creation, table management, and data manipulation, you can effectively use MySQL to manage your data.

Comments