Javascript có thể được sử dụng với mysql không?
MySQL là một Hệ thống quản lý cơ sở dữ liệu quan hệ (RDBMS) cực kỳ phổ biến - và từ lâu đã trở thành một phần chính trong bộ công cụ của bất kỳ kỹ sư back-end nào, ngay bên cạnh PostgreSQL Show
Với sự ra đời của JavaScript cho back-end, thông qua Node. js' tăng ngoạn mục về mức độ phổ biến và khả năng ứng dụng - MySQL thường được sử dụng làm cơ sở dữ liệu cho các dự án và ứng dụng được xây dựng bằng Node
Ghi chú. Xuyên suốt hướng dẫn, chúng tôi sẽ gọi trình điều khiển MySQL của 8 là 9 và bản thân cơ sở dữ liệu MySQL là MySQLThiết lập MySQLĐể làm việc với MySQL - bạn cần tải xuống Cơ sở dữ liệu MySQL và lưu trữ một máy chủ nhỏ trên máy cục bộ của bạn. Phiên bản cộng đồng hoàn toàn miễn phí Bạn cũng có thể chọn cài đặt máy chủ web nguồn mở có hỗ trợ cơ sở dữ liệu MySQL (Xampp, Lampp) - chúng cũng hoạt động tốt với trình điều khiển MySQL của Node Trình cài đặt rất đơn giản và khi bạn đã thiết lập một phiên bản dịch vụ, bạn có thể tạo một dự án để kết nối với nó Trình điều khiển MySQL cho các dự án nútGiả sử rằng máy chủ đang chạy, bạn có thể giao tiếp với nó theo chương trình thông qua ứng dụng Nút, sử dụng trình điều khiển. Để một ứng dụng có khả năng này, bạn cần cài đặt Trình điều khiển MySQL. Một trình điều khiển có sẵn trên 8 như 9Để bắt đầu, hãy tạo một thư mục mới để lưu trữ ứng dụng của chúng ta và khởi tạo một dự án Node mới, với các cài đặt mặc định
Điều này sẽ tạo ra một 2 mới chứa siêu dữ liệu cơ bản cho dự án của chúng ta. Khi điều này được thực hiện, chúng tôi có thể cài đặt gói trình điều khiển nút MySQL qua 8
Chúng tôi có thể xác minh rằng quá trình cài đặt đã thành công bằng cách kiểm tra tệp 2 của bạn, nơi chúng tôi sẽ tìm thấy một mục nhập mới cho _______ 09 được thêm vào dưới _________ 56
Ghi chú. 7 đại diện cho số phiên bản và số này sẽ khác nhau tùy thuộc vào phiên bản MySQL bạn đã cài đặtThiết lập kết nốiMột đối tượng kết nối có thể được tạo thông qua hàm 8 của thể hiện 9. Đối tượng này sau đó có thể được sử dụng để tạo kết nối giữa máy chủ và máy khách/trình điều khiển. Nó chấp nhận ba tham số
Với những lưu ý này, hãy mở tệp 53 mặc định - và chúng tôi có thể kết nối với máy chủ MySQL bằng 5Khi một kết nối đã được cấu hình, bạn chỉ cần 54 tới máy chủ. Hàm 54 sử dụng hàm gọi lại cho phép bạn kiểm tra xem kết nối có thành công hay khôngViết truy vấn thông qua JavaScriptHầu như tất cả các hành động bạn cần thực hiện trong cơ sở dữ liệu MySQL đều được thực hiện thông qua các truy vấn, được viết bằng SQL một cách tự nhiên. Phương thức 56 của đối tượng 57 chấp nhận một chuỗi, đại diện cho một truy vấn mà chúng tôi muốn gửi đến cơ sở dữ liệuMột truy vấn có thể không thành công hoặc trả về một số kết quả, vì vậy, chúng tôi sẽ có một cuộc gọi lại khác với 58 hoặc 59 dựa trên cách hoạt động diễn raTạo cơ sở dữ liệuHãy bắt đầu bằng cách tạo cơ sở dữ liệu thông qua trình điều khiển MySQL của Node. Bạn có thể tạo cơ sở dữ liệu trên máy chủ thông qua CLI (nếu bạn đã cài đặt nó) hoặc thông qua bất kỳ hình thức GUI nào - chính thức hoặc bên thứ ba. Ngoài ra, bạn có thể sử dụng kết nối chúng tôi đã tạo để gửi truy vấn tạo cơ sở dữ liệu cho bạn. Hãy tạo một cơ sở dữ liệu 60 mới. Trong thư mục gốc của dự án, trong cùng một 53 mà chúng ta đã sử dụng trước đây, hãy thêm một cuộc gọi 56 sau khi kết nối với cơ sở dữ liệu, nếu kết nối thành côngSau khi xác minh xem kết nối của chúng tôi có thành công hay không, chúng tôi đã thực hiện truy vấn bằng chuỗi truy vấn - 63, tạo cơ sở dữ liệu mới nếu chưa có. Bây giờ, hãy chạy dự án 6Kết quả nào trong 1Đáng kinh ngạc. Bây giờ cơ sở dữ liệu 60 đã tồn tại, chúng ta có thể loại bỏ truy vấn tạo cơ sở dữ liệu và thay vào đó kết nối thẳng với 60 trong cấu hình 4Tạo bản ghiCũng giống như mọi cơ sở dữ liệu quan hệ khác, các bản ghi dữ liệu trong MySQL được lưu trữ trong các bảng có cột và hàng. Một bảng có thể bao gồm bất kỳ số lượng cột và hàng tùy ý nào, nhưng chúng phải nhất quán. Các cột trong cơ sở dữ liệu đại diện cho các tính năng/trường của một đối tượng và mỗi hàng đại diện cho một mục nhập
Điều này có nghĩa là chúng ta sẽ cần tạo trước một bảng và xác định lược đồ của nó (các cột và loại cho mỗi bảng) để thêm các bản ghi mới vào cơ sở dữ liệu của chúng ta Để tạo một bảng mới trong MySQL, chúng ta sử dụng câu lệnh 67. Giả sử chúng tôi muốn tạo một bảng 68 trong cơ sở dữ liệu 60 của chúng tôi. Một lần nữa, sau khi được kết nối, chúng ta có thể thực hiện truy vấn có liên quan 9Điều này tạo ra một bảng mới có thể chứa các bản ghi với các trường 10 và 11. Mỗi mục nhập sẽ có một 10 và 11, ngay cả khi một số trong số chúng là null. Ngoài ra, chúng tôi đã đặt loại của chúng là 14 với độ dài tối đa là 255 ký tựĐây là nơi bạn có thể đặt thêm các ràng buộc khác, chẳng hạn như một số trường nhất định là bắt buộc ( 15) hoặc 16/ 17 8Hãy xem hướng dẫn thực hành, thực tế của chúng tôi để học Git, với các phương pháp hay nhất, tiêu chuẩn được ngành chấp nhận và bao gồm bảng gian lận. Dừng các lệnh Git trên Google và thực sự tìm hiểu nó Ở đây, không có trường nào có thể được đặt thành 66 và mỗi trường có một số loại dữ liệu được liên kếtGhi chú. Trong SQL, viết hoa từ khóa hay không không quan trọng. 19 về mặt chức năng tương đương với 67, vì 41 là với 14. Tuy nhiên, quy ước chung là viết hoa các lệnh, từ khóa và các ràng buộc, đó không phải là một yêu cầuTạo bản ghiTruy vấn 43, theo sau là tên bảng và 44 được ánh xạ tới các cột của nó được sử dụng để chèn/tạo bản ghi bằng SQL. Chẳng hạn, hãy thêm một 45 vào bảng 68 của chúng ta 8Câu lệnh này, không ngạc nhiên, sẽ chèn một bản ghi (hàng) vào bảng 68, với các giá trị cho 10 và 11. Truy vấn, như thường lệ, có thể được thực hiện thông qua 90Đọc hồ sơChúng tôi không chỉ muốn lưu trữ dữ liệu - chúng tôi còn muốn có thể đọc được dữ liệu đó. Và, như được thấy bên dưới, chúng ta có thể truy xuất dữ liệu từ bảng 68 bằng truy vấn 92Chúng tôi có thể chọn các bản ghi cụ thể hoặc sử dụng ký tự đại diện (______393) để chọn tất cả các bản ghi có sẵn 0Chạy mã này sẽ trả về tất cả dữ liệu có trong bảng của chúng tôi 1Ngoài ra, bạn có thể sử dụng câu lệnh 94 để tạo một dải các hàng phù hợp 2Cái nào sẽ trả về tất cả các sinh viên, có ID nằm trong khoảng từ 1 đến 5 Cập nhật hồ sơChúng ta có thể sử dụng câu lệnh 95 để cập nhật các bảng cơ sở dữ liệu và nội dung của chúng. Chẳng hạn, bạn có thể sử dụng một số câu lệnh để xác định một bản ghi nhất định và cập nhật bản ghi đó. Nói chung, một 96 phải là một 16 để xác định một hàng, cũng như một giá trị duy nhất, vì vậy, 96 thường là cột để tìm kiếm các bản ghiGiả sử chúng ta muốn cập nhật khóa học của sinh viên, 45, từ 80 lên 81, cùng với người anh em họ của anh ấy. John's 96 là 83 3Kết quả của một truy vấn như thế này thường bao gồm các chi tiết về cách truy vấn ảnh hưởng đến bảng, đó là cách bạn có thể xác minh xem kết quả có hoạt động như bạn dự định hay không. 4Xóa bản ghiCuối cùng, để xóa bản ghi - chúng tôi sử dụng câu lệnh 84 và chỉ định bản ghi nào sẽ bị xóa 5Ghi chú. Bạn nên cẩn thận khi sử dụng câu lệnh 84 và chỉ định cẩn thận mệnh đề 86. Ngoài ra, nếu bạn không chỉ định mệnh đề 86, toàn bộ nội dung của bảng sẽ bị xóaThoát giá trị truy vấnMột khai thác ban đầu phổ biến đã được phát hiện khi các kỹ sư phần mềm cho phép sử dụng đầu vào của người dùng trong các lệnh gọi SQL. Chẳng hạn, bạn có thể có một thanh tìm kiếm với trường nhập liệu. Người dùng sẽ chèn tên của một cuốn sách và đầu vào đó sẽ được sử dụng trong một truy vấn, chẳng hạn như 6Đương nhiên, 88 sẽ được thay thế bằng một chuỗi, chẳng hạn như 89. Tuy nhiên, điều này mở ra cơ hội cho những khai thác khổng lồ, đơn giản như thoát khỏi truy vấn bạn đã tạo và chạy truy vấn của riêng chúngChẳng hạn, nếu hệ thống được xây dựng để chấp nhận đầu vào một cách ngây thơ và chèn nó vào truy vấn, thì người dùng chỉ cần nhập 80 để khai thác truy vấn của bạn là đủ 7Dấu chấm phẩy sẽ kết thúc câu lệnh trước đó và câu lệnh tiếp theo sẽ chạy, xóa toàn bộ bảng khỏi cơ sở dữ liệu và xóa tất cả sách. Đây là một ví dụ đơn giản về SQL Injection và các cuộc tấn công có thể phức tạp hơn thế này rất nhiều. Ngoài ra, không phải tất cả các cuộc tấn công đều có thể phá hoại - kẻ tấn công cũng có thể chỉ đọc dữ liệu nhạy cảm, đây là một cuộc tấn công thầm lặng thường nằm dưới radar Dựa vào mức độ phổ biến của các cuộc tấn công này - hầu hết các gói đều có bảo mật tích hợp cơ bản. Trình điều khiển 9 được xây dựng cho Node cung cấp các chức năng và biện pháp giúp tránh SQL InjectionsPhương pháp phổ biến nhất là thoát các giá trị và sử dụng chúng làm tham số được đặt tên thay thế Bằng cách sử dụng ký tự thoát 82 - bạn thoát đầu vào và biến nó thành một chuỗi ký tự, không thể đánh giá được. Nếu ai đó đã nhập một lệnh vào trường đầu vào dẫn đến tham số này - nó sẽ không được đánh giá là một lệnh. Nó sẽ được coi là một chuỗi ký tự và thay vào đó, một truy vấn sẽ được gửi để tìm một cuốn sách có tên khớp với lệnh đóPhương thức chấp nhận một mảng các tham số, được nhập tuần tự vào truy vấn. Nếu truy vấn có 2 tham số được chú thích, thì mục đầu tiên trong danh sách sẽ được ánh xạ tới tham số đầu tiên và các mục thứ hai trong danh sách sẽ được ánh xạ tới tham số thứ hai Ngoài ra, bạn có thể thêm các giá trị này một cách rõ ràng thông qua định dạng chuỗi của JavaScript và sử dụng phương thức 83 để thoát khỏi các lệnh có thể, tuy nhiên - cách tiếp cận này thường khó đọc hơnMọi hoạt động liên quan đến kết nối sẽ chấm dứt sau khoảng thời gian chờ mặc định và chúng tôi có thể khắc phục điều này bằng cách đặt phiên hết thời gian ưu tiên của riêng mình. Điều này được thực hiện bằng cách chuyển một đối tượng tới hàm 84, với truy vấn của chúng tôi và phiên hết thời gian chờ (tính bằng mili giây) là các trường của đối tượng đóMã này sẽ chạy một truy vấn 92 sẽ kết thúc sau 50 giây, nếu không có kết quả nào được trả vềSự kết luậnMySQL là một cơ sở dữ liệu quan hệ thường được sử dụng. Trong hướng dẫn này, chúng ta đã xem cách cài đặt trình điều khiển cho máy chủ MySQL cho một máy chủ Node. js, cách thiết lập kết nối với máy chủ và thực hiện các thao tác CRUD Cuối cùng, chúng tôi đã lưu ý tầm quan trọng của việc thoát đầu vào của người dùng và đã xem xét tùy chỉnh thời gian chờ Chúng tôi có thể kết nối JavaScript với cơ sở dữ liệu không?Không có cách chung để kết nối với cơ sở dữ liệu SQL Server từ ứng dụng khách JavaScript , mọi trình duyệt đều có API và gói riêng để kết nối với SQL Server.
Bạn có thể truy vấn SQL bằng JavaScript không?SQL. js là thư viện JavaScript cho phép bạn tạo và truy vấn cơ sở dữ liệu quan hệ hoàn toàn trong trình duyệt . Nó sử dụng một tệp cơ sở dữ liệu ảo được lưu trữ trong bộ nhớ của trình duyệt, do đó, nó không tồn tại những thay đổi được thực hiện đối với cơ sở dữ liệu.
Tôi nên sử dụng cơ sở dữ liệu nào với JavaScript?js hỗ trợ tất cả các loại cơ sở dữ liệu bất kể đó là cơ sở dữ liệu quan hệ hay cơ sở dữ liệu NoSQL. Tuy nhiên, Cơ sở dữ liệu NoSQL như MongoDb phù hợp nhất với Node. js.
Sử dụng MySQL với Node có tốt không. js?js được kết hợp với MongoDB và các cơ sở dữ liệu NoSQL khác, nhưng Node. js cũng hoạt động tốt với các cơ sở dữ liệu quan hệ như MySQL . Nếu bạn muốn viết một microservice mới với Node. js cho cơ sở dữ liệu hiện có, rất có thể bạn sẽ sử dụng MySQL, một trong những cơ sở dữ liệu mã nguồn mở phổ biến nhất thế giới. |