Cơ sở dữ liệu SQL, được phát triển vào những năm 1970, là các bảng có hàng và cột cố định. Các cơ sở dữ liệu SQL phổ biến là Oracle, MySQL, Microsoft SQL Server và PostgreSQL
Cơ sở dữ liệu NoSQL, được phát triển vào cuối những năm 2000, là cơ sở dữ liệu không phải dạng bảng, lưu trữ dữ liệu khác với các bảng quan hệ. MongoDB và CouchDB tập trung vào tài liệu, Redis và DynamoDB dành cho các cặp khóa-giá trị, Cassandra và HBase chuyên về cột rộng còn Neo4j và Amazon Neptune được thiết kế cho biểu đồ
SQL có còn phù hợp vào năm 2022 không?
Đúng. Chúng tôi đang xây dựng một dự án end-to-end với React + Express + Node. js + MySQL
MySQL là một hệ thống quản lý cơ sở dữ liệu quan hệ mã nguồn mở [RDBMS]. “My” là tên con gái của người đồng sáng lập Michael Widenius và SQL là chữ viết tắt của Structured Query Language. MySQL là RDBMS phổ biến thứ ba trên thế giới, tiếp tục cung cấp năng lượng cho nhiều dự án hiện có và mới
Trong bài viết này, chúng tôi phác thảo chi tiết về cách quản lý MySQL cho Node. ứng dụng js
Cài đặt MySQL cục bộ
Đối với bài viết này, phiên bản cộng đồng [miễn phí] MySQL được tải xuống trên MacOS
Truy cập trang web chính thức, chọn gói tải xuống dựa trên hệ điều hành và phiên bản hệ điều hành
Hình ảnh của tác giả
Sau khi MySQL được tải xuống, hãy mở System Preferences...
trên MacOS. Nhấp vào ứng dụng MySQL và nó hiển thị rằng phiên bản đang hoạt động là MySQL 8.0.28
Hình ảnh của tác giả
Sử dụng MySQL CLI
CLI, mysql
, có thể được sử dụng để quản lý cơ sở dữ liệu
Dòng 1 truy cập vào mysql
được đặt tại /usr/local/mysql/bin
Trong quá trình cài đặt, chúng tôi đã tạo một người dùng, root
, với mật khẩu. Tại dòng 11, chúng ta thay đổi mật khẩu thành 'password'
, và tại dòng 14, các đặc quyền được làm mới cho mật khẩu mới
Dự án yêu cầu ứng dụng khách JavaScript cho giao thức MySQL. Có hai lựa chọn phổ biến,
npx create-react-app my-app
cd my-app
0 và npx create-react-app my-app
cd my-app
1. Nếu không có những thay đổi trên, kết nối mysql
sẽ hiển thị lỗi sauER_NOT_SUPPORTED_AUTH_MODE: Client does not support authentication protocol requested by server; consider upgrading MySQL client
Tuy nhiên, những thay đổi này là không cần thiết đối với
npx create-react-app my-app
cd my-app
3CLI cũng có thể được sử dụng để vận hành cơ sở dữ liệu
Dòng 1 tạo cơ sở dữ liệu, tên là
npx create-react-app my-app
cd my-app
4Dòng 4 chọn cơ sở dữ liệu,
npx create-react-app my-app
cd my-app
4Dòng 7 hiển thị tất cả các bảng trong
npx create-react-app my-app
cd my-app
4, là một tập rỗng [dòng 8]Dòng 10 tạo một bảng, tên là
npx create-react-app my-app
cd my-app
7. Bảng này có các cột là npx create-react-app my-app
cd my-app
8, npx create-react-app my-app
cd my-app
9, npm i mysql
0 và npm i mysql
1. Ngoài ra npx create-react-app my-app
cd my-app
9 là một chuỗi có độ dài thay đổi với độ dài tối đa là 255, các cột khác là số nguyênDòng 13 hiển thị tất cả các bảng trong
npx create-react-app my-app
cd my-app
4. Với npx create-react-app my-app
cd my-app
7 mới được thêm vào, nó có 1 bảng [dòng 14–19]Dòng 21 chèn một bản ghi mới vào
npx create-react-app my-app
cd my-app
7Dòng 24 chọn dữ liệu từ
npx create-react-app my-app
cd my-app
7. Bản ghi mới thêm được hiển thị [dòng 25–30]Tạo môi trường ứng dụng React
Thông thường để tạo một Nút. dự án js để quản lý cơ sở dữ liệu MySQL. Tuy nhiên, chúng tôi chọn Tạo ứng dụng React làm cơ sở vì hai lý do sau
- React là cần thiết để xây dựng giao diện người dùng, đây là một phần trong dự án của chúng tôi
- Tạo ứng dụng React bao gồm máy chủ Express cần thiết cho dự án
Lệnh sau tạo dự án React
npx create-react-app my-app
cd my-app
Thiết lập mysql
[
npx create-react-app my-app
cd my-app
3 hoạt động tương tự], ứng dụng khách JavaScript cho giao thức MySQLnpm i mysql
Thiết lập
npm i mysql
9, một thư viện dấu nhắc trực quan cho Node. jsmysql
và
npm i mysql
9 trở thành một phần của System Preferences...
2 trong System Preferences...
3Ngoài ra, chúng tôi đặt loại thành System Preferences...
4 trong System Preferences...
3 để sử dụng mô-đun ES, đây là tiêu chuẩn ECMAScript để hoạt động với các mô-đun
Chúng tôi đã sẵn sàng để quản lý MySQL trong một Nút. ứng dụng js
Quản lý MySQL trong một nút. ứng dụng js
System Preferences...
6 được tạo để quản lý MySQL
Dòng 1 nhập mysql
cho giao thức MySQL
Nhập dòng 2
npm i mysql
9 cho lời nhắc trực quanDòng 4–8 xác định cấu hình người dùng
Dòng 10–12 tạo kết nối MySQL bằng cấu hình người dùng. Dòng 11 cho phép nhiều câu lệnh bị tắt theo mặc định để tránh các cuộc tấn công SQL injection có thể xảy ra
Các dòng 14–23 định nghĩa hàm System Preferences...
9, dùng để truy vấn [các] câu lệnh SQL. Nếu có lỗi, nó được đăng nhập trên bàn điều khiển [dòng 17]. Nếu không, kết quả truy vấn sẽ được in [dòng 19]. Sau truy vấn, ứng dụng đã sẵn sàng cho MySQL 8.0.28
0 tiếp theo [dòng 21]
Các dòng 25–41 định nghĩa hàm MySQL 8.0.28
0, hàm này sẽ nhắc MySQL 8.0.28
2. Nó lấy đầu vào của người dùng làm tham số để gọi hàm System Preferences...
9 [dòng 38]. Nếu đầu vào là MySQL 8.0.28
4 [dòng 34], kết nối sẽ kết thúc [dòng 36] và ứng dụng sẽ thoát
Các dòng 43–52 xác định hàm MySQL 8.0.28
5, kết nối với cơ sở dữ liệu. Nếu có lỗi, nó sẽ được đăng nhập trên bàn điều khiển [dòng 46]. Mặt khác, hàm MySQL 8.0.28
0 được gọi [dòng 49]
Dòng 54 gọi hàm MySQL 8.0.28
5
Chạy ứng dụng nút trước MySQL 8.0.28
8. Nó hoạt động tương tự như mysql
CLI
Dòng 3 chọn cơ sở dữ liệu,
npx create-react-app my-app
cd my-app
4Dòng 14 hiển thị tất cả các bảng trong
npx create-react-app my-app
cd my-app
4 , trong đó có bảng npx create-react-app my-app
cd my-app
7 được tạo bởi CLIDòng 16 bỏ bảng
npx create-react-app my-app
cd my-app
7Dòng 27 hiển thị tất cả các bảng trong
npx create-react-app my-app
cd my-app
4, là một tập rỗng [dòng 28]Dòng 29 tạo một bảng, tên là
npx create-react-app my-app
cd my-app
7. Bảng này có các cột là npx create-react-app my-app
cd my-app
8, npx create-react-app my-app
cd my-app
9, npm i mysql
0 và npm i mysql
1. Ngoài ra npx create-react-app my-app
cd my-app
9 là một chuỗi có độ dài thay đổi với độ dài tối đa là 255, các cột khác là số nguyênDòng 40 hiển thị tất cả các bảng trong
npx create-react-app my-app
cd my-app
4. Với npx create-react-app my-app
cd my-app
7 mới được thêm vào, nó có 1 bảng [dòng 41]Dòng 42 chèn một bản ghi mới vào
npx create-react-app my-app
cd my-app
7Dòng 53 chọn dữ liệu từ
npx create-react-app my-app
cd my-app
7. Bản ghi mới được thêm vào được hiển thị [dòng 54]Dòng 55 thoát khỏi ứng dụng
Xóa MySQL cục bộ
Chúng tôi đã sử dụng MySQL phiên bản cộng đồng để kiểm tra mã của chúng tôi. Trên thực tế, dự án của chúng tôi sử dụng phiên bản MySQL trên đám mây. MySQL cục bộ có thể bị dừng
Hình ảnh của tác giả
Chúng tôi có thể muốn gỡ cài đặt nó
Hình ảnh của tác giả
Sau khi gỡ cài đặt, có một số bước bổ sung để dọn dẹp
- Chạy
mysql
5 để kiểm tra bất kỳ quy trình MySQL nào. Nếu có bất kỳ hoạt động nào, hãy dừng lại và chấm dứt chúng - Đảm bảo tất cả các thư mục được dọn sạch
Phần kết luận
Chúng tôi đã chỉ ra các bước chi tiết về cách quản lý MySQL cho Node. ứng dụng js. Đây là công việc phía máy chủ trên Node. js + MySQL. Phiên bản cộng đồng MySQL được sử dụng để minh họa công việc, trong đó ứng dụng nút hoạt động tương tự như mysql
CLI
Chúng tôi cũng đã thiết lập MySQL trong Remix React Framework trong một bài viết khác
Cảm ơn vì đã đọc. tôi hy vọng nó sẽ có ích. Nếu bạn quan tâm, hãy xem các bài viết khác trên Phương tiện của tôi
Ghi chú. Cảm ơn Jialin Zhu và Xiaojun Zheng đã mời tôi làm việc trong dự án thú vị này với React + Express + Node. js + MySQL