INSERT INTO table_name [(column, ...)]
VALUES (value, ...)[, (...), ...];
Without specifying columns
INSERT INTO artist
VALUES (0,'Robert', 'Smith');
Query OK, 1 row affected
But:
INSERT INTO artist
VALUES ('Madonna');
(1136, u"Column count doesn't match value count at row 1")
With explicit column specification
INSERT INTO artist(lname)
VALUES ('Piazzolla');
Query OK, 1 row affected
Insert more than 1 row at a time
INSERT INTO artist( lname, fname )
VALUES ( 'Schnittke', 'Alfred' ),
( 'Pärt', 'Arvo' ),
( 'Shostakovich', 'Dmitri' );
Query OK, 3 rows affected
DELETE FROM table_name
[WHERE where_condition]
[ORDER BY ...]
[LIMIT row_count]
delete from artist WHERE
artist_id BETWEEN 9 AND 13;
Query OK, 5 rows affected
UPDATE table_name
SET column1=value, column2=value2,...
[WHERE where_clause]
[ORDER BY ...]
[LIMIT row_count]
UPDATE artist
SET fname='Test', lname='Test'
WHERE artist_id >= 14;
Query OK, 2 rows affected
Check Comparison Functions and Operators to use them in WHERE Clause
Columns: -------------------------------- id (primary key, auto_increment) fname, lname, birth_year, death_year;
Columns: -------------------------------- id (primary key, auto_increment) author_id, book_name, pub_year;
If you need to store years less than 1900, you have to use some integer type for that - SMALLINT(4) should be enough for most cases.