Trang

Wednesday, June 17, 2015

Bài 9: Cơ bản về ngôn ngữ SQL và MySQL

Tiếp theo bài trước là khái niệm về hàm và gọi lại hàm trong PHP, hôm nay chúng ta sẽ tiếp tục tìm hiểu vềngôn ngữ SQL và MySQL.
MySQL là hệ quản trị dữ liệu miễn phí, được tích hợp sử dụng chung với Apache, PHP. Chính yếu tố phát triển trong cộng đồng mã nguồn mở nên MySQL đã qua rất nhiều sự hỗ trợ của những lập trình viên yêu thích mã nguồn mở. MySQL cũng có cùng một cách truy xuất và mã lệnh tương tự với ngôn ngữ SQL nhưng MySQL không bao quát toàn bộ những câu truy vấn cao cấp như SQL. Về bản chất, MySQL chỉ đáp ứng việc truy xuất đơn giản trong quá trình vận hành của website nhưng có thể giải quyết hầu hết các bài toán trong PHP.

1. Cách khởi động và sử dụng MySQL

Chúng ta sử dụng command Mysql –hname –uuser –ppass để truy cập vào cơ sở dữ liệu.
Hoặc sử dụng bộ appserv để vào nhanh hơn theo đường dẫn sau: Start/ Appserv/ Mysql command Line client, sau đó nhập password mà chúng ta đã đặt vào.

2. Những định nghĩa cơ bản

a) Định nghĩa cơ sở dữ liệu, bảng, cột

Cơ sở dữ liệu: tên của cơ sở dữ liệu chúng ta muốn sử dụng
Bảng: 1 bảng giá trị nằm trong cơ sở dữ liệu
Cột: 1 giá trị nằm trong bảng, dùng để lưu trữ các trường dữ liệu

Thuộc tính:

Ví dụ:
Bảng user
User_id1234
First_nameNguyen
Last_nameNhat
UsernameNhatNguyen
Password12345
Emailnhatdesign@gmail.com
Date2014-11-14 10:20:30
Như vậy, ta có thể hiểu như sau:
1 cơ sở dữ liệu có thể bao gồm nhiều bảng.
1 bảng có thể bao gồm nhiều cột.
1 cột có thể có hoặc không có những thuộc tính.

b) Định nghĩa một số thuật ngữ

NULL: giá trị cho phép rỗng
AUTO_INCREMENT: cho phép giá trị tăng dần (tự động)
UNSIGNED: phải là số nguyên dương
PRIMARY KEY: cho phép nó là khóa chính trong bảng

c) Loại dữ liệu trong MySQL

Ở đây mình chỉ giới thiệu một số loại dữ liệu thông dụng, một số dữ liệu khác bạn có thể tham khảo trên trang chủ của MySQL.
Kiểu dữ liệuMô tả
CharĐịnh dạng text có chiều dài từ 0 đến 255
VarcharĐịnh dạng text có chiều dài từ 0 đến 255
TextĐịnh dạng text có chiều dài từ 0 đến 65535
LongtextĐịnh dạng text có chiều dài từ 0 đến 4294967215
IntĐịnh dạng số có chiều dài từ 0 đến 4294967215
FloatĐịnh dạng số thập phân có chiều dài nhỏ
DoubleĐịnh dạng số thập phân có chiều dài lớn
DateĐịnh dạng thời gian theo định dạng: YYYY-MM-DD
DateTimeĐịnh dạng thời gian theo định dạng: YYYY-MM-DD HH:MM:SS

3. Những cú pháp cơ bản

  • Cú pháp tạo 1 cơ sở dữ liệu:
CREATE DATABASE tên_cơ_sở_dữ_liệu;
  • Cú pháp sử dụng cơ sở dữ liệu:
Use tên_database;
  • Cú pháp thoát khỏi cơ sở dữ liệu: Exit
  • Cú pháp tạo 1 bảng trong cơ sở dữ liệu:
CREATE TABLE user (<tên_cột> <mô_tả>,…,<tên_cột_n>…..<mô_tả_n>)
Ví dụ:
1
mysql> create table user(user_id INT(15) UNSIGNED NOT NULL AUTO_INCREMENT, username VARCHAR(255) NOT NULL, password CHAR(50) NOT NULL, email VARCHAR(200) NOT NULL, PRIMARY KEY (user_id));
  • Hiển thị có bao nhiêu bảng: show tables;
  • Hiển thị có bao nhiêu cột trong bảng: show columns from table;
  • Thêm 1 cột vào bảng:
ALTER TABLE tên_bảng ADD <tên_cột> <thuộc_tính> AFTER <tên_cột>
Ví dụ:
1
mysql> alter table user add sex varchar(200) NOT NULL after email;

4. Thêm giá trị vào bảng

Cú pháp:
INSERT INTO Tên_bảng(tên_cột) VALUES (Giá_trị_tương_ứng);
Ví dụ:
1
mysql> insert into user(username,password,email,sex,home) values("NhatNguyen","12345","nhatdesign@gmail.com","M","www.nhatdesign.com");

5. Truy xuất dữ liệu

Cú pháp:
SELECT tên_cột FROM Tên_bảng;
Ví dụ:
1
mysql> select user_id,username from user;

6. Truy xuất dữ liệu với điều kiện

Cú pháp:
SELECT tên_cột FROM Tên_bảng WHERE điều kiện;
Ví dụ:
1
mysql> select user_id,username from user where user_id=2;

7. Truy cập dữ liệu và sắp xếp theo trình tự

Cú pháp:
SELECT tên_cột FROM Tên_bảng
WHERE điều kiện (có thể có WHERE hoặc không)
ORDER BY quy ước sắp xếp
Trong đó, quy ước sắp xếp bao gồm hai thông số là ASC (từ trên xuống dưới) hoặc DESC (từ dưới lên trên).
1
mysql> select user_id,username from user order by username ASC ;

8. Truy cập dữ liệu có giới hạn

Cú pháp:
SELECT tên_cột FROM Tên_bảng
WHERE điều kiện (có thể có WHERE hoặc không)
LIMIT vị trí bắt đầu, số record muốn lấy ra
Ví dụ:
1
mysql> select user_id,username from user order by username ASC limit 0,10 ;

9. Cập nhật dữ liệu trong bảng

Cú pháp:
UPDATE tên_bảng set tên_cột=Giá trị mới
WHERE (điều kiện)
Nếu không có ràng buộc điều kiện, chúng sẽ cập nhật toàn bộ giá trị mới của các record trong bảng.
Ví dụ:
1
mysql> update user set email="nhatdesign@gmail.com" where user_id=1 ;

10. Xóa dữ liệu trong bảng

Cú pháp:
DELETE FROM tên_bảng WHERE (điều kiện)
Nếu không có ràng buộc điều kiện, chúng sẽ xóa toàn bộ giá trị của các record trong bảng.
Ví dụ:
1
mysql>delete from user where user_id=1 ;
Qua bài học này, chúng ta đã có thể hiểu cơ bản về ngôn ngữ SQL và MySQL, giúp ích cho các bạn rất nhiều trong quá trình xây dựng và phát triển website. Ở bài học sau, chúng ta sẽ nghiên cứu về sự kết hợp SQL và MySQL trong ứng dụng website.
Nguồn: qhonline.info

No comments:

Post a Comment