| | 183 | <font color="#00ffff"><b>-----</b></font><br> |
| | 184 | <font color="#00ffff"><b>-- playlist handling</b></font><br> |
| | 185 | <font color="#00ffff"><b>-----</b></font><br> |
| | 186 | <br> |
| | 187 | <font color="#00ffff"><b>---</b></font><br> |
| | 188 | <font color="#00ffff"><b>-- insert a whole artist into a playlist</b></font><br> |
| | 189 | <font color="#00ffff"><b>---</b></font><br> |
| | 190 | <font color="#ffff00"><b>INSERT</b></font> <font color="#ff6060"><b>INTO</b></font> playlist_data(playlist_id, song_id)<br> |
| | 191 | <font color="#ffff00"><b>SELECT</b></font> playlist.id, song.id<br> |
| | 192 | <font color="#ff6060"><b>FROM</b></font> playlist, song<br> |
| | 193 | <font color="#ff6060"><b>WHERE</b></font> artist_id <font color="#ffff00"><b>IN</b></font> (<font color="#ffff00"><b>SELECT</b></font> id <font color="#ff6060"><b>FROM</b></font> artist <font color="#ff6060"><b>WHERE</b></font> name = <font color="#ff40ff"><b>'<artist name>'</b></font>) <font color="#ffff00"><b>AND</b></font><br> |
| | 194 | playlist.name = <font color="#ff40ff"><b>'<playlist name>'</b></font>;<br> |
| | 195 | <br> |
| | 196 | <font color="#00ffff"><b>---</b></font><br> |
| | 197 | <font color="#00ffff"><b>-- insert a whole album into a playlist</b></font><br> |
| | 198 | <font color="#00ffff"><b>---</b></font><br> |
| | 199 | <font color="#ffff00"><b>INSERT</b></font> <font color="#ff6060"><b>INTO</b></font> playlist_data(playlist_id, song_id)<br> |
| | 200 | <font color="#ffff00"><b>SELECT</b></font> playlist.id, song.id<br> |
| | 201 | <font color="#ff6060"><b>FROM</b></font> playlist, song<br> |
| | 202 | <font color="#ff6060"><b>WHERE</b></font> song.album_id <font color="#ffff00"><b>IN</b></font> (<font color="#ffff00"><b>SELECT</b></font> id <font color="#ff6060"><b>FROM</b></font> album <font color="#ff6060"><b>WHERE</b></font> title = <font color="#ff40ff"><b>'<album>'</b></font>) <font color="#ffff00"><b>AND</b></font><br> |
| | 203 | playlist.name = <font color="#ff40ff"><b>'<playlist name>'</b></font>;<br> |
| | 204 | <br> |
| | 205 | <font color="#00ffff"><b>---</b></font><br> |
| | 206 | <font color="#00ffff"><b>-- insert a whole genre into a playlist</b></font><br> |
| | 207 | <font color="#00ffff"><b>---</b></font><br> |
| | 208 | <font color="#ffff00"><b>INSERT</b></font> <font color="#ff6060"><b>INTO</b></font> playlist_data(playlist_id, song_id)<br> |
| | 209 | <font color="#ffff00"><b>SELECT</b></font> playlist.id, song.id<br> |
| | 210 | <font color="#ff6060"><b>FROM</b></font> playlist, song<br> |
| | 211 | <font color="#ff6060"><b>WHERE</b></font> song.genre_id <font color="#ffff00"><b>IN</b></font> (<font color="#ffff00"><b>SELECT</b></font> id <font color="#ff6060"><b>FROM</b></font> genre <font color="#ff6060"><b>WHERE</b></font> name = <font color="#ff40ff"><b>'<genre>'</b></font>) <font color="#ffff00"><b>AND</b></font><br> |
| | 212 | playlist.name = <font color="#ff40ff"><b>'<playlist name>'</b></font>;<br> |
| | 213 | <br> |
| | 214 | <font color="#00ffff"><b>--</b></font><br> |
| | 215 | <font color="#00ffff"><b>-- would be even easier if the id of the playlist and the artist/album/.. is</b></font><br> |
| | 216 | <font color="#00ffff"><b>-- already known or stored in the script</b></font><br> |
| | 217 | <font color="#00ffff"><b>--</b></font><br> |
| | 218 | <br> |
| | 219 | <br> |
| | 220 | <font color="#00ffff"><b>---</b></font><br> |
| | 221 | <font color="#00ffff"><b>-- delete a playlist</b></font><br> |
| | 222 | <font color="#00ffff"><b>-- </b></font><span style="background-color: #ffff00"><font color="#808080">note</font></span><font color="#00ffff"><b>: since SQLite doesn't really deal with foreign keys, we can't just</b></font><br> |
| | 223 | <font color="#00ffff"><b>-- use an ON DELETE CASCADE in the table creation, so we have to delete</b></font><br> |
| | 224 | <font color="#00ffff"><b>-- all entries manually :<</b></font><br> |
| | 225 | <font color="#00ffff"><b>---</b></font><br> |
| | 226 | <font color="#ffff00"><b>DELETE</b></font> <font color="#ff6060"><b>FROM</b></font> playlist_data <font color="#ff6060"><b>WHERE</b></font> playlist_id = <playlist id <font color="#ff6060"><b>to</b></font> <font color="#ffff00"><b>delete</b></font>>;<br> |
| | 227 | <font color="#ffff00"><b>DELETE</b></font> <font color="#ff6060"><b>FROM</b></font> playlist <font color="#ff6060"><b>WHERE</b></font> id = <playlist id <font color="#ff6060"><b>to</b></font> <font color="#ffff00"><b>delete</b></font>>;<br> |
| | 228 | <br> |
| | 229 | <br> |