
My SQL Documentation (sưu tầm)
Trang: 1
MYSQL DOCUMENTATION
(sưu tầm)
Trong bài này, giả sử bạn đã có MySQL cài đặt sẳn trong máy và biết cách
connect và disconnect vào server rồi. Xin nhắc lại, để connect vào server
mysql, bạn click vào file mysql.exe trong thư mục bin. Hoặc đánh lệnh ở ngoài
dos như sau:
shell> mysql -h <hostname> -u <username> -p;
Enter password: ******** (password của bạn)
1. Vào queries (yêu cầu):
Phải chắc chắn rằng bạn đã connect vào server rồi.
Lệnh để vào queries là: select. Ví dụ, để xem version number hay ngày hiện
tại bạn type như sau:
mysql> select version(), current_date;
+--------------+--------------+
| version() | Current_date |
+--------------|--------------+
| 3.22.20a-log | 2002-03-29 |
+--------------+--------------+
1 row in set (0.00 sec)
mysql>
Giải thích:
1. Các lệnh trong sql được kết thúc bởi dấu chấm phẩy (;). (trử 1 số lệnh như
quit là trường hợp đặc biệt)
2. Khi thực hiện lệnh, mysql chuyển nó đến server và yêu cầu thực hiện lệnh.
Do đó, "mysql>" ở cuối cùng báo hiệu yêu cầu đã được thực hiện.
3. mysql đưa ra kết quả dưới dạng 1 bảng (table) gồm các cột (column) và hàng
(row). Hàng đầu tiên cho biết Nhãn (label) của từng trường (field). Các hàng
tiếp theo là kết quả.
4. mysql cũng đưa ra bao nhiêu hàng được trả về (row in set) và trong vòng
bao nhiêu giây (sec)
Ngoài ra, mysql cũng thể hiện được các phép tính đơn giản.
Ví dụ:
mysql> select sin(pi()/4), (4+1)*5, mod(27,5);
Hãy thử và bạn sẽ nhận được kết quả.
Hơn nữa, bạn có thể vào nhiều lệnh trên cùng 1 hàng:
mysql> select version(); select now();
Chú ý, kết quả đưa ra là 2 bảng.
Lệnh cũng không phải lúc nào cũng được thực hiện trên cùng 1 hàng. Ví dụ:
mysql> select
-> user()
-> ,
-> current_date;
+-----------------+--------------+
| user() | Current_date |
+-----------------+--------------+
| admin@localhost | 2002-03-29 |
+-----------------+--------------+
Chú ý dấu nhắc đã được đổi từ "mysql>" sang thành "->" khi bạn đánh "enter"
mà không được kết thúc bằng dấu chấm phẩy ";".

My SQL Documentation (sưu tầm)
Trang: 2
Nếu bạn muốn kết thúc dòng lệnh mà không đưa ra kết quả (cancel) bạn type
"\c". ví dụ:
mysql> select
-> user()
-> \c
mysql>
Mysql có 4 loại dấu nhắc. Sau đây là ý nghĩa của các dấu nhắc:
Prompt Ý Nghĩa
mysql> Sẳn sàng cho 1 lệnh mới
-> Chờ cho hàng kế tiếp của 1 lệnh có nhiều hàng
'> Chờ cho hành kế tiếp thực hiện bởi 1 chuỗi trong dấu nháy đơn
"> Chờ cho hành kế tiếp thực hiện bởi 1 chuỗi trong dấu nháy đôi
ví dụ:
mysql> select user()
-> ;
hay
mysql> select * from my_table where name = "Thuy Lan age < 30;
">
Trong trường hợp trên, nếu muốn bỏ câ lệnh, phải làm như sau:
">" \c
vì nếu không đóng dấu ", mysql sẽ nghỉ rằng câu lệnh \c là tiếp tục của chuổi
trước đó.
2. Tạo và sử dụng cơ sở dữ liệu (database)
Dùng lệnh show để xem có những database nào trên server.
mysql> show databases;
+----------+
| Database |
+----------+
| mysql |
| test |
+----------+
Trong ví dụ trên, có 2 database trên server với tên là mysql và test. Để làm
việc với database, bạn cần phải vào (access) nó bằng câu lệnh use.
mysql> use test
Database changed
(bạn thấy đấy, lệnh use cũng giống như lệnh quit, không cẩn dấu ; ở cuối dòng
lệnh)
a. Tạo database:
Dùng câu lệnh create. Create database <name of database>;
mysql> create database menagerie;
Bây giờ bạn show databases, databases "menagerie" bạn mới tạo sẽ có trên
server. Để sử dụng database mới tạo, dùng lệnh use.
mysql> use menageries;
Database changed

My SQL Documentation (sưu tầm)
Trang: 3
(chú ý: có dấu ; hay không có cũng không thành vấn đề!)
Bạn đã có database rồi, bây giờ bạn sẽ tạo bảng.
b. Tạo bảng (table)
Trước hết, bạn muốn xem thử xem có bao nhiêu bảng đã tồn tại. Bạn dùng lệnh
show tables.
mysql> show tables;
Empty set (0.00 sec)
Không có bảng nào tồn tại. Giã sử bây giờ bạn muốn tạo bảng mới có tên là
"pet" gồm các mục sau:
1. Tên (name)
2. owner (người nuôi)
3. species (loài)
4. sex (giới tính)
5. birth (ngảy sinh)
6. death (ngày chết)
Câu lệnh như sau:
mysql> create table pet (name varchar(20), owner varchar(20),
-> species varchar(20),
-> sex char(1), birth date, death date);
varchar dùng cho name, owner và species vì đây là các chuỗi thay đổi. Đối vơi
sex thì ta chỉ cẩn 1 kí tự là đủ ('m' for male và 'f' for female). Dùng date
cho birth và death là điều hiển nhiên. Bây giờ, bạn thử show tables xem sao?
Bạn có thể xem các thông tin về 1 bảng:
mysql> describe pet;
+---------+-------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+---------+-------------+------+-----+---------+-------+
| name | varchar(20) | YES | | NULL | |
| owner | varchar(20) | YES | | NULL | |
| species | varchar(20) | YES | | NULL | |
| sex | char(1) | YES | | NULL | |
| birth | date | YES | | NULL | |
| death | date | YES | | NULL | |
+---------+-------------+------+-----+---------+-------+
Bảng trên là bảng trống, nghĩa là chưa có record nào được lưu cả. Bạn cần
phải đưa record vào.
Đưa các giá trị vào bảng:
mysql> insert into pet
-> values ('Puffball','Diane','hamster','f','1999-03-30',NULL);
Chú ý, giá trị cuối cùng là NULL, có nghĩa là rỗng.
Để xem các giá trị vừa rồi, bạn dùng câu lệnh như sau:
mysql> select * from pet;
Bây giở bạn hãy đưa vào bảng như sau:
+----------+--------+---------+------+------------+------------+

My SQL Documentation (sưu tầm)
Trang: 4
| name | owner | species | sex | birth | death |
+----------+--------+---------+------+------------+------------+
| Fluffy | Harold | cat | f | 1993-02-04 | NULL |
| Claws | Gwen | cat | m | 1994-03-17 | NULL |
| Buffy | Harold | dog | f | 1989-05-13 | NULL |
| Fang | Benny | dog | m | 1990-08-27 | NULL |
| Bowser | Diane | dog | m | 1998-08-31 | 1995-07-29 |
| Chirpy | Gwen | bird | f | 1998-09-11 | NULL |
| Whistler | Gwen | bird | NULL | 1997-12-09 | NULL |
| Slim | Benny | snake | m | 1996-04-29 | NULL |
| Puffball | Diane | hamster | f | 1999-03-30 | NULL |
+----------+--------+---------+------+------------+------------+
Ngoài ra, bạn cũng có thể dùng tập tin text để đưa record vào bảng. Cách này
đơn giản và dễ hơn cách dùng câu lệnh trên. Bạn dùng bất cứ chương trình biên
soạn văn bản nào (ví dụ notepad). Nhập các record trên vào (lưu ý không nhập
hàng đầu, chỉ nhập các record thôi). Các giá trị của từng record phải cách ra
bởi dấu "tab". Và thứ tự các giá trị căn cứ theo thứ tự bạn đã làm trong phần
tạo bảng. Đối với các giá trị "NULL", bạn đánh chữ "\N". Lưu tập tin đó thành
"pet.txt" vào trong thư mục "E:\mysql\data\menagerie\" (thư mục trên có thể
khác với bạn, tùy theo cách cài đặt mysql của từng người). Sau đó, bạn đưa
file text đó vào bảng như sau:
mysql> LOAD DATA INFILE "pet.txt" INTO TABLE pet;
(nếu dùng lệnh trên mà báo lổi, bạn thử dùng câu lệnh sau, vì tùy theo phiên
bản bạn đang sử dụng, câu lệnh có khác 1 chút)
mysql> LOAD DATA LOCAL INFILE "pet.txt" INTO TABLE pet;
Để xóa record, bạn dùng lệnh delete như sau:
mysql> DELETE FROM pet WHERE name = 'Chirpy';
Chú ý: nên hạn chế dùng lệnh delete vì lệnh này không có hỏi lại bạn có thật
sự xóa không khi nó thực hiện. Vì thế, nếu dùng lệnh như sau:
mysql> DELETE FROM pet; #KHÔNG NÊN THỬ!!!
Là bạn mất hết tất cả dữ liệu.
Chú ý: ngay con vật Bowser: ngày sinh lại đi sau ngày chết????! Để thay đổi
giá trị của record mà bạn lỡ đánh nhầm vào như trường hợp trên, bạn dùng câu
lệnh như sau:
mysql> update pet set birth = '1989-08-31' where name = 'Bowser';
Tuy nhiên, vẫn còn 1 cách sửa lại nếu bạn dùng tập tin ".txt". Bạn mở tập tin
pet.txt ra, sửa lại record bạn muốn sửa. Rồi đánh lệnh sau:
mysql> set autocommit=1; #dùng để tạo nhanh lại 1 bảng.
mysql> delete from pet;
mysql> load data infile "pet.txt" into table pet;
3. Chọn từng bảng xác định:
Ví dụ:
a.
mysql> SELECT * FROM pet WHERE name = "Bowser";
+--------+-------+---------+------+------------+------------+

My SQL Documentation (sưu tầm)
Trang: 5
| name | owner | species | sex | birth | death |
+--------+-------+---------+------+------------+------------+
| Bowser | Diane | dog | m | 1989-08-31 | 1995-07-29 |
+--------+-------+---------+------+------------+------------+
b.
mysql> SELECT * FROM pet WHERE birth >= "1998-1-1";
+----------+-------+---------+------+------------+-------+
| name | owner | species | sex | birth | death |
+----------+-------+---------+------+------------+-------+
| Chirpy | Gwen | bird | f | 1998-09-11 | NULL |
| Puffball | Diane | hamster | f | 1999-03-30 | NULL |
+----------+-------+---------+------+------------+-------+
Ở đây, bạn dùng các điều kiện (condition) để thực hiện việc chọn. Bạn cũng có
thể kết hợp các điểu kiện như sau:
mysql> SELECT * FROM pet WHERE species = "dog" AND sex = "f";
+-------+--------+---------+------+------------+-------+
| name | owner | species | sex | birth | death |
+-------+--------+---------+------+------------+-------+
| Buffy | Harold | dog | f | 1989-05-13 | NULL |
+-------+--------+---------+------+------------+-------+
hay:
mysql> SELECT * FROM pet WHERE species = "snake" OR species =
-> "bird";
+----------+-------+---------+------+------------+-------+
| name | owner | species | sex | birth | death |
+----------+-------+---------+------+------------+-------+
| Chirpy | Gwen | bird | f | 1998-09-11 | NULL |
| Whistler | Gwen | bird | NULL | 1997-12-09 | NULL |
| Slim | Benny | snake | m | 1996-04-29 | NULL |
+----------+-------+---------+------+------------+-------+
Các điều kiện and và or có thể được "trộn" (intermix) vào nhau:
mysql> SELECT * FROM pet WHERE (species = "cat" AND sex = "m")
-> OR (species = "dog" AND sex = "f");
+-------+--------+---------+------+------------+-------+
| name | owner | species | sex | birth | death |
+-------+--------+---------+------+------------+-------+
| Claws | Gwen | cat | m | 1994-03-17 | NULL |
| Buffy | Harold | dog | f | 1989-05-13 | NULL |
+-------+--------+---------+------+------------+-------+
4. Chọn các hàng xác định (particular columns):
mysql> SELECT name, birth FROM pet;
+----------+------------+
| name | birth |
+----------+------------+
| Fluffy | 1993-02-04 |
| Claws | 1994-03-17 |
| Buffy | 1989-05-13 |