Front-end () - Tạo và trang trí cửa hàng online

 

1         Shopify & Dropshipping

Dropshipping trên Shopify là một hệ thống bán hàng trung gian (dropshipping), công việc của bạn chỉ là mở một cửa hàng online trên hệ thống Shopify, bày hàng lên cửa hàng, và bán. Công việc lưu kho, quản lý hàng là của đại lý; công việc chốt đơn, thanh toán, vận chuyển là của đại lý.

Hoạt đông của Shopify và Dropshipping:

– Hoạt động của Dropshipping:

– Cách tạo một cửa hàng (xem hướng dẫn trong trang chủ của Shopify), kết quả trang quản trị:


– Cửa hàng trên hệ thống Shopify:

Bài tập:

– Mở một cửa hàng của bạn trên hệ thống Shopify và Dropshipping

– Tạo banner, logo, slogan, bày các mặt hàng của bạn lên cửa hàng

– Sửa dụng HTML, CSS để trang trí cửa hàng, các mặt hàng cho đẹp mắt

– Ghi chép lại, và chụp hình lại quá trình thiết lập cửa hàng.

----

Cập nhật: 19/9/2022


Web (6) - Muốn làm web cần học những gì

Bài trước: Web (5) - Làm web là làm gì?

---

1.1       Muốn làm web cần học những gì

Muốn làm web cần học tiếng Anh chuyên ngành và chuyên môn.

Về tiếng Anh chuyên ngành, bước đầu phải có khả năng đọc hiểu tài liệu. Để hiểu được tài liệu, bạn cần hai thứ: một là từ vựng và hai là ngữ pháp (ví dụ cấu trúc câu, mệnh đề, đại từ thay thế, chia động từ, thể bị động, thể chủ động, các từ loại).

Mỗi bạn sẽ có cách học tiếng Anh chuyên ngành khác nhau. Học theo cách nào cũng được, miễn là cuối cùng phải sử dụng được nó trong công việc.

Sau đây là một cách để có thể học tiếng Anh chuyên ngành:

– Chọn một chủ đề mà bạn quan tâm (về HTML chẳng hạn)

– Đọc sách/tài liệu tiếng Việt về HTML trước, chọn cuốn sách/tài liệu nào mà tác giả có ghi các thuật ngữ tiếng Anh đi kèm là tốt nhất

– Đọc hiểu và làm theo sách/tài liệu tiếng Anh về HTML

– Nếu được, nên tập dịch tài liệu từ tiếng Anh ra tiếng Việt

– Trong quá trình học, nên viết các từ tiếng Anh chưa biết nghĩa ra giấy, tra nghĩa của nó, viết một hai lần thôi, chứ đừng viết liền một lúc cả trăm lần từ đó, điều này làm mất thời gian. Sau này nếu gặp lại từ cũ mà mình chưa nhớ nghĩa, thì lại viết ra giấy và tra nghĩa. Bạn sẽ lặp lại quá trình này cho tới khi nào bạn thực sự nhớ được từ và nghĩa của nó thì thôi. Qua việc viết, từ mới cùng với nghĩa của nó sẽ đi vào đầu mình lúc nào không hay!

Ban đầu cần học để có thể đọc hiểu được tài liệu chuyên môn bằng tiếng Anh, sau đó học nghe, nói, viết. Nếu bạn học thêm được các ngoại ngữ khác thì càng tốt (tiếng Nhật chẳng hạn).

Về chuyên môn, bảng dưới đây liệt kê một số thứ cần học, người học sẽ cảm thấy việc học nhẹ nhàng và hiệu quả hơn nếu học đúng theo trình tự. Tuy nhiên, nếu tự học hoặc vì điều kiện nào đó mà không thể học theo đúng thứ tự cũng không sao. Cứ tự tin học, thấy còn thiếu kiến thức gì thì bổ sung từ từ, quan trọng là kiên trì và dám bước tới.

Xem bảng minh họa một số thứ cần học (chỉ mang tính chất tham khảo),

Kiến thức

Mô tả chi tiết

Kiến thức chung (dù theo front-end hay back-end)

