Skip to content

Instantly share code, notes, and snippets.

@KakoozaJerry
Created June 12, 2021 20:52
Show Gist options
  • Save KakoozaJerry/7576137095385b1a8ee00ec3bd4ed109 to your computer and use it in GitHub Desktop.
Save KakoozaJerry/7576137095385b1a8ee00ec3bd4ed109 to your computer and use it in GitHub Desktop.
const mysql = require("mysql");
const Json2csvParser = require("json2csv").Parser;
const fs = require("fs");
// Create a connection to the database
const connection = mysql.createConnection({
host: "localhost",
user: "***********",
password: "*******",
database: "*******"
});
// open the MySQL connection
connection.connect(error => {
if (error) throw error;
// query data from MySQL
connection.query("select cat.name category_name, sum( IFNULL(pay.amount, 0) ) revenue from category cat left join film_category flm_cat on cat.category_id = flm_cat.category_id left join film fil on flm_cat.film_id = fil.film_id left join inventory inv on fil.film_id = inv.film_id left join rental ren on inv.inventory_id = ren.inventory_id left join payment pay on ren.rental_id = pay.rental_id group by cat.name order by revenue desc limit 5;", function(error, data, fields) {
if (error) throw error;
const jsonData = JSON.parse(JSON.stringify(data));
console.log("jsonData", jsonData);
const json2csvParser = new Json2csvParser({ header: true});
const csv = json2csvParser.parse(jsonData);
fs.writeFile("bezkoder_mysql_fs.csv", csv, function(error) {
if (error) throw error;
console.log("Write to bezkoder_mysql_fs.csv successfully!");
});
});
});
///SQL QUERY
select customer.email,address.district
from customer
inner join address on customer.address_id = address.address_id
where address.district != 'California'
order by address.district desc;
create view top_five_genres as
select cat.name category_name, sum( IFNULL(pay.amount, 0) ) revenue
from category cat
left join film_category flm_cat
on cat.category_id = flm_cat.category_id
left join film fil
on flm_cat.film_id = fil.film_id
left join inventory inv
on fil.film_id = inv.film_id
left join rental ren
on inv.inventory_id = ren.inventory_id
left join payment pay
on ren.rental_id = pay.rental_id
group by cat.name
order by revenue desc
limit 5;
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment