programmera.net -> mysql -> normal     för utskrift      info@programmera.net

SQL i MySQL

1. INSERT
2. UPDATE
3. DELETE

1. INSERT

Nu tänkte jag lägga in lite data och loggar därför in som olle, går in i databasen olles_db. Jag tänker lägga till några rader i tabellen animals som jag skapade på sidan  tabeller :
[olle@dev1]$ /usr/local/mysql/bin/mysql -u olle -p
Enter password: star
mysql> use olles_db;
mysql> INSERT INTO animals (name,weight,birth)
    -> VALUES ("fluffy",13,"2000-01-23");
mysql> INSERT INTO animals (name,weight,birth)
    -> VALUES ("snaky",8,"1997-08-12");
mysql> SELECT * FROM animals;
+----+--------+--------+------------+----------------+
| id | name   | weight | birth      | timestamp      |
+----+--------+--------+------------+----------------+
|  1 | fluffy |     13 | 2000-01-23 | 20020830144052 |
|  2 | snaky  |      8 | 1997-08-12 | 20020830144311 |
+----+--------+--------+------------+----------------+
Som synes i exemplet ovan behöver man inte några fnuttar kring data av typen INT. Id har AUTO_INCREMENT och uppdateras helt på egen hand. Samma gäller för timestamp som är av typen TIMESTAMP och ger sig själv ett värde vid insert.

2. UPDATE

Med UPDATE ändrar man i en existerande rad i en tabell.
mysql> UPDATE animals SET weight=9 WHERE id=2;
mysql> SELECT * FROM animals;
+----+--------+--------+------------+----------------+
| id | name   | weight | birth      | timestamp      |
+----+--------+--------+------------+----------------+
|  1 | fluffy |     13 | 2000-01-23 | 20020830144052 |
|  2 | snaky  |      9 | 1997-08-12 | 20020830145618 |
+----+--------+--------+------------+----------------+
Vi ser att även kolumnen timestamp uppdaterades.

3. DELETE

Med DELETE tar man bort en eller flera rader ur en tabell.
mysql> DELETE FROM animals WHERE id=2;
mysql> SELECT * FROM animals;
+----+--------+--------+------------+----------------+
| id | name   | weight | birth      | timestamp      |
+----+--------+--------+------------+----------------+
|  1 | fluffy |     13 | 2000-01-23 | 20020830144052 |
+----+--------+--------+------------+----------------+
mysql> DELETE FROM animals;
mysql> SELECT * FROM animals;
Empty set (0.00 sec)

När man skriver DELETE FROM tabell_namn; så raderas alla rader i tabellen.