Hızlı Başlangıç: Node.js - Tek Sunucu'da veri PostgreSQL için Azure Veritabanı sorgulamak için PostgreSQL için Azure Veritabanı kullanma
Bu hızlı başlangıçta, bir PostgreSQL için Azure Veritabanı uygulaması kullanarak bir Node.js bağlanabilirsiniz. Ayrıca veritabanında veri sorgulamak, eklemek, güncelleştirmek ve silmek için SQL deyimlerini nasıl kullanacağınız da gösterilmiştir. Bu makaledeki adımlarda, Node.js kullanarak geliştirmeyle ilgili bilgi sahibi olduğunuz ve PostgreSQL için Azure Veritabanı ile çalışmaya yeni başladığınız varsayılır.
Önkoşullar
Etkin aboneliği olan bir Azure hesabı. Ücretsiz bir hesap oluşturun.
Hızlı Başlangıç: PostgreSQL için Azure Veritabanı'da bir Azure portal sunucusu oluşturma veya Hızlı Başlangıç: Azure CLI kullanarak PostgreSQL için Azure Veritabanıoluşturma.
pg istemcisini yükleme
Node.js için bir PostgreSQL istemcisi olan pg’yi yükleyin.
Bunu yapmak için komut satırından JavaScript’e yönelik düğüm paketi yöneticisini (npm) çalıştırarak pg istemcisini yükleyin.
npm install pg
Yüklü paketleri listeleyerek yüklemeyi doğrulayın.
npm list
Bağlantı bilgilerini alma
PostgreSQL için Azure Veritabanı'na bağlanmak üzere gereken bağlantı bilgilerini alın. Tam sunucu adına ve oturum açma kimlik bilgilerine ihtiyacınız vardır.
Aşağıdaki Azure portal,oluşturduğunuz sunucuyu (örneğin, mydemoserver ) arayın ve seçin.
Sunucunun Genel Bakış panelinde Sunucu adı ve Yönetici kullanıcı adını not edin. Parolanızı unutursanız, bu panelden parolayı da sıfırlayabilirsiniz.
Node.js’de JavaScript kodunu çalıştırma
node yazarak Node.js’yi Bash kabuğundan, Terminal’den veya Windows Komut İstemi’nden başlatabilir, ardından isteme kopyalayıp yapıştırarak örnek JavaScript kodunu etkili bir şekilde çalıştırabilirsiniz. Alternatif olarak, JavaScript kodunu bir metin dosyasına kaydedebilir ve node filename.js öğesini, bunu çalıştıracak bir parametre olarak dosya adıyla başlatabilirsiniz.
Bağlanma, tablo oluşturma ve veri ekleme
Aşağıdaki kodu kullanarak bağlanın ve CREATE TABLE ve INSERT INTO SQL deyimlerini kullanarak verileri yükleyin. pg.Client nesnesi, PostgreSQL sunucusuyla arabirim oluşturmak için kullanılır. pg.Client.connect() işlevi, sunucuyla bağlantı kurmak için kullanılır. pg.Client.query() işlevi, PostgreSQL veritabanına karşı SQL sorgusunu yürütmek için kullanılır.
Ana bilgisayar, veritabanı adı, kullanıcı ve parola parametrelerini, sunucuyu ve veritabanını oluştururken belirttiğiniz değerlerle değiştirin.
const pg = require('pg');
const config = {
host: '<your-db-server-name>.postgres.database.azure.com',
// Do not hard code your username and password.
// Consider using Node environment variables.
user: '<your-db-username>',
password: '<your-password>',
database: '<name-of-database>',
port: 5432,
ssl: true
};
const client = new pg.Client(config);
client.connect(err => {
if (err) throw err;
else {
queryDatabase();
}
});
function queryDatabase() {
const query = `
DROP TABLE IF EXISTS inventory;
CREATE TABLE inventory (id serial PRIMARY KEY, name VARCHAR(50), quantity INTEGER);
INSERT INTO inventory (name, quantity) VALUES ('banana', 150);
INSERT INTO inventory (name, quantity) VALUES ('orange', 154);
INSERT INTO inventory (name, quantity) VALUES ('apple', 100);
`;
client
.query(query)
.then(() => {
console.log('Table created successfully!');
client.end(console.log('Closed client connection'));
})
.catch(err => console.log(err))
.then(() => {
console.log('Finished execution, exiting now');
process.exit();
});
}
Verileri okuma
Bağlanmak ve SELECT SQL deyimi kullanarak verileri okumak için aşağıdaki kodu kullanın. pg.Client nesnesi, PostgreSQL sunucusuyla arabirim oluşturmak için kullanılır. pg.Client.connect() işlevi, sunucuyla bağlantı kurmak için kullanılır. pg.Client.query() işlevi, PostgreSQL veritabanına karşı SQL sorgusunu yürütmek için kullanılır.
Ana bilgisayar, veritabanı adı, kullanıcı ve parola parametrelerini, sunucuyu ve veritabanını oluştururken belirttiğiniz değerlerle değiştirin.
const pg = require('pg');
const config = {
host: '<your-db-server-name>.postgres.database.azure.com',
// Do not hard code your username and password.
// Consider using Node environment variables.
user: '<your-db-username>',
password: '<your-password>',
database: '<name-of-database>',
port: 5432,
ssl: true
};
const client = new pg.Client(config);
client.connect(err => {
if (err) throw err;
else { queryDatabase(); }
});
function queryDatabase() {
console.log(`Running query to PostgreSQL server: ${config.host}`);
const query = 'SELECT * FROM inventory;';
client.query(query)
.then(res => {
const rows = res.rows;
rows.map(row => {
console.log(`Read: ${JSON.stringify(row)}`);
});
process.exit();
})
.catch(err => {
console.log(err);
});
}
Verileri güncelleştirme
Bağlanmak ve UPDATE SQL deyimi kullanarak verileri okumak için aşağıdaki kodu kullanın. pg.Client nesnesi, PostgreSQL sunucusuyla arabirim oluşturmak için kullanılır. pg.Client.connect() işlevi, sunucuyla bağlantı kurmak için kullanılır. pg.Client.query() işlevi, PostgreSQL veritabanına karşı SQL sorgusunu yürütmek için kullanılır.
Ana bilgisayar, veritabanı adı, kullanıcı ve parola parametrelerini, sunucuyu ve veritabanını oluştururken belirttiğiniz değerlerle değiştirin.
const pg = require('pg');
const config = {
host: '<your-db-server-name>.postgres.database.azure.com',
// Do not hard code your username and password.
// Consider using Node environment variables.
user: '<your-db-username>',
password: '<your-password>',
database: '<name-of-database>',
port: 5432,
ssl: true
};
const client = new pg.Client(config);
client.connect(err => {
if (err) throw err;
else {
queryDatabase();
}
});
function queryDatabase() {
const query = `
UPDATE inventory
SET quantity= 1000 WHERE name='banana';
`;
client
.query(query)
.then(result => {
console.log('Update completed');
console.log(`Rows affected: ${result.rowCount}`);
})
.catch(err => {
console.log(err);
throw err;
});
}
Verileri silme
Bağlanmak ve DELETE SQL deyimi kullanarak verileri okumak için aşağıdaki kodu kullanın. pg.Client nesnesi, PostgreSQL sunucusuyla arabirim oluşturmak için kullanılır. pg.Client.connect() işlevi, sunucuyla bağlantı kurmak için kullanılır. pg.Client.query() işlevi, PostgreSQL veritabanına karşı SQL sorgusunu yürütmek için kullanılır.
Ana bilgisayar, veritabanı adı, kullanıcı ve parola parametrelerini, sunucuyu ve veritabanını oluştururken belirttiğiniz değerlerle değiştirin.
const pg = require('pg');
const config = {
host: '<your-db-server-name>.postgres.database.azure.com',
// Do not hard code your username and password.
// Consider using Node environment variables.
user: '<your-db-username>',
password: '<your-password>',
database: '<name-of-database>',
port: 5432,
ssl: true
};
const client = new pg.Client(config);
client.connect(err => {
if (err) {
throw err;
} else {
queryDatabase();
}
});
function queryDatabase() {
const query = `
DELETE FROM inventory
WHERE name = 'apple';
`;
client
.query(query)
.then(result => {
console.log('Delete completed');
console.log(`Rows affected: ${result.rowCount}`);
})
.catch(err => {
console.log(err);
throw err;
});
}
Kaynakları temizleme
Bu hızlı başlangıçta kullanılan tüm kaynakları temizlemek için aşağıdaki komutu kullanarak kaynak grubunu silin:
az group delete \
--name $AZ_RESOURCE_GROUP \
--yes