Aprobat de cei mai buni programatori ruși 1

6.1.1.1 rânduri

Un șir este o secvență de caractere închise în ghilimele simple sau ( „“ „) - apostrofuri sau ghilimele (“ „“) Când se utilizează ANSI SQL dialect permisibile numai un singur exemplu ghilimele.:.







În interiorul șirului, anumite secvențe de caractere au un scop special. Fiecare dintre aceste secvențe începe cu un backslash (`\ '), cunoscut ca un caracter de evacuare sau un caracter de tranziție. MySQL recunoaște următoarele secvențe de evacuare:

\ 0 Caracterul 0 (NUL) din codul ASCII. \ 'Caracterul single-quote (`' '). "Caracterul dublu-cotat (` ''). \ b Se întoarce la un caracter. \ n Caracterul de linie nouă (feed line). Caracterul retur de transport. \ t Caracterul fila. \ z Caracterul Control-Z al tabelului ASCII (26). Acest caracter poate fi codificat pentru a ocoli problema că sub Windows ASCII (26) înseamnă sfârșitul fișierului (problemele apar atunci când se utilizează ASCII (26) în expresia bazei de date mysql





Rețineți că dacă folosiți `\% 'sau' \ _ 'în contextul unor linii, valorile liniilor` \%' și `\ _ 'vor fi returnate. nu "%" și "_".

Există mai multe moduri de a include ghilimele într-un șir:

  • Un singur punct de referință (apostrof) "" "în interiorul unui șir încorporat în ghilimele" ". pot fi scrise ca `` ''.
  • Un citat dublu `` `în interiorul unui șir închis în citate dublă` `''. pot fi scrise ca "" "".
  • Puteți să precedeți caracterul de cotație cu caracterul de evacuare (`\ ').
  • Pentru simbolul `` 'din interiorul unui șir încorporat în ghilimele duble, nu este necesară nicio prelucrare specială; De asemenea, nu este necesar să fie duplicat sau precedat de un backslash. În mod similar, o dublă ghilimă "" "nu necesită procesare specială în interiorul unui șir închis în citate simple" "".

Următoarele sunt posibilele opțiuni pentru aplicarea citatelor și a unui caracter de evacuare la exemplele comenzii SELECT:

Dacă doriți să inserați date binare (cum ar fi BLOB-uri) în șir, următoarele caractere trebuie reprezentate ca secvențe de evacuare:

NUL ASCII 0. Trebuie să fie reprezentat ca `\ 0 '(caracterul invers și caracterul ASCII' 0 '). \ ASCII 92, backslash. Este reprezentat ca `\\ '. "ASCII 39, citat unic. Este reprezentat ca `\ ''. "ASCII 34, citare dublă, reprezentată ca` `. ''

Când scrieți un program în C pentru a adăuga caracterul de evacuare în instrucțiunea INSERT poate utiliza mysql_real_escape_string () din funcția C API-ul (a se vedea secțiunea 8.4.2 Prezentare generală funcții C interfață). Când programați în Perl, puteți utiliza metoda de cotare din pachetul DBI pentru a converti caracterele speciale în secvențele escape corespunzătoare (vezi secțiunea 8.2.2 Interfața DBI).

Nu uitați că proprietatea specificată pentru caractere de evacuare trebuie utilizată pe toate șirurile care pot conține caracterele speciale enumerate mai sus.

În mod alternativ, multe interfețe de programare a aplicațiilor (API) pentru MySQL oferă o anumită capacitate de a utiliza simboluri substitute care vă permite să facă semne speciale în șirul de interogare, și apoi le leagă cu valorile date în emiterea rezultatelor interogării.







Articole similare

Trimiteți-le prietenilor: