« MySQL/Manipulation de données » : différence entre les versions
Contenu supprimé Contenu ajouté
Aucun résumé des modifications |
Aucun résumé des modifications |
||
Ligne 8 :
VALUES (value1, value2, value3)
</source>
Insérer un enregistrement (les valeurs sont insérées dans l'ordre où les colonnes apparaissent dans la base) :
<source lang=sql>
INSERT INTO TableName
VALUES (value1, value2, value3)
</source>
Deux lignes :
<source lang=sql>
INSERT INTO TableName
Ligne 21 ⟶ 23 :
INSERT INTO antiques (buyerid, sellerid, item) VALUES (01, 21, 'Ottoman');
</source>
Copier ceux d'une autre table :
<source lang=sql>
INSERT INTO table1(field1, field2)
Ligne 29 ⟶ 32 :
INSERT INTO World_Events SELECT * FROM National_Events
</source>
Astuces de performances :
* Pour insérer plusieurs lignes, utiliser <code>LOAD DATA INFILE</code> de préférence.
* Si un gros volume d'insertion est trop lent sur des tables indexées non vides, augmenter la valeur de <code>bulk_insert_buffer_size</code>.
* Avant des insertions en masse, retirer les clés.
* Verrouiller une table (<code>LOCK</code>) accélère les <code>INSERT</code>.
== UPDATE ==
<source lang=sql>
UPDATE table SET field = newvalue WHERE criteria ORDER BY field LIMIT n
</source>
Exemples :
<source lang=sql>
UPDATE owner SET ownerfirstname = 'John'
Ligne 66 ⟶ 69 :
ORDER BY date LIMIT 1
</source>
It is currently not possible to update a table while performing a subquery on the same table. For example, if I want to reset a password I forgot in SPIP:
|