SQL escape/unescape ay tumutukoy sa proseso ng sanitizing text input upang ligtas itong mai-embed sa mga SQL statement.
Escaping ang mga espesyal na character (tulad ng mga quote o backslashes) sa isang paraan na pumipigil sa mga error sa syntax o malisyosong code execution.
Unescaping ang mga nakatakas na character pabalik sa kanilang orihinal na anyo, kadalasan para sa pagpapakita o karagdagang pagproseso.
Upang iwasan ang mga pag-atake ng SQL injection, kung saan maaaring baguhin ng nakakahamak na input ang logic ng isang SQL query.
Upang iwasan ang mga error sa syntax sa mga query kapag naglalaman ang data ng mga character tulad ng ', ", o \.
Upang panatilihin ang integridad ng data, tinitiyak na ang input ng user ay nakaimbak at kinukuha nang eksakto tulad ng inilagay.
Ang pagtakas ay ginagawa ng:
Ang pagdodoble ng mga solong quote sa mga string (hal., 'O'Brien' ay nagiging 'O''Brien').
Paggamit ng mga built-in na function ng database o mga aklatan upang i-escape nang maayos ang mga input.
Unescaping kapag kinukuha ang data, kadalasang awtomatikong pinangangasiwaan ng database o ng iyong application layer.
Sa modernong pag-unlad, karaniwan itong pinamamahalaan ng mga naka-parameter na query o mga ORM (Object-Relational Mappers), na nangangasiwa sa pagtakas nang secure at awtomatiko.
Kapag naglalagay o nagtatanong ng input ng user nang direkta sa raw SQL (hindi inirerekomenda maliban kung maayos na nakatakas).
Kapag nakikitungo sa mga legacy system o raw SQL string kung saan walang awtomatikong proteksyon.
Palaging i-escape ang mga input maliban kung gumagamit ng mga inihandang pahayag o mga parameterized na query, na mas gusto at mas ligtas na mga alternatibo.