Cơ bản nhất về MYSQL trên Ubuntu CentOS
MySQL là phần mềm quản lý database mã nguồn mở giúp người dùng lưu trữ, sắp xếp và truy xuất dữ liệu. MySQL rất mạnh mẽ với nhiều tính năng linh hoạt , hướng dẫn này sẽ giới thiệu cơ bản nhất về MySQLCách cài đặt MySQL trên Ubuntu và CentOS
Nếu chưa cài đặt MySQL trên server của bạn, bạn có thể nhanh chóng cài với lệnh.
Trên Ubuntu:
sudo apt-get install mysql-server
Trên Centos:
sudo yum install mysql-server /etc/init.d/mysqld start
Cách truy cập MySQL shell
Khi đã cài đặt MySQL trên server, bạn có thể truy cập MySQL shell bằng cách nhập lệnh sau vào terminal:
mysql -u root -p
Sau khi nhập mật khẩu MySQL root (chú ý không nhầm với mật khẩu server root), bạn sẽ có thể bắt đầu xây dựng database MySQL.
Hai điểm cần ghi nhớ:
- Tất cả các lệnh MySQL kết thúc bằng dấu chấm phẩy; nếu lệnh không kết thúc bằng dấu chấm phẩy, lệnh sẽ không thực thi.
- Ngoài ra, không bắt buộc, để dễ nhìn hơn thì các lệnh MySQL thường được viết bằng chữ hoa còn Database, Bảng, Tên người dùng hoặc text được viết bằng chữ thường. Dòng lệnh MySQL không phân biệt chữ hoa chữ thường.
Cách tạo và xóa database MySQL
MySQL tổ chức thông tin thành các database; mỗi user có thể chứa các bảng với dữ liệu cụ thể.
Bạn có thể kiểm tra database nào có sẵn bằng lệnh:
SHOW DATABASES;
Màn hình của bạn sẽ trông giống như sau:
mysql> SHOW DATABASES; +--------------------+ | Database | +--------------------+ | information_schema | | mysql | | performance_schema | | test | +--------------------+ 4 rows in set (0.01 sec)
Tạo database rất dễ dàng:
CREATE DATABASE database name;
Trong trường hợp này, chẳng hạn, ta sẽ gọi database của bạn là "events.
mysql> SHOW DATABASES; +--------------------+ | Database | +--------------------+ | information_schema | | events | | mysql | | performance_schema | | test | +--------------------+ 5 rows in set (0.00 sec)
Trong MySQL, từ thường được sử dụng để xóa các đối tượng là Drop. Bạn sẽ xóa database MySQL bằng lệnh này:
DROP DATABASE database name;
Cách truy cập database MySQL
Khi ta có một database mới, ta có thể bắt đầu điền thông tin vào.
Bước đầu tiên là tạo một bảng mới trong database lớn hơn.
Hãy mở database ta muốn sử dụng:
USE events;
Theo cách tương tự để bạn có thể kiểm tra các database có sẵn, bạn cũng có thể xem tổng quan về các bảng mà database đó chứa.
SHOW tables;
Vì đây là một database mới, MySQL không có gì để hiển thị và bạn sẽ nhận được thông báo cho biết: “Empty set”
Cách tạo bảng MySQL
Hãy tưởng tượng rằng ta đang lên kế hoạch gặp gỡ bạn bè. Ta có thể sử dụng MySQL để theo dõi các chi tiết của sự kiện.
Hãy tạo một bảng MySQL mới:
CREATE TABLE potluck (id INT NOT NULL PRIMARY KEY AUTO_INCREMENT, name VARCHAR(20), food VARCHAR(30), confirmed CHAR(1), signup_date DATE);
Lệnh này thực hiện:
- Tạo một bảng gọi là potluck.
- thiết lập 5 cột trong bảng — id, tên, food, confirmed và signup_date.
- Cột “id” có một lệnh (INT NOT NULL PRIMARY KEY AUTO_INCREMENT) tự động đánh số tăng mỗi hàng thêm vào.
- Cột "name" đã bị giới hạn bởi lệnh VARCHAR dưới 20 ký tự.
- Cột "food" chỉ định thức ăn mà mỗi người sẽ mang theo. VARCHAR giới hạn văn bản dưới 30 ký tự.
- Cột “confirmed” ghi lại liệu người đó có trả lời bằng chữ cái, Y hay N.
- Cột "signup_date" sẽ hiển thị khi họ đăng ký sự kiện. MySQL yêu cầu ngày tháng được viết là yyyy-mm-dd
Xem cách bảng trong database với lệnh "SHOW TABLES;" :
mysql> SHOW TABLES; +------------------+ | Tables_in_events | +------------------+ | potluck | +------------------+ 1 row in set (0.01 sec)
Xem cấu trúc bảng potluck bằng lệnh này:
DESCRIBE potluck;
mysql>DESCRIBE potluck; +-------------+-------------+------+-----+---------+----------------+ | Field | Type | Null | Key | Default | Extra | +-------------+-------------+------+-----+---------+----------------+ | id | int(11) | NO | PRI | NULL | auto_increment | | name | varchar(20) | YES | | NULL | | | food | varchar(30) | YES | | NULL | | | confirmed | char(1) | YES | | NULL | | | signup_date | date | YES | | NULL | | +-------------+-------------+------+-----+---------+----------------+ 5 rows in set (0.01 sec)
Cách thêm hàng vào bảng MySQL
Bây giờ là lúc bắt đầu điền thông tin chi tiết.
Sử dụng định dạng này để chèn thông tin vào mỗi hàng:
INSERT INTO `potluck` (`id`,`name`,`food`,`confirmed`,`signup_date`) VALUES (NULL, "John", "Casserole","Y", '2012-04-11');Sau khi nhập vào, bạn sẽ thấy các từ:
Query OK, 1 row affected (0.00 sec)Hãy thêm một vài người nữa vào nhóm:
INSERT INTO `potluck` (`id`,`name`,`food`,`confirmed`,`signup_date`) VALUES (NULL, "Sandy", "Key Lime Tarts","N", '2012-04-14'); INSERT INTO `potluck` (`id`,`name`,`food`,`confirmed`,`signup_date`) VALUES (NULL, "Tom", "BBQ","Y", '2012-04-18'); INSERT INTO `potluck` (`id`,`name`,`food`,`confirmed`,`signup_date`) VALUES (NULL, "Tina", "Salad","Y", '2012-04-10');
Ta có thể xem qua bảng:
mysql> SELECT * FROM potluck; +----+-------+----------------+-----------+-------------+ | id | name | food | confirmed | signup_date | +----+-------+----------------+-----------+-------------+ | 1 | John | Casserole | Y | 2012-04-11 | | 2 | Sandy | Key Lime Tarts | N | 2012-04-14 | | 3 | Tom | BBQ | Y | 2012-04-18 | | 4 | Tina | Salad | Y | 2012-04-10 | +----+-------+----------------+-----------+-------------+ 4 rows in set (0.00 sec)
Cách cập nhật thông tin trong bảng
Bây giờ ta đã bắt đầu danh sách potluck, ta có thể xử lý thay đổi có thể xảy ra. Ví dụ: Sandy đã xác nhận rằng cô ấy sẽ tham dự, vì vậy ta sẽ cập nhật thông tin đó trong bảng.
UPDATE `potluck` SET `confirmed` = 'Y' WHERE `potluck`.`name` ='Sandy';
Có thể sử dụng lệnh này để thêm thông tin vào các ô cụ thể, ngay cả khi chúng trống.
Cách thêm và xóa cột
Ta đang tạo bảng, nhưng nó thiếu một số thông tin quan trọng: email của những người tham dự.
Ta có thể dễ dàng thêm điều này:
ALTER TABLE potluck ADD email VARCHAR(40);
Lệnh này đặt cột mới được gọi là "email" ở cuối bảng theo mặc định và lệnh VARCHAR giới hạn nó trong 40 ký tự.
Tuy nhiên, nếu bạn cần đặt cột đó vào một vị trí cụ thể trong bảng, ta có thể thêm một lựa chọn nữa vào lệnh.
ALTER TABLE potluck ADD email VARCHAR(40) AFTER name;
Bây giờ, cột "email" mới đi sau cột "tên".
Còn để xóa một cột:
ALTER TABLE potluck DROP email;
Cách xóa hàng
Ta cũng có thể xóa các hàng khỏi bảng bằng lệnh sau:
DELETE from [table name] where [column name]=[field text];
Ví dụ, nếu Sandy đột nhiên nhận ra rằng sau cùng thì cô ấy sẽ không thể tham gia vào potluck, ta có thể nhanh chóng loại bỏ thông tin chi tiết của cô ấy.
mysql> DELETE from potluck where name='Sandy'; Query OK, 1 row affected (0.00 sec) mysql> SELECT * FROM potluck; +----+------+-----------+-----------+-------------+ | id | name | food | confirmed | signup_date | +----+------+-----------+-----------+-------------+ | 1 | John | Casserole | Y | 2012-04-11 | | 3 | Tom | BBQ | Y | 2012-04-18 | | 4 | Tina | Salad | Y | 2012-04-10 | +----+------+-----------+-----------+-------------+ 3 rows in set (0.00 sec)
Lưu ý rằng các số id được liên kết với mỗi người vẫn giữ nguyên.
Các tin trước