– Kiến thức nền về Hệ điều hành, Kĩ thuật lập trình, Cấu trúc dữ liệu và thuật toán, Lập trình hướng đối tượng, Cơ sở dữ liệu

– Kiến thức nền về WWW, Mạng máy tính

– Kĩ năng và thái độ về khía cạnh kĩ thuật (cách viết mã, lựa chọn giải thuật, tổ chức mã nguồn chuyên nghiệp), cũng như khía cạnh nghề nghiệp (cách làm việc chuyên nghiệp, hiệu quả và hạnh phúc với nghề)

– Phần mềm Quản lý phiên bản/quản lý mã nguồn: Git, SVN, TFS

– AJAX / Web API

– RESTful API / HTTP method

– Cơ bản về lập trình front-end và back-end

Front-end

– HTML, CSS, JavaScript

– Các thư viện và framework phổ biến (ví dụ: jQuery, Bootstrap, AngularJS, ReactJS, VueJS)

– Responsive design, UX/UI

– Các kiến thức nâng cao (ví dụ: mô hình MVC, design pattern, lập trình bất đồng bộ trong JavaScript)

Back-end

– Một trong các ngôn ngữ phổ biến: Java, C#, PHP, Ruby, Python, JavaScript, Go

– Cơ sở dữ liệu (SQL, mySQL, MongoDB)

– Mô hình MVC, Design pattern

– Các framework của mỗi ngôn ngữ

– Các kiến thức nâng cao (ví dụ Dependency Injection, Inversion of Control, SOLID)

– Các kiến thức về triển khai, bảo mật

Bảng trên là liệt kê các thứ cần học để tham khảo thôi. Để nắm hết các nội dung đó quả là thử thách thực sự, và cũng không cần thiết. Bạn có thể tìm kiếm từ khóa “web front-end roadmap” để tham khảo lộ trình học ở trên mạng. Sử dụng các chatbot như: chatGPT, Gemini, hoặc Copilot để hỗ trợ thêm trong quá trình học.

Phương pháp học là:

– Học từ dễ đến khó, học chắc từng khái niệm cơ bản, khi có cái nền tốt rồi, cứ từng bước bồi đắp thêm các kiến thức mới, mọi thứ rất logic và nhẹ nhàng

– Bắt đầu là HTML, CSS, JavaScript, một vài thư viện/framework phổ biến (ví dụ: jQuery, Bootstrap, AngularJS, VueJS, ReactJS)

– Sau đó là một ngôn ngữ back-end nào đó cùng với cơ sở dữ liệu tương ứng (Java, JavaScript, C#, PHP, Python, Ruby, Go, mySQL, SQL), một vài framework phổ biến

– Mục tiêu là hiểu được cách thức để làm được một sản phẩm web hoàn chỉnh (đây chính là học front-end và back-end cơ bản)

– Trong quá trình học sẽ gặp một số khái niệm, mô hình, cố gắng tìm hiểu để nắm bắt

– Làm thực hành thật nhiều, tự làm các dự án từ dễ đến khó

– Học từ các trang dạy làm web tại Facebook/Github/Youtube/Website/Blog/Tik tok hoặc học từ chia sẻ của các anh chị trong nghề

– Cuối cùng, quan trọng nhất là phải kiên trì, chăm chỉ, “cứ đi ắt sẽ đến!”.

1.2       Xem và đọc thêm

– Dùng các từ khóa sau, tìm kiếm trên mạng để đọc thêm: Đường cong nụ cười Stan Shih, nụ cười Chu Hảo, survey stackoverflow,

– Nụ cười Stan Shih: http://legiacong.blogspot.com/2021/01/nu-cuoi-stan-shih.html

– Bài viết về marketing hiện đại của tác giả Lương Hà: https://www.luonghaparis.com/2017/08/04/khai-phong-tiem-luc-doanh-nghiep-bang-goc-nhin-moi-ve-nguon-goc-gia-tri/

– Tư duy phát triển: nụ cười Stan Shih (Huỳnh Thế Du): https://diendandoanhnghiep.vn/tu-duy-phat-trien-bai-4-nu-cuoi-stan-shih-188923.html (xem 18/1/2022)

– Những điều cần biết về nghề Công nghệ thông tin: https://www.mic.gov.vn/Upload_Moi/VanBan/Nghe-CNTT.pdf

– Khảo sát của Stackoverflow: https://insights.stackoverflow.com/survey/2021

– Bài giảng của tác giả Võ Đức Thiện về các bước làm một phần mềm: https://www.youtube.com/watch?v=tD0ZDYQmOcs

– Con đường phát triển sự nghiệp: https://toidicodedao.com/2015/06/18/con-duong-phat-trien-su-nghiep-career-path-cho-developer/

– Bài nói chuyện của tác giả Hieu Nguyen về Product Management for Managers: https://www.youtube.com/watch?v=kMLgug3GrkU

1.3       Bài tập và thực hành

Bài 1. Liệt kê danh sách các ngôn ngữ lập trình, công cụ, kĩ năng, công nghệ mà bạn dự định học để theo nghề làm web.

Bài 2. Tự tạo một danh sách các thuật ngữ tiếng Anh chuyên ngành, kèm theo nghĩa tiếng Việt. [mẫu].

Bài 3. Viết một CV cho bản thân, mục đích để biết bố cục một CV của người làm về công nghệ, biết được mình cần phải làm gì để có các nội dung ghi trong CV. [mẫu]

Bài 4. Tạo một blog cho bản thân viết về các chủ đề bạn đang theo đuổi, có thể tạo trên blogspot, wordpress, github, hoặc trên các hệ thống khác. [mẫu]

---

Cập nhật: 4/3/2024

Bài sau: Web (7) - Lộ trình học web front-end

-----
Tải tài liệu đầy đủ: Tự học HTML căn bản 

Web (5) - Làm web là làm gì?

Bài trước: Web (4) - Muốn theo nghề lập trình bắt đầu từ đâu (học kiểu tự chế) 

---

1.1       Làm web là làm gì?

Để trả lời câu hỏi “làm web là làm gì”, hãy bắt đầu từ nhu cầu của người sử dụng. Mọi người hay “vào mạng”, “lên mạng”, “duyệt web”, “lướt web” để đọc, để nghe, để xem, để mua bán và để làm việc.

Hiểu nôm na, để đọc thì cần phải có văn bản (text), để nghe thì phải có âm thanh, để xem thì phải có các đối tượng đồ họa (graphic), để mua bán thì phải có gian hàng, có chọn hàng, có thanh toán và để làm việc thì phải có chương trình. Văn bản, âm thanh, đối tượng đồ họa, gian hàng, thanh toán, chương trình, được gọi chung là các tài nguyên web. Trang web sẽ cung cấp các tài nguyên này.

Vậy, làm web là làm ra sản phẩm mà nó cung cấp các tài nguyên web cho người dùng. Sản phẩm này chính là các trang web được hiển thị trong các trình duyệt web (hay gọi tắt là trình duyệt).

Cụ thể hơn, làm web là làm ra một trang web (web page), một website hoặc một ứng dụng web (web application, web app).

1.1.1       Các công đoạn căn bản để làm web

Để làm được một sản phẩm trong lĩnh vực web (cũng như một sản phầm phần mềm nói chung) sẽ có nhiều cách làm khác nhau, ví dụ, bạn có thể thực hiện theo các công đoạn căn bản sau:


Mỗi công đoạn cần có kiến thức, kĩ năng và kinh nghiệm khác nhau, tùy vào khả năng của mỗi người để lựa chọn công việc phù hợp. Với người mới vào nghề, thường làm ở công đoạn Cài dặt, Kiểm tra và sửa lỗi.

1.1.2       Một số vị trí trong nấc thang nghề nghiệp

Bảng sau là một số vị trí trong nấc thang nghề nghiệp, khi đi làm tại một công ty phần mềm:

Fresher/Junior developer

Là các bạn sinh viên thực tập, sinh viên mới ra trường, sẽ được công ty đào tạo thêm về quy trình làm việc, văn hóa công ty, các kĩ năng, kiến thức, công nghệ, để có thể làm việc cùng mọi người trong công ty. Công việc thường là tìm hiểu dự án hiện tại, làm một số chức năng nhỏ, sửa một số lỗi, làm việc dưới sự trợ giúp của những người có kinh nghiệm.

Developer

Là người đã có kinh nghiệm làm việc từ một tới ba năm, đã làm qua một số dự án. Sau vị trí developer, có thể lựa chọn để đi theo một trong hai hướng sau:

Hướng quản lý

Hướng kĩ thuật

Team leader

Là người quản lý một nhóm nhỏ (3-6 người), cùng lập trình với các thành viên trong nhóm, họp với cấp trên, báo cáo với khách hàng, quản lý các thành viên.

Senior developer

Là người hiểu sâu về công nghệ, quy trình, đưa ra được các giải pháp, hướng dẫn cho người mới, xem xét và đánh giá mã nguồn của các thành viên.

Project manager

Là người làm công việc quản lý, lãnh đạo, báo cáo, phỏng vấn tuyển người cho dự án. Chịu trách nhiệm về sự thành công hay thất bại của dự án.

Technical lead

Là người có hiểu biết sâu và rộng về công nghệ, quy trình; lựa chọn công nghệ, thiết kế, quy trình cho dự án.

Manager

Là người quản lý cấp cao, công việc hàng ngày là: giao việc, phỏng vấn, họp, trao đổi công việc với các bộ phận, phòng ban.

Software architect

Là người có kinh nghiệm từ mười đến hai mươi năm trong nghề, có khả năng đánh giá giải pháp, lập nhóm, đưa ra lựa chọn về kiến trúc hệ thống.

Một số công việc khác

Sales: Người bán hàng

BrSE: Kĩ sư cầu nối

Business Analyst: chuyên viên phân tích nghiệp vụ

CTO (Chief Technical Officer): Giám đốc kĩ thuật, chịu trách nhiệm chính về toàn bộ các vấn đề kĩ thuật, công nghệ, xu hướng, đào tạo, tuyển dụng của công ty.

Trong lập trình web, thường có ba hướng đi sau:

Tên công việc

Mô tả

Lập trình front-end

Lập trình các phần liên quan đến giao diện người dùng. Nếu coi trang web như một ngôi nhà, thì front-end chính là lớp sơn, là mặt tiền của ngôi nhà.

Lập trình back-end

Lập trình các phần liên quan đến xử lý logic, xử lý dữ liệu. Nếu coi trang web như một ngôi nhà, thì back-end chính là hệ thống cốt thép, bê tông, điện, nước của ngôi nhà.

Full-stack

Làm việc với cả hai vai trò: lập trình front-end và lập trình back-end. Ngoài ra, còn làm việc với vai trò của một người thiết kế (designer), người phát triển và triển khai (DevOps là viết tắt của Development & Operations)

Khi đi làm, việc lựa chọn theo front-end, back-end hay full-stack phụ thuộc vào tính người, có người thích tìm hiểu rộng, có người thích tìm hiểu sâu, có người rất giỏi: vừa có khả năng hiểu rộng lại vừa có khả năng hiểu sâu. Vậy, tùy sở thích và khả năng để lựa chọn hướng đi, quan trọng là phải hiểu và làm thật chuyên nghiệp trong công việc của mình. Khi làm một hệ thống càng lớn thì yêu cầu về tính chuyên nghiệp và sự chuyên môn hóa càng cao, vì vậy không nhất thiết phải cố gắng bằng mọi giá để trở thành một full-stack, cứ học và làm theo đúng sở trường của bản thân là tốt nhất.

Khi học thì nên vừa học front-end vừa học back-end ở mức cơ bản, để xem bản thân mình phù hợp với hướng nào, sau đó sẽ tập trung học thật tốt, thật sâu vào một hướng. Ngoài ra, dù làm về front-end thì cũng phải biết cơ bản về back-end và ngược lại.

1.1.3       Tham khảo quy trình để làm ra một sản phẩm phần mềm

Phần này lược thuật lại từ bài nói chuyện về Product Management for Managers, của tác giả Hieu Nguyen (link bài nói chuyện ở phần Xem và đọc thêm).

Theo tác giả, để làm ra một sản phẩm hiệu quả (web cũng là một sản phẩm), có xác suất thành công cao thì cần làm theo các bước trong Tháp quản lý sản phẩm (Product Management Tower). Tác giả minh họa bằng sản phẩm cho Airbnb (giả định).

Tháp quản lý sản phẩm gồm các bước sau:


– Target Market: thị trường mục tiêu mà chúng ta muốn hướng đến, nó dựa trên hai yếu tố là thị trường mà chúng ta am hiểu và độ lớn của nó. Vì hiểu thị trường nên biết nó đang cần gì? Biết mình phải làm gì để đáp ứng nhu cầu của thị trường. Chúng ta cũng cần biết được độ lớn của thị trường để đảm bảo khả năng sinh lời của sản phẩm.

– Segmentation: lựa chọn phân khúc khách hàng. Chia thị trường thành các phân khúc khách hàng khác nhau. Ví dụ: trẻ em, giới trẻ, gia đình, thương nhân, nhà giàu. Sau đó loại đi các phân khúc mà chúng ta không muốn phục vụ hoặc không thể phục vụ (loại đi những nhóm khách hàng không có tiềm năng).

– Target Customers: sau khi lựa chọn được phân khúc khách hàng, chúng ta sẽ có Tập khách hàng tiềm năng.

– User Personas: từ Tập khách hàng tiềm năng, chúng ta sẽ đưa ra được bản mô tả về khách hàng hay Chân dung khách hàng (profile). Đây là bản mô tả chung về một nhóm người dùng mục tiêu của một sản phẩm. Tập trung vào hành vi và mục tiêu của khách hàng khi sử dụng sản phẩm của chúng ta.

– Needs: thực hiện phỏng vấn, khảo sát, để biết được các nhu cầu của khách hàng mục tiêu (ví dụ người đi du lịch sẽ cần một nơi để ở, phương tiện đi lại, bảo hiểm, các đánh giá về địa điểm họ sẽ tới, các hoạt động, ăn, hướng dẫn viên du lịch, đặt vé máy bay, đổi tiền).

– Underserved Needs (Pain Points): sắp xếp các nhu cầu của khách hàng mục tiêu, từ quan trọng nhất đến ít quan trọng hơn, tìm ra được những nhu cầu khách hàng cần, nhưng chưa được phục vụ tốt bởi các dịch vụ đang có. Cách làm: loại đi các dịch vụ đã được phục vụ tốt hoặc các dịch vụ mà không phải là thế mạnh của chúng ta.

– Product Market-Fit: sản phẩm thị trường đang cần, và người dùng cảm thấy hài lòng khi sử dụng sản phẩm đó.

– Value Proposition: đưa ra các dịch vụ mà khách hàng cần, nhằm giúp họ được sử dụng các dịch vụ tốt hơn những cái đang có.

– Product Feature Set: cần sản phầm gì? sản phầm gồm các chức năng gì? để đáp ứng nhu cầu của khách hàng.

– User Experience: không chỉ là trải nghiệm người dùng, mà quan trọng hơn là đáp ứng được nhu cầu của người dùng.

– User Interface: giao diện ứng dụng

– Front-end: làm phần front-end của ứng dụng

– Back-end: làm phần back-end của ứng dụng

Như vậy, qua mô hình Tháp quản lý sản phẩm, bạn đã biết được công việc cụ thể của một người làm về UX, UI, front-end, back-end. Họ sẽ làm việc ở giai đoạn nào trong quá trình tạo ra một sản phẩm phần mềm nói chung, và ứng dụng web nói riêng. ­

---

Cập nhật: 4/3/2024

Bài sau: Web (6) - Muốn làm web cần học những gì

---

Tải tài liệu đầy đủ: Tự học HTML căn bản

-----

LIÊN HỆ TÁC GIẢ


DBMS (7) - MySQL và Python

Bài trước: DBMS (6) - Workbench

-----

1.1.1       Thiết lập môi trường lập trình

Khi đã có một MySQL server đang chạy, bạn sẽ có 3 cách để kết nối và làm việc với nó. Một là sử dụng cửa sổ dòng lệnh (CMD), hai là sử dụng công cụ đồ họa (Workbench). Phần này sẽ giới thiệu cách thứ 3 để kết nối và làm việc MySQL server, đó là sử dụng một ngôn ngữ lập trình.

Bạn có thể sử dụng song song 3 cách trên để kết nối và làm việc với một MySQL server cụ thể. Nghĩa là bạn có thể tạo cơ sở dữ liệu, tạo bảng, nhập dữ liệu cho các bảng bằng cửa sổ dòng lệnh hoặc bằng Workbench, sau đó sử dụng Python để kết nối và truy vấn dữ liệu.

Python là một ngôn ngữ lập trình, do vậy để có thể lập trình Python, bạn cần chuẩn bị 3 thứ sau:

– Sử dụng phần mềm nào để viết mã nguồn

– Dùng phần mềm gì để dịch mã Python sang dạng mã máy

– Làm sao để thực thi chương trình và xem kết quả

Phần mềm viết mã nguồn Python

Bạn có thể sử dụng phần mềm lập trình bất kì để viết mã Python. Ví dụ: Notepad, VS Code, PyCharm.

Phần mềm để dịch mã Python

Sau khi viết mã Python xong, bạn cần phải dịch mã nguồn này sang dạng mã máy. Để dịch mã nguồn sang mã máy bạn có thể sử dụng phần mềm có tên là Python. Ở đây có 2 cái tên Python với ý nghĩa khác nhau. Một là ngôn ngữ lập trình Python, hai là phần mềm dịch mã Python sang mã máy cũng có tên là Python.

Vào trang của Python (https://www.python.org/), bấm vào mục Downloads để tài chương trình dịch Python về máy tính.

Cài đặt chương trình dịch Python (ví dụ: python-3.10.7-amd64.exe).

Sau khi cài đặt thành công, để kiểm tra việc cài đặt chương trình dịch Python đã được hay chưa? Bạn mở cửa sổ dòng lệnh, gõ lệnh python --version để kiểm tra, nếu nó xuất phiên bản của Python là việc cài đặt đã được.

Ví dụ:

C:\Users\Maxsys>python --version

Python 3.9.2

Thực thi chương trình và xem kết quả

Đơn giản nhất, bạn có thể sử dụng cửa sổ dòng lệnh để dịch chương trình, chạy và xem kết quả một chương trình Python.

Ví dụ:

– Mở chương trình soạn thảo mã nguồn bất kỳ, ví dụ Notepad (bấm phím cửa sổ + R, gõ notepad > Enter)

– Nhập vào đoạn mã nguồn sau

print('Chao bac Teo!')

– Lưu lại tập tin trên với phần mở rộng là .py. Ví dụ chao.py.

– Dịch chương trình chao.py và xuất ra kết quả. Giả sử tập tin chao.py đang ở ổ đĩa D:\. Bạn mở cửa sổ dòng lệnh, di chuyển tới ổ đĩa D:\. Gõ lệnh python chao.py để dịch và thực thi chương trình.

D:\>python chao.py

Chao bac Teo!

Vậy là bạn đã thiết lập xong môi trường lập trình gồm: chương trình dịch mã Python (Python), chương trình viết mã nguồn (Notepad), phần mềm để dịch và xem kết quả (CMD), máy MySQL Server đang chạy. Chúng ta sẽ bắt tay vào việc viết các ứng dụng làm việc với cơ sở dữ liệu MySQL.

1.1.2       Cài đặt mysql-connector-python

Để có thể dùng ngôn ngữ lập trình Python kết nối và làm việc với MySQL server, bạn cần phải cài đặt một bộ điều khiển (database driver), đây chính là thành phần trung gian giúp Python có thể “nói chuyện” được với MySQL server. Bộ điều khiển này có tên là mysql-connector-python. Xem hình minh họa.

Để cài đặt bộ điều khiển mysql-connector-python, bạn mở cửa sổ dòng lệnh và gõ vào lệnh sau: pip install mysql-connector-python. Ví dụ:

D:\>pip install mysql-connector-python

Collecting mysql-connector-python

  Downloading mysql_connector_python-8.0.30-cp39-cp39-win_amd64.whl (7.8 MB)

     |████████████████████████████████| 7.8 MB 2.2 MB/s

Collecting protobuf<=3.20.1,>=3.11.0

  Downloading protobuf-3.20.1-cp39-cp39-win_amd64.whl (904 kB)

     |████████████████████████████████| 904 kB 6.8 MB/s

Installing collected packages: protobuf, mysql-connector-python

Successfully installed mysql-connector-python-8.0.30 protobuf-3.20.1

WARNING: You are using pip version 20.2.3; however, version 22.2.2 is available.

You should consider upgrading via the 'c:\users\maxsys\appdata\local\programs\python\python39\python.exe -m pip install --upgrade pip' command.

Sau khi cài đặt mysql-connector-python, bạn cần kiểm tra xem việc cài đặt đã được chưa? bằng cách mở cửa sổ dòng lệnh > gõ lệnh python để mở chế độ nhập lệnh của Python:

D:\>python

Python 3.9.2 (tags/v3.9.2:1a79785, Feb 19 2021, 13:44:55) [MSC v.1928 64 bit (AMD64)] on win32

Type "help", "copyright", "credits" or "license" for more information.

>>> 

Nhập vào lệnh kết nối đến MySQL server:

(lưu ý là MySQL server phải đang chạy)

>>> import mysql.connector

>>> mysql.connector.connect(host='localhost', database='quan_ly_nha_hang_new', user='root', password='abcdef')

Nếu thành công, bạn sẽ thấy dòng thông báo

<mysql.connector.connection_cext.CMySQLConnection object at 0x000001FFAD1DFD30>

>>> 

1.1.3       Lập trình với MySQL bằng Python

Phần này sẽ viết một đoạn mã bằng ngôn ngữ Python để kết nối vào cơ sở dữ liệu, truy vấn và hiển thị thông tin.

– Mở Notepad, tạo một tập tin mới, lưu với tên bất kì. Ví dụ hienThiDuLieu.py

– Nhập vào đoạn mã sau:

[hienThiDuLieu.py]

# khai báo sử dụng thư viện kết nối connector của

# bộ điều khiển mysql-connector-python

import mysql.connector

 

# tạo một kết nối tới MySQL server

conn = mysql.connector.connect(

    host = "localhost",

    user = "root",

    password = "abcdef",

)

# thử kết nối và xuất thông tin của kết nối

print(conn);

– Lưu tập tin, ra cửa sổ dòng lệnh để thực thi chương trình hienThiDuLieu.py.

D:\>python hienThiDuLieu.py

<mysql.connector.connection_cext.CMySQLConnection object at 0x000001786A26CF70>

Nếu có kết quả như trên là chương trình của bạn đã kết nối thành công đến máy MySQL server.

– Sử dụng con trỏ điều khiển cursor() để thao tác với MySQL server

# sử dụng con trỏ điều khiển cursor() để thao tác với MySQL server

cursor = conn.cursor()

 

# tạo cơ sở dữ liệu

cursor.execute("CREATE DATABASE IF NOT EXISTS quan_ly_nha_hang_1")

 

– Lưu tập tin, ra cửa sổ dòng lệnh để thực thi chương trình hienThiDuLieu.py.

D:\>python hienThiDuLieu.py

<mysql.connector.connection_cext.CMySQLConnection object at 0x0000028ED738CF70>

– Dùng cửa sổ dòng lệnh hoặc Workbench để kiểm tra xem Python đã tạo được cơ sở dữ liệu quan_ly_nha_hang_1 hay chưa?

mysql> show databases;

+----------------------+

| Database             |

+----------------------+

| information_schema   |

| mysql                |

| performance_schema   |

| quan_ly_nha_hang_1   |

| quan_ly_nha_hang_new |

| quan_ly_sach         |

| sys                  |

+----------------------+

7 rows in set (0.00 sec)

– Dùng Python để hiển thị các cơ sở dữ liệu

# hiển thị các cơ sở dữ liệu

cursor.execute("SHOW DATABASES")

for x in cursor:

    print(x)

– Lưu tập tin, ra cửa sổ dòng lệnh để thực thi chương trình hienThiDuLieu.py.

D:\>python hienThiDuLieu.py

<mysql.connector.connection_cext.CMySQLConnection object at 0x000001C534294FA0>

('information_schema',)

('mysql',)

('performance_schema',)

('quan_ly_nha_hang_1',)

('quan_ly_nha_hang_new',)

('quan_ly_sach',)

('sys',)

– Trong trường hợp bạn đã tạo cơ sở dữ liệu trên MySQL server, thì khi tạo kết nối sẽ khai báo luôn là kết nối vào cơ sở dữ liệu nào?

# tạo một kết nối tới MySQL server

conn = mysql.connector.connect(

    host = "localhost",

    user = "root",

    password = "abcdef",

    database = "quan_ly_nha_hang_new"

)

– Lưu tập tin, ra cửa sổ dòng lệnh để thực thi chương trình hienThiDuLieu.py.

D:\>python hienThiDuLieu.py

<mysql.connector.connection_cext.CMySQLConnection object at 0x0000026422E4CF70>

– Tạo bảng dữ liệu

# tạo bảng dữ liệu

cursor.execute("CREATE TABLE IF NOT EXISTS loai_mon_an_1(ma_loai int, ten_loai varchar(200), mo_ta varchar(500), hinh varchar(100))")

– Chèn dữ liệu vào bảng


# chèn dữ liệu vào bảng

cursor.execute("INSERT INTO loai_mon_an_1(ma_loai, ten_loai, mo_ta, hinh) VALUES (1, 'com', 'cac mon com Viet', 'com.jpg')")

 

# xác nhận việc chèn "cố định" dữ liệu vào bảng

conn.commit()

 

# in số hàng vừa chèn vào bảng

print(cursor.rowcount, "da duoc chen vao bang")

 

– Truy vấn dữ liệu

# truy vấn dữ liệu

cursor.execute("SELECT * FROM loai_mon_an_1")

ketQua = cursor.fetchall()

for x in ketQua:

    print(x)

– Sau khi làm việc xong, bạn cần phải đóng con trỏ điều khiển cursor và đóng kết nối tới cơ sở dữ liệu

# đóng con trỏ cursor, đóng kết nối

cursor.close()

conn.close()

[hienThiDuLieu.py]

# khai báo sử dụng thư viện kết nối connector của

# bộ điều khiển mysql-connector-python

import mysql.connector

 

# tạo một kết nối tới MySQL server

conn = mysql.connector.connect(

    host = "localhost",

    user = "root",

    password = "abcdef",

    database = "quan_ly_nha_hang_new"

)

 

# thử kết nối và xuất thông tin của kết nối

print(conn);

 

# sử dụng con trỏ điều khiển cursor() để thao tác với MySQL server

cursor = conn.cursor()

 

# tạo cơ sở dữ liệu

cursor.execute("CREATE DATABASE IF NOT EXISTS quan_ly_nha_hang_1")

 

# hiển thị các cơ sở dữ liệu

cursor.execute("SHOW DATABASES")

for x in cursor:

    print(x)

 

# tạo bảng dữ liệu

cursor.execute("CREATE TABLE IF NOT EXISTS loai_mon_an_1(ma_loai int, ten_loai varchar(200), mo_ta varchar(500), hinh varchar(100))")

 

# chèn dữ liệu vào bảng

cursor.execute("INSERT INTO loai_mon_an_1(ma_loai, ten_loai, mo_ta, hinh) VALUES (1, 'com', 'cac mon com Viet', 'com.jpg')")

 

# xác nhận việc chèn "cố định" dữ liệu vào bảng

conn.commit()

 

# in số hàng vừa chèn vào bảng

print(cursor.rowcount, "da duoc chen vao bang")

 

# truy vấn dữ liệu

cursor.execute("SELECT * FROM loai_mon_an_1")

ketQua = cursor.fetchall()

for x in ketQua:

    print(x)

 

# đóng con trỏ cursor, đóng kết nối

cursor.close()

conn.close()

1.1.4       Xem và đọc thêm

– Cài đặt mysql-connector-python: https://freetuts.net/xu-ly-mysql-trong-python-3503.html

– MySQL Basics in Python: https://www.youtube.com/watch?v=4C7vFFyyZjE

– W3Schools: https://www.w3schools.com/python/python_mysql_create_table.asp

1.1.5       Bài tập và thực hành

Bài 1. Làm lại các ví dụ trong phần lý thuyết

1.1.6       Câu hỏi ôn tập


-----

Cập nhật: [11/9/2022]