Skip to main content

Posts

Showing posts with the label sqlite

[TIL] SQL join có cả cross join

Một bức hình đáng giá ngàn lời nói, bức vẽ SVG này copy từ tài liệu của sqlite https://www.sqlite.org/syntax/join-operator.html 3 loại JOIN, 3 loại OUTER JOIN NATURAL LEFT OUTER JOIN , RIGHT FULL INNER CROSS Có 3 loại join: (LEFT|RIGHT|FULL) [OUTER] INNER CROSS Ví dụ cross join $ sqlite3 SQLite version 3.37.2 2022-01-06 13:25:41 Enter ".help" for usage hints. Connected to a transient in-memory database. Use ".open FILENAME" to reopen on a persistent database. sqlite> -- Create temporary tables for our sets WITH set1 AS ( SELECT 1 AS a UNION ALL SELECT 2 UNION ALL SELECT 3 ), set2 AS ( SELECT 4 AS b UNION ALL SELECT 5 UNION ALL SELECT 6 ) -- Perform cross join to create Cartesian product SELECT set1.a, set2.b FROM set1 CROSS JOIN set2 ORDER BY set1.a, set2.b; 1|4 1|5 1|6 2|4 2|5 2|6 3|4 3|5 3|6 Kết luận Hết. HVN at https://pymi.vn and https://www.familug.org . Ủng hộ tác giả ...

[Django] dùng cùng 1 database cho dev, test và production

Đây không phải là điều gì mới lạ, cũng không giành riêng cho django . Nhưng sự hấp dẫn của SQLite -  đơn giản - không phải cài đặt cấu hình - là một nguyên nhân khiến các developer vẫn dùng nó trong môi trường dev phần mềm trên máy họ, khi mà ở production lại dùng database khác - như PostgreSQL. Kết hợp với sức mạnh che giấu bên dưới của ORM , không ai nhận ra sự khác biệt, cho đến một ngày (sau 1 - 2 tháng trời không có gì xảy ra)... Lệnh migrate trên CI server fail mà ở trên máy vẫn chạy, khiến developer mất vài tiếng để tìm ra nguyên nhân và khắc phục - chuyện mà nếu như từ đầu, cùng dùng một database, sẽ không bao giờ xảy ra. Bài học: các môi trường dev - testing - staging - production, càng giống nhau, càng tốt 😝🤑 PS: chiến dịch ngày nào cũng viết một cái gì đó đã quay trở lại, không đảm bảo lợi hại như xưa 😂

SQLite là một C library!

SQLite nói một cách chính xác, là một C library, là một RDBMS không cần server process. Theo SQLite homepage SQLite is a software library that implements a self-contained , serverless , zero-configuration , transactional SQL database engine. SQLite is the most widely deployed SQL database engine in the world. The source code for SQLite is in the public domain . Theo Python docs SQLite is a C library that provides a lightweight disk-based database that doesn’t require a separate server process and allows accessing the database using a nonstandard variant of the SQL query language. Some applications can use SQLite for internal data storage. It’s also possible to prototype an application using SQLite and then port the code to a larger database such as PostgreSQL or Oracle.

Popular posts from this blog

Tài liệu và hướng dẫn học Python

Để tiết kiệm thời gian, tốt nhất là đi học PyMI Updated: 130617 Sau đây là các tài liệu khuyên dùng: Vì nhiều lý do, nên học python2.7 tại thời điểm hiện tại (giờ là tháng 6/2013 - muốn biết tại sao thì tự tìm hiểu) python 3.5+ (giờ là tháng 2/2017) Chuẩn bị: 1. biết bật tắt máy 2. biết cài python 3. tập gõ 10 ngón - gõ 2 ngón hay 1 ngón cũng không sao, nhưng 10 ngón là cách dễ nhất để gõ nhanh nhất. Tài liệu - Nên dùng tài liệu tại trang chủ của Python làm chính, tham khảo thêm các tài liệu khác tại http://www.familug.org/2016/12/free-ebook.html Căn bản, mới học 1.1 Python PyMI.vn https://pymi.vn/tutorial/ 1.2. Python offical tutorial kết hợp làm bài tập trên HackerRank  (đề bài bằng tiếng Anh, nhưng Google translate 1 lúc cũng ra vì có nhiều ví dụ mẫu đi kèm). Học viên của Pymi.vn có rất nhiều học viên đã tự học với Learn Python the hard way nhưng chưa thấy ai thành công cả. Hai link dưới nên đọc sau khi đã nắm được những phần cơ bản của ngôn ngữ pytho...

The PyMiers

New FAMILUG