una separar reemplazar que por para especiales eliminar doble código crear contenga concatenar comillas comilla caracteres caracter cadena agregar python sqlite3 double-quotes backticks

separar - reemplazar caracteres en python



Sqlite-Usa los backticks(`) o las comillas dobles(") con python (2)

Vi una pregunta similar en Stack Overflow perteneciente a Android, pero me preguntaba si debería usar backticks (`) o comillas dobles (") - usando Python - para seleccionar nombres de tablas o rowid o lo que sea.

select ''rowid'', * from ''tbl'' order by ''rowid'' comillas simples, como esta select ''rowid'', * from ''tbl'' order by ''rowid'' . Las comillas simples funcionaron en algunos casos, pero no en todos. Aprendí a usar comillas dobles o retrocesos, y estaba viendo el SQLite Database Browser y noté que usaba los backticks.

Me gusta poner comillas dobles alrededor de mis cadenas en Python porque vengo de Java, por lo que es natural hacer cursor.execute("select ''rowid'',* from ''table'';") , y sería simplemente es fácil hacer backticks (las comillas dobles requieren una barra invertida y hacen que la consulta parezca un poco confusa). Sin embargo, solo quería asegurarme de que los backticks sean portátiles (todas las versiones de Windows, Linux, Os x, etc.).


Prefiere comillas dobles para citar identificadores como nombres de columnas o tablas. Es el estándar SQL.

Los Backticks también funcionan, pero solo son compatibles con la compatibilidad de sintaxis de MySQL.

Las comillas simples son para literales de cadena, no identificadores. Es por eso que obtendrás el valor literal cuando los uses.

Lectura adicional: http://www.sqlite.org/lang_keywords.html


El estándar SQL dice que las cadenas deben usar ''single quotes'' , y los identificadores (como los nombres de tabla y columna), cuando se citan, deben usar "double quotes" .

Para la compatibilidad con MySQL, SQLite también permite usar comillas simples para identificadores y comillas dobles para cadenas, pero solo cuando el contexto hace que el significado sea inequívoco. (En SELECT ''rowid'' ... , se permite una cadena, por lo que se obtiene una cadena). Si es posible, siempre use las comillas estándar de SQL.

Para compatibilidad con MySQL, SQLite también permite `backticks` para identificadores.

Para compatibilidad con las bases de datos de Microsft, SQLite también permite [brackets] para identificadores.

(Esto funciona en todas las versiones de SQLite).