เชื่อมต่อ MySQL กับ NodeJS

Connecting Mysql With Nodejs



เซิร์ฟเวอร์ MySQL เป็นเซิร์ฟเวอร์ฐานข้อมูลที่ได้รับความนิยมอย่างมาก และได้รับการสนับสนุนโดยภาษาโปรแกรมที่ใช้เป็นหลัก เช่น PHP, Python, Perl, Java, C# เป็นต้น เป็นแอปพลิเคชันโอเพ่นซอร์ส ดังนั้นทุกคนสามารถดาวน์โหลดแอปพลิเคชันนี้เพื่อจัดเก็บและเรียกค้น ปรับปรุงและลบข้อมูลโดยใช้การสืบค้นฐานข้อมูล คุณจะต้องติดตั้งแพ็คเกจเซิร์ฟเวอร์และไคลเอนต์ในระบบของคุณเพื่อดำเนินการฐานข้อมูลประเภทต่างๆ ในเซิร์ฟเวอร์ฐานข้อมูล เซิร์ฟเวอร์ MySQL กำลังเป็นที่นิยมสำหรับนักพัฒนาโหนดด้วย นักพัฒนาโหนดเริ่มใช้เซิร์ฟเวอร์ MySQL กับ MongoDB สำหรับคุณสมบัติพิเศษบางอย่างของเซิร์ฟเวอร์ MySQL วิธีที่คุณสามารถเชื่อมต่อกับเซิร์ฟเวอร์ MySQL โดยใช้ไคลเอนต์ node-mysql นั้นแสดงในบทช่วยสอนนี้

วิชาบังคับก่อน:

ก่อนเริ่มบทช่วยสอนนี้ คุณต้องยืนยันว่าเซิร์ฟเวอร์ MySQL และแพ็คเกจไคลเอนต์ได้รับการติดตั้งและทำงานอย่างถูกต้องในระบบของคุณ หากคุณติดตั้งเซิร์ฟเวอร์ MySQL เป็นครั้งแรก รหัสผ่านของผู้ใช้รูทจะว่างเปล่าตามค่าเริ่มต้น แต่คุณต้องตั้งรหัสผ่านสำหรับผู้ใช้รูทเพื่อทำการเชื่อมต่อกับเซิร์ฟเวอร์ MySQL โดยใช้ node-mysql ลูกค้า. สามารถตรวจสอบได้ กวดวิชา เพื่อทราบวิธีการเปลี่ยนรหัสผ่านรูทของเซิร์ฟเวอร์ MySQL







เรียกใช้คำสั่งต่อไปนี้เพื่อทำงานเป็นผู้ใช้รูทและเชื่อมต่อกับเซิร์ฟเวอร์ MySQL โดยใช้ไคลเอนต์ MySQL



$sudo -ผม
$ mysql-ยูราก-NS

ป้อนรหัสผ่านรูทและเรียกใช้คำสั่ง SQL ต่อไปนี้เพื่อสร้างฐานข้อมูลใหม่ สร้างตารางบนฐานข้อมูลนั้น และแทรกบางระเบียนในตารางนั้น



คำสั่งต่อไปนี้จะสร้างฐานข้อมูลชื่อ mydb .





สร้าง ฐานข้อมูล mydb;

คำสั่งต่อไปนี้เพื่อเลือกฐานข้อมูลสำหรับดำเนินการฐานข้อมูล

ใช้ mydb;

คำสั่งต่อไปนี้จะสร้างตารางชื่อ หนังสือ ในฐานข้อมูล mydb



สร้าง ตาราง หนังสือ(
NS INT (6) ไม่ได้ลงนาม AUTO_INCREMENT คีย์หลัก ,
ชื่อ VARCHAR (ห้าสิบ) ไม่ โมฆะ ,
ผู้เขียน VARCHAR (ห้าสิบ) ไม่ โมฆะ ,
ราคา int (5));

คำสั่งต่อไปนี้จะแทรกสี่ระเบียนลงใน หนังสือ ตาราง.

แทรก เข้าไปข้างใน หนังสือ ค่า
( โมฆะ ,'การเรียนรู้ PHP และ MySQL', 'โรบิน นิกสัน', สี่ห้า),
( โมฆะ ,'การเรียนรู้ JQuery', 'โจนาธาน', 35),
( โมฆะ ,'เชิงมุมในการดำเนินการ', 'เจเรมี', ห้าสิบ),
( โมฆะ ,'การเรียนรู้ Laravel', 'คริสโตเฟอร์', 55);

ติดตั้งไคลเอนต์ mysql สำหรับ nodejs:

เรียกใช้คำสั่งต่อไปนี้เพื่อตรวจสอบ nodejs ถูกติดตั้งในระบบก่อนที่จะรันคำสั่งการติดตั้งไคลเอนต์ mysql ของ nodejs มันจะแสดงเวอร์ชันที่ติดตั้งของ nodejs

$โหนด-v

หากยังไม่ได้ติดตั้ง คุณต้องติดตั้งโดยใช้คำสั่งต่อไปนี้

$sudo apt-get installnodejs

คุณจะต้องใช้แพ็คเกจอื่นชื่อ เหนือระดับน้ำทะเล ที่จะติดตั้งในระบบเพื่อติดตั้งไคลเอนต์ mysql สำหรับ nodejs หากไม่ได้ติดตั้งไว้ก่อนที่จะรันคำสั่งต่อไปนี้เพื่อติดตั้ง เหนือระดับน้ำทะเล .

$sudo apt-get installเหนือระดับน้ำทะเล

ตอนนี้ เรียกใช้คำสั่งต่อไปนี้เพื่ออัปเดตระบบ

$sudo apt-get update

คำสั่งต่อไปนี้จะติดตั้ง mysql โมดูลสำหรับ nodejs ที่จะทำงานเป็นไคลเอนต์ mysql

$เหนือระดับน้ำทะเลติดตั้งmysql

การเชื่อมต่อ MySQL อย่างง่ายโดยใช้ NodeJS:

สร้างไฟล์ JS ชื่อ การเชื่อมต่อ1.js ด้วยสคริปต์ต่อไปนี้เพื่อเชื่อมต่อกับฐานข้อมูลที่สร้างไว้ก่อนหน้านี้ชื่อ mydb และอ่านข้อมูลจาก หนังสือ ตาราง. mysql โมดูลถูกนำเข้าและใช้สำหรับการสร้างการเชื่อมต่ออย่างง่ายกับเซิร์ฟเวอร์ MySQL ถัดไป แบบสอบถามจะถูกดำเนินการเพื่ออ่านบันทึกทั้งหมดจาก หนังสือ ตาราง ถ้าฐานข้อมูลเชื่อมต่ออย่างถูกต้อง หากแบบสอบถามดำเนินการอย่างถูกต้องแล้วบันทึกทั้งหมดของ หนังสือ ตารางจะถูกพิมพ์ในเทอร์มินัลและการเชื่อมต่อฐานข้อมูลจะถูกปิด

การเชื่อมต่อ1.js

// นำเข้าโมดูล mysql
ให้ mysql=จำเป็นต้อง('mysql');

// ตั้งค่าพารามิเตอร์การเชื่อมต่อฐานข้อมูล
ให้การเชื่อมต่อ=mysqlcreateConnection({
เจ้าภาพ: 'โลคัลโฮสต์',
ผู้ใช้: 'ราก',
รหัสผ่าน: '1234',
ฐานข้อมูล: 'mydb'
});

// เชื่อมต่อกับฐานข้อมูล
การเชื่อมต่อ.เชื่อมต่อ(การทำงาน(และ) {
ถ้า (และ) {

// แสดงข้อความผิดพลาดเมื่อล้มเหลว
กลับคอนโซลข้อผิดพลาด('ข้อผิดพลาด: ' +และ.ข้อความ);
}

// แสดงข้อความแสดงความสำเร็จหากเชื่อมต่อ
คอนโซลบันทึก('NSเชื่อมต่อกับเซิร์ฟเวอร์ MySQL...NS');
});

// ตั้งค่าข้อความค้นหา
$query= 'เลือก * จากหนังสือ';

// ดำเนินการสืบค้นฐานข้อมูล
การเชื่อมต่อ.แบบสอบถาม($query, การทำงาน(และ,แถว) {
ถ้า(และ){

// แสดงข้อความแสดงข้อผิดพลาด
คอนโซลบันทึก('เกิดข้อผิดพลาดในการดำเนินการค้นหา');
กลับ;
}
/* แสดงข้อมูลที่จัดรูปแบบที่ดึงมาจากตาราง 'หนังสือ'
ใช้สำหรับวนซ้ำ */

คอนโซลบันทึก('บันทึกของโต๊ะหนังสือ:NS');
คอนโซลบันทึก('ชื่อNSNSNSNSผู้เขียนNSNSราคาNS');
สำหรับ(ให้แถวของแถว) {
คอนโซลบันทึก(แถว['ชื่อ'],'NSNS',แถว['ผู้เขียน'],'NS','$',แถว['ราคา']);
}
});

// ปิดการเชื่อมต่อฐานข้อมูล
การเชื่อมต่อ.จบ(การทำงาน(){
คอนโซลบันทึก('NSปิดการเชื่อมต่อNS');
});

เอาท์พุท:

รันคำสั่งต่อไปนี้เพื่อรันสคริปต์

$การเชื่อมต่อโหนด1.js

ผลลัพธ์ต่อไปนี้จะปรากฏขึ้นหลังจากรันสคริปต์

การเชื่อมต่อ MySQL แบบรวมกลุ่มโดยใช้ NodeJS:

สร้างการเชื่อมต่อ MySQL อย่างง่ายด้วย NodeJS โดยใช้ mysql โมดูลแสดงในตัวอย่างก่อนหน้านี้ แต่ผู้ใช้จำนวนมากสามารถเชื่อมต่อกับเซิร์ฟเวอร์ฐานข้อมูลในแต่ละครั้งผ่านแอปพลิเคชันเมื่อสร้างแอปพลิเคชันด้วย MySQL ฐานข้อมูลเพื่อวัตถุประสงค์ในการผลิต คุณจะต้อง ด่วน โมดูลเพื่อจัดการผู้ใช้ฐานข้อมูลพร้อมกันและสนับสนุนการเชื่อมต่อฐานข้อมูลหลายรายการ

เรียกใช้คำสั่งต่อไปนี้เพื่อติดตั้ง ด่วน โมดูล.

$เหนือระดับน้ำทะเลติดตั้งด่วน

สร้างไฟล์ JS ชื่อ การเชื่อมต่อ2.js ด้วยสคริปต์ต่อไปนี้ หากคุณเชื่อมต่อกับ MySQL ด้วยสคริปต์ต่อไปนี้ ผู้ใช้พร้อมกัน 10 คนจะสามารถเชื่อมต่อกับเซิร์ฟเวอร์ฐานข้อมูลและดึงข้อมูลจากตารางตามการสืบค้นได้ มันจะทำการเชื่อมต่อที่พอร์ต 5000

การเชื่อมต่อ2.js

// นำเข้าโมดูล mysql
ที่ไหนmysql=จำเป็นต้อง('mysql');

// นำเข้าโมดูลด่วน
ที่ไหนด่วน=จำเป็นต้อง('ด่วน');

// กำหนดวัตถุของโมดูลด่วน
ที่ไหนแอป=ด่วน();

// สร้างการเชื่อมต่อฐานข้อมูลเพื่อรองรับผู้ใช้พร้อมกัน 10 คน
ที่ไหนสระน้ำ=mysqlcreatePool({
ขีดจำกัดการเชื่อมต่อ:10,
เจ้าภาพ: 'โลคัลโฮสต์',
ผู้ใช้: 'ราก',
รหัสผ่าน: '1234',
ฐานข้อมูล: 'mydb',
ดีบัก: จริง
});

/* ทำการเชื่อมต่อกับฐานข้อมูลและอ่านบันทึกเฉพาะจากตารางนั้น
ฐานข้อมูล */

การทำงานhandle_database(ขอ,การตอบสนอง) {

// ทำการเชื่อมต่อ
สระน้ำ.getConnection(การทำงาน(และ,การเชื่อมต่อ){
ถ้า (และ) {

// ส่งข้อความแสดงข้อผิดพลาดสำหรับการเชื่อมต่อที่ไม่สำเร็จและยุติ
การตอบสนอง.json({'รหัส' : 300, 'สถานะ' : 'ข้อผิดพลาดในการเชื่อมต่อฐานข้อมูล'});
กลับ;
}

// แสดงข้อความแสดงความสำเร็จในเทอร์มินัล
คอนโซลบันทึก('เชื่อมต่อฐานข้อมูลแล้ว');

// อ่านบันทึกเฉพาะจากโต๊ะหนังสือ
การเชื่อมต่อ.แบบสอบถาม('SELECT * จากหนังสือที่มีชื่อเช่น '%PHP%' หรือชื่อเหมือน
'%ลาราเวล%''
,การทำงาน(และ,แถว){การเชื่อมต่อ.ปล่อย();
ถ้า(!และ) {

// ส่งกลับชุดผลลัพธ์ของแบบสอบถามหากดำเนินการสำเร็จ
การตอบสนอง.json(แถว);
}
});

// ตรวจสอบการเชื่อมต่อว่าเกิด error หรือไม่
การเชื่อมต่อ.บน('ข้อผิดพลาด', การทำงาน(และ) {
การตอบสนอง.json({'รหัส' : 300, 'สถานะ' : 'ข้อผิดพลาดในการเชื่อมต่อฐานข้อมูล'});
กลับ;
});
});
}

// เรียกใช้ฟังก์ชันสำหรับการเชื่อมต่อ
แอป.รับ('/',การทำงาน(ขอ,การตอบสนอง){-
handle_database(ขอ,การตอบสนอง);
});

// ฟังคำขอเชื่อมต่อที่พอร์ต 5000
แอป.ฟัง(5000);

เอาท์พุท:

รันสคริปต์จากเทอร์มินัลเหมือนตัวอย่างก่อนหน้านี้ มันจะรอการร้องขอการเชื่อมต่อหลังจากเรียกใช้สคริปต์

$การเชื่อมต่อโหนด2.js

ตอนนี้ เปิดเบราว์เซอร์ใดก็ได้แล้วไปที่ URL ต่อไปนี้เพื่อส่งคำขอเชื่อมต่อ

http://localhost:5000

ผลลัพธ์ต่อไปนี้จะปรากฏเป็นการตอบสนองหลังจากดำเนินการแบบสอบถาม

หากคุณเปิดเทอร์มินัลตอนนี้ คุณจะเห็นผลลัพธ์ต่อไปนี้

สามารถส่งคำขอเชื่อมต่อได้ครั้งละ 10 รายการจาก 10 เบราว์เซอร์ตามวิธีที่กล่าวข้างต้น

บทสรุป:

วิธีที่ง่ายที่สุดในการทำงานกับ MySQL และ NodeJS จะแสดงโดยตัวอย่างสองตัวอย่างในบทช่วยสอนนี้ หากคุณเป็นนักพัฒนา Node ใหม่และต้องการทำงานกับฐานข้อมูล MySQL ฉันหวังว่าคุณจะสามารถทำงานของคุณหลังจากอ่านบทช่วยสอนนี้