Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> MySQL

JDBC SQL Escape Syntax là gì? Giải thích?


Cú pháp escape cho phép dùng các tính năng riêng của database không có sẵn qua JDBC chuẩn.

Định dạng chung SQL escape syntax:

{keyword 'parameters'}

Các escape syntax trong JDBC:

d, t, ts Keywords: Xác định literal date, time, timestamp. Không hai DBMS nào biểu diễn thời gian/ngày giống nhau. Cú pháp escape này yêu cầu driver render date/time theo định dạng database đích.

{d 'yyyy-mm-dd'}

yyyy = năm, mm = tháng, dd = ngày. {d '2009-09-03'} là 3 tháng 9 năm 2009.

Ví dụ

// Tạo Statement object 
stmt = conn.createStatement(); 
// Chèn dữ liệu ==> ID, First Name, Last Name, DOB 
String sql = "INSERT INTO STUDENTS VALUES" 
    + "(100,'Zara','Ali', {d '2001-12-16'})"; 
stmt.executeUpdate(sql);

escape Keyword

Xác định ký tự escape dùng trong mệnh đề LIKE. Hữu ích khi dùng wildcard % (khớp 0 hoặc nhiều ký tự). Ví dụ:

String sql = "SELECT symbol FROM MathSymbols WHERE symbol LIKE '\\%' {escape '\\'}"; 
stmt.execute(sql);

Nếu dùng backslash (\) làm escape char, cần dùng hai backslash trong Java String literal vì backslash cũng là escape char của Java.

fn Keyword

Đại diện cho scalar functions trong DBMS. Ví dụ dùng hàm SQL length lấy độ dài chuỗi:

{fn length('Hello World')}

Trả về 11, độ dài chuỗi 'Hello World'.

call Keyword

Dùng gọi stored procedure. Ví dụ procedure cần IN parameter:

{call my_procedure(?)};

Procedure cần IN parameter và trả về OUT parameter:

{? = call my_procedure(?)}; 

oj Keyword

Dùng chỉ outer joins. Cú pháp:

{oj outer-join}

outer-join = table {LEFT|RIGHT|FULL} OUTER JOIN {table | outer-join} on search-condition.

String sql = "SELECT Employees FROM {oj ThisTable RIGHT OUTER JOIN ThatTable on id = '100'}"; 
stmt.execute(sql);