Maison >base de données >tutoriel mysql >Comment insérer efficacement plusieurs lignes dans une base de données SQLite ?

Comment insérer efficacement plusieurs lignes dans une base de données SQLite ?

DDD
DDDoriginal
2025-01-23 13:58:09390parcourir

How to Efficiently Insert Multiple Rows into an SQLite Database?

Compétences d'insertion multi-lignes SQLite

Contrairement à MySQL, SQLite lui-même ne prend pas directement en charge la syntaxe concise consistant à insérer plusieurs lignes en même temps. Il existe cependant une méthode alternative pour obtenir un effet similaire.

Syntaxe d'insertion multi-lignes SQLite

Pour insérer plusieurs lignes dans SQLite, vous pouvez utiliser la syntaxe suivante :

<code><br></br>INSERT INTO 'tablename'<br></br>SELECT 'data1' AS 'column1', 'data2' AS 'column2'<br></br>UNION ALL SELECT 'data1', 'data2'<br></br>UNION ALL SELECT 'data1', 'data2'<br></br>UNION ALL SELECT 'data1', 'data2'<br></br></code>

Dans cet exemple, les données 'data1' et 'data2' seront insérées quatre fois dans la table 'tablename'.

La différence entre UNION et UNION ALL

L'utilisation de UNION ALL garantit que toutes les lignes sont insérées, même si elles contiennent des données en double. Si ALL est omis, les lignes en double sont éliminées.

Considérations relatives aux performances

Bien que cette approche permette d'insérer plusieurs lignes, elle n'est pas nécessairement plus efficace que l'utilisation d'une seule instruction INSERT dans une transaction. Pour de meilleures performances, pensez à utiliser la syntaxe suivante :

<code><br></br>BEGIN TRANSACTION;<br></br>INSERT INTO 'tablename' VALUES ('data1', 'data2');<br></br>INSERT INTO 'tablename' VALUES ('data3', 'data4');<br></br>...<br></br>COMMIT;<br></br></code>

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn