Ở bài này mình xin giới thiệu về SQL cũng như một số hàm của sql trong PHP, đầu tiên ta đi vào tìm hiểu sql là gì. Định Nghĩa: SQL [Structured Query Language] là một loại ngôn ngữ máy tính phổ biến để tạo, sửa, và lấy dữ liệu từ một hệ quản trị cơ sở dữ liệu quan hệ.
SQL gồm 2 thành phần chính
- DDL [Data Definition Language] định nghĩa cấu trúc của CSDL
- Cấu trúc của CSDL: CREATE TABLE, CREATE VIEW, ALTER TABLE,…
- Điều khiển quyền truy cập trên dữ liệu: GRANT, REVOKE,…
- DML [Data Manipulation Language] truy xuất và cập nhật dữ liệu: INSERT, UPDATE, DELETE, SELECT
Cú pháp:
- Chữ hoa đại diện cho từ khóa
- Chữ thường đại diện cho các từ của người dùng định nghĩa
- Dấu | chỉ sự lựa chọn.
- Dấu { chỉ phần tử bắt buộc phải có
- Dấu ... chỉ thành phần có thể lặp lại từ 0 đến nhiều lần
Lưu ý:
- Hầu hết các phần trong câu lệnh SQL là không phân biệt chữ hoa chữ thường, trừ các ký tự trong chuỗi dữ liệu.
- Nên viết các từ khóa của SQL bởi ký tự chữ hoa và các từ do người dụng định nghĩa [table, column, …] bởi ký tự chữ thường
Nhận biết thông báo lỗi:
- Tên cột không tìm thấy: Invalid column name
- Tên bảng không tìm thấy: Invalid object name
- Lỗi cú pháp: Incorrect Syntac near Incorrect Syntac near
- Tên cột có mặt ở nhiều bảng: Ambiguous column name
- Phép so sánh không tương thích kiểu: Error converting data type
Xử lý chuỗi trong MySQL
STTTên hàmChức năngTextLENGTH [str]Xác định chiều dài chuỗi strTextCONCAT [str1, str2, …, strn]Nối các chuỗi str1, str2, …, strn thành một chuỗi duy nhấtTextFORMAT [str, n]Chuyển đổi định dạng chuỗi str theo dạng #,###,###.##, trong đó làm tròn đến n số thập phânTextINSERT [str, pos, len, newstr]Thay thế các ký tự trong chuỗi str từ vị trí thứ pos đến vị trí thứ pos+len-1 bởi chuỗi ký tự newstrTextINSTR [str, substr]Trả về vị trí xuất hiện đầu tiên của chuỗi substr trong chuỗi stTextLEFT [str, len]Trả về chuỗi ký tự tính từ vị trí bên trái của chuỗi str từ vị trí thứ nhất đến vị trí thứ lenTextRIGHT [str, len]Trả về chuỗi ký tự tính từ vị trí bên phải của chuỗi str từ vị trí thứ nhất đến vị trí thứ len.TextLOCATE [substr, str, pos]Trả về vị trí xuất hiện đầu tiên của chuỗi substr trong chuỗi str tính từ vị trí thứ posTextLOWER [str]Chuyển đổi chuỗi str thành chữ thườngTextUPPER [str]Chuyển đổi chuỗi str thành chữ hoaTextLTRIM [str]Loại bỏ tất cả khoảng trắng bên trái chuỗi strTextRTRIM [str]Loại bỏ tất cả khoảng trắng bên phải chuỗi strTextREPLACE [str, from_str, to_str]Thay thế các ký tự from_str trong chuỗi str bởi các ký tự to_strTextREVERSE [str]Đảo ngược chuỗi strTextSUBSTRING [str FROM pos FOR len]Trích lọc từ chuỗi str một chuỗi mới, chuỗi mới này có các ký tự bắt đầu từ vị trí pos [tính từ vị trí biên trái] cho đến vị trí pos+len-1XỬ LÝ THỜI GIAN TRONG MYSQL
Trong nội dung này, tập trung trình bày các hàm xử lý thời gian, ngày, tháng, năm, … các thao cộng trừ và định dạng thời gian trong hệ quản trị cơ sở dữ liệu MySQL.
Bảng các ký hiệu định dạng:
Ký hiệuÝ nghĩa%aTên viết tắt các ngày trong tuần [Sun, …, Sat ]%bTên viết tắt các tháng trong năm [Jan, …, Dec ]%cTháng [0,1, …, 12]%dThứ tự các ngày trong tháng [00, 01, …, 31]%eThứ tự các ngày trong tháng [0, 1, …, 31]%fMicroseconds [000000..999999]%HGiờ [00..23]%hGiờ [01..12]%IGiờ [01..12]%iPhút [00..59]%jSố thứ tự ngày trong năm [001..366]%kGiờ [0..23]%lGiờ [1..12]%MTên tháng [January..December]%mTháng [00..12]%pAM hoặc PM%rGiờ [00..12] [hh:mm:ss theo sau bởi AM hoặc PM]%SGiây [00..59]%TGiờ [00..23] [hh:mm:ss]%USố thứ tự tuần trong năm [00..53], khi chủ nhật là ngày đầu tiên của tuầnKết Luận:
trên đây là bài giới thiệu về các hàm cũng như một số chú ý liên quan đến SQL, hy vọng sẽ giúp ích phần nào cho các bạn!