Я никогда с WebSQL особо не работал, но насколько я понимаю просто селектом оно данные в массиве не обновит. Придется либо циклом перебирать и заменять соответствующие элементы, либо делать новый массив из выборки и заменять им старый. Как-то так:
<!DOCTYPE HTML>
<html>
<head>
<meta charset="utf-8">
</head>
<body>
<script>
var data = [];
var db = openDatabase('mydb', '1.0', 'test', 20000);
db.transaction(function (tx) {
tx.executeSql('CREATE TABLE IF NOT EXISTS TableName (id unique, year, value)');
tx.executeSql('INSERT INTO TableName (id, year, value) VALUES (1, "2013-11-15", "11")');
tx.executeSql('INSERT INTO TableName (id, year, value) VALUES (2, "2013-10-24", "22")');
tx.executeSql('INSERT INTO TableName (id, year, value) VALUES (3, "2013-12-17", "33")');
});
db.transaction(function (tx) {
tx.executeSql('SELECT * FROM TableName', [], function (tx, results) {
var len = results.rows.length;
for (var i = 0; i < len; i++) {
var tmpObj = {
year: results.rows.item(i).year,
value: results.rows.item(i).value
};
data.push(tmpObj);
}
alert(JSON.stringify(data,'',2));
}, null);
});
</script>
</body>
</html>