Hướng dẫn can i learn sql and python at the same time - tôi có thể học sql và python cùng lúc không

Chào mọi người!

Tôi mới viết mã vì tôi chỉ hoàn thành một khóa học đại học về HTML và CSS. Tôi hiện đang theo học một khóa học Python cho học kỳ tới và dự định tham gia các khóa học lập trình hơn trong các học kỳ sau. Điều đó nói rằng, tôi cũng quan tâm đến các phân tích, vì vậy tôi đang xem xét tham gia một khóa học phân tích dữ liệu chủ yếu tập trung vào SQL.

Tôi biết rằng FAQ nói rằng không học hai ngôn ngữ lập trình cùng một lúc, nhưng điều đó có áp dụng cho ngôn ngữ lập trình + ngôn ngữ truy vấn cơ sở dữ liệu không? Là những lý do cụ thể để không học Python và SQL cùng một lúc?

Trong những năm qua, tôi đã sử dụng nhiều ngôn ngữ và công cụ để phân tích dữ liệu. Khi tôi nghĩ lại thời gian của mình bằng cách sử dụng từng công cụ, tôi đã nhận ra rằng mỗi người khuyến khích một khung tinh thần khác nhau để giải quyết các vấn đề phân tích. Ý thức về các khung này, và các hành vi mà họ thúc đẩy, có thể cũng quan trọng như làm chủ các tính năng kỹ thuật của một ngôn ngữ hoặc công cụ mới.

Câu chuyện trở lại

Lần đầu tiên tôi được giới thiệu để phân tích dữ liệu khoảng mười năm trước với tư cách là một sinh viên đại học. Ở trường, và sau đó là một nhà nghiên cứu kinh tế, tôi đã làm việc gần như độc quyền trong hai công cụ, Excel Excel và R, cả hai đều hoạt động tốt với các tệp CSV hoặc Excel được tải xuống từ các cổng dữ liệu của chính phủ hoặc các nguồn học thuật.In school, and later as an economics researcher, I worked almost exclusively in two tools—Excel and R—which both worked well with CSVs or Excel files downloaded from government data portals or academic sources.

Nhưng khi tôi bắt đầu một công việc mới tập trung vào phân tích kinh doanh, tôi đã bị ném vào một thế giới hoàn toàn mới. Phần lớn dữ liệu tôi cần sống trong cơ sở dữ liệu. SQL trở thành một điểm nhập cảnh cần thiết.

Lúc đầu, sử dụng một công cụ mới là thách thức. Không chỉ có một đường cong học tập để tranh cãi, mà SQL cảm thấy bị hạn chế. Tôi đã quen với các bài kiểm tra thống kê dễ dàng của R, thư viện âm mưu có thể truy cập và cấu trúc dữ liệu linh hoạt. Trong SQL, việc tạo ra một cái gì đó có vẻ đơn giản như một ô hộp đòi hỏi toàn bộ bài đăng trên blog để tìm hiểu.

Trong một thời gian, tôi đã giữ sự linh hoạt này bằng cách kết hợp các công cụ lại với nhau, nhập truy vấn kết quả vào Rstudio.

Nhảy từ máy khách SQL của tôi sang máy khách R khiến cho việc giữ các phần công việc cùng nhau. Nỗi đau của việc tải xuống kết quả truy vấn và tái lập chúng thành R đã khiến quy trình làm việc của tôi tuyến tính SQL sang R, và không bao giờ quay lại nữa. Nếu tôi muốn thêm vào một phân tích, suy nghĩ đầu tiên của tôi thường là, "Có lẽ tôi có thể tìm cách làm điều đó với dữ liệu tôi đã có." Biết rằng đây là cách tôi cảm thấy một lần trong R, tôi đã đầu tư quá mức vào một truy vấn bằng cách thêm nhiều dữ liệu hơn tôi cần ban đầu. Tôi chậm tìm câu trả lời, và thường để lại những câu hỏi thú vị chưa được khám phá.

Theo thời gian, khi tôi trở nên tốt hơn ở SQL, tôi bắt đầu đánh giá cao lợi ích của nó. Độ cứng của nó buộc phải có một sự nhất quán có giá trị để chuẩn hóa các số liệu kinh doanh. Số lượng và các tập hợp đơn giản mà SQL vượt trội tại thành phố thường quá đủ để thông báo các quyết định kinh doanh. Cuối cùng, tôi thấy mình từ bỏ R trong quy trình làm việc của mình. Cho rằng quy trình làm việc SQL-to-R bị phân mảnh như thế nào, tính linh hoạt của R không đáng để chi phí chuyển đổi. Và khi tôi thực sự bỏ lỡ một cái gì đó trong R, tôi thường có thể tìm thấy một cách giải quyết dài dòng mà chủ yếu hoàn thành công việc.

Làm việc với SQL và R trong chế độ, 10 năm sau

Khi nhóm chế độ bắt đầu làm việc để tích hợp máy tính xách tay Python với trình soạn thảo SQL của chúng tôi, tôi đã bị kéo lại bằng ngôn ngữ kịch bản để phân tích. Mặc dù vậy, lần này, nỗi đau của các công cụ chuyển đổi đã được giảm bớt chế độ của Google Vượt qua kết quả SQL cho Python mà không cần nhập hoặc xuất. Đột nhiên nó cảm thấy như một thế giới khác mở ra một lần nữa.

Nhưng với nó đã đến một cách suy nghĩ khác và một khuôn khổ tinh thần mới để học hỏi. Mặc dù những lợi ích của quy trình làm việc mới này, phần lớn cung cấp lợi ích của quy trình làm việc SQL của tôi mà không có chi phí nào đủ để làm cho quá trình chuyển đổi đáng giá, nhưng tôi sẽ dễ dàng hơn nhiều nếu tôi biết một vài điều trước. Đây là những gì tôi đã học về việc làm việc trong SQL và R trong cùng một công cụ.

  • SQL VS PYTHON Sức mạnh

  • Cộng đồng/Tài nguyên SQL vs Python

  • Ôm hộp đen khi học SQL hoặc Python

  • Phân tích SQL vs Python

  • Quy trình làm việc của SQL vs Python

  • Chào mừng thay đổi

Không sao khi không biết tất cả các mảnh: SQL vs Python Sức mạnh

SQL là một ngôn ngữ khá hẹp. Các truy vấn hầu như chỉ sử dụng một số kết hợp của các kết hợp, các hàm tổng hợp, các chuỗi con và các hàm cửa sổ.. Queries almost exclusively use some combination of joins, aggregate functions, subqueries, and window functions.

Nó giống như xây dựng một cái gì đó với một bộ các mảnh Lego cơ bản. Tôi có thể tạo ra những thứ tuyệt vời, phức tạp và nguyên bản, nhưng tôi hiếm khi khám phá ra những mảnh chuyên dụng mà tôi chưa bao giờ biết mình có.

Ngược lại, Python giống như một bộ sưu tập các bộ LEGO chuyên dụng. Mỗi thư viện có các phần tùy chỉnh riêng để xây dựng một cái gì đó rất cụ thể: Seaborn cho hình ảnh, gấu trúc để phân tích, scikit-learn cho học máy, v.v.specialized Lego sets. Each library has its own custom pieces for building something very specific: Seaborn for visuals, pandas for analysis, scikit-learn for machine learning, and so on.

Những thư viện này thêm một tấn sức mạnh. Những gì đã mất hàng chục dòng SQL (hoặc không thể thực hiện được) bây giờ chỉ cần một phương pháp Python. Nhưng tất cả những mảnh này không còn vừa với đầu tôi. Với SQL, nếu tôi đi xuống một con đường nhất định, tôi có thể khám phá ra một cách tốt hơn để sắp xếp lại những gì tôi đang làm. Trong Python, tôi cũng có khả năng tìm thấy một phương pháp mới để giải quyết vấn đề như tôi đang khám phá một cách thông minh hơn để làm lại các phần hiện có.

Google IT: Cộng đồng/Tài nguyên SQL vs Python

"Cộng đồng Python", tạo ra những tác phẩm chuyên biệt này, là một nhóm lớn và phát triển mạnh. "Cộng đồng SQL" là ... thức ăn gia súc SEO cho Microsoft và Oracle. Nguyên nhân cho điều này là chủ đề riêng của nó để tranh luận, nhưng hiệu quả rất rõ ràng, việc tìm kiếm tài nguyên Python thực sự hỗ trợ trực tuyến trực tuyến dễ dàng hơn nhiều.

Có lẽ quan trọng hơn, cấu trúc của Python cho vay để tìm câu trả lời theo cách mà SQL đấu tranh. Bởi vì Python có nhiều mảnh hơn và nó có xu hướng trừu tượng hóa hơn từ dữ liệu mà nó hoạt động, mọi người có thể dễ dàng chia sẻ các thư viện và khối kịch bản. Ai đó chia sẻ một ví dụ về cách tạo một boxplot có thể cung cấp mã và nói tham chiếu dữ liệu của bạn ở đây. Tôi có thể sử dụng bộ dữ liệu chuyến bay để tìm hiểu cách tạo các sơ đồ hộp với phương thức Pandas .boxplot() và sau đó quay lại và sử dụng .boxplot() trên dữ liệu người dùng ứng dụng.

Các truy vấn SQL, mặt khác, được gắn chặt với dữ liệu. Tôi phải biết tên bảng và cột cho truy vấn để có ý nghĩa. Điều này có xu hướng làm cho các ví dụ chia sẻ khó khăn hơn nhiều. Chỉ cho ai đó cách tạo một ô hộp với SQL yêu cầu chia sẻ dữ liệu cho nó để có ý nghĩa, điều này có khả năng khiến mọi người miễn cưỡng hơn khi chia sẻ công việc của họ.

Ôm hộp đen khi học SQL hoặc Python

Phân tích SQL vs Python. Because all the pieces are typically familiar and because queries are self-contained entities that don't outsource work to external libraries, I can eventually piece together the full scope of the query and "get" it.

Quy trình làm việc của SQL vs Python. To understand a SciPy function, for example, I'd have to go through piles of documentation or several layers of source code. Practically, that just doesn't happen. Instead, I more often find the operations that look like they apply, plug them in, and see if they return a result that passes my gut check.

Chào mừng thay đổi

Không sao khi không biết tất cả các mảnh: SQL vs Python Sức mạnh

SQL là một ngôn ngữ khá hẹp. Các truy vấn hầu như chỉ sử dụng một số kết hợp của các kết hợp, các hàm tổng hợp, các chuỗi con và các hàm cửa sổ.. I mostly use SQL to aggregate and join data from large data sets in a flow like this:

Nó giống như xây dựng một cái gì đó với một bộ các mảnh Lego cơ bản. Tôi có thể tạo ra những thứ tuyệt vời, phức tạp và nguyên bản, nhưng tôi hiếm khi khám phá ra những mảnh chuyên dụng mà tôi chưa bao giờ biết mình có.

Mặc dù các truy vấn này có thể dài, nhưng chúng thường không khó để mô hình hóa tinh thần di chuyển tuyến tính lên thông qua các nhóm phụ. Dữ liệu giống như một quả cầu tuyết lăn xuống dốc, nó thu thập và nén nhiều bàn hơn khi nó đi, cho đến khi nó biến thành một quả cầu tuyết hoàn hảo (hoặc tạo ra một trận tuyết lở thảm khốc).

Python tiến triển trôi chảy hơn. Tôi thường lấy một bộ dữ liệu ban đầu và chia nó thành nhiều dữ liệu nhỏ hơn, và mỗi người trở thành một chủ đề phân tích. Tôi có thể kết hợp các chủ đề này với nhau và kéo chúng trở lại theo những cách khác nhau.. I often take an initial dataset and break it into many smaller ones, and each becomes a thread of analysis. I can combine these threads together and pull them back apart in different ways.

Điều này đòi hỏi tôi phải mô hình hóa tinh thần phân tích của mình như một web, điều khó thực hiện hơn. Tôi không còn có thể nghĩ, "Bảng ngoài cùng của tôi là gì? Tôi sẽ tham gia vào nó là gì?" Thay vào đó, tôi phải nghĩ, "Bảng tốt nhất để cắt thành nhiều góc nhìn? Làm thế nào tôi có thể ghép những quan điểm đó thành một thứ gì đó có ý nghĩa?" Như trường hợp của "mảnh" của Python, cách suy nghĩ của Web Web này cung cấp một khung lỏng lẻo hơn SQL, điều này có thể gây khó chịu cho những người quen với các đường ray chặt chẽ hơn.

Bỏ qua: SQL vs Python Workflow

Bản chất tuyến tính của SQL có nghĩa là nếu tôi muốn thêm một số quan điểm vào phân tích của mình được giới thiệu tốt nhất ngay từ đầu, tôi phải quay lại các truy vấn của mình, và sau đó vượt qua kết quả đó. Nó cồng kềnh, ngay cả khi nó đơn giản như thêm một cột thông qua một số lớp con.. It's cumbersome, even if it's as simple as adding a column through several layers of subqueries.

Trong các trường hợp khác, việc theo đuổi các ý tưởng khác nhau trong một lần ngồi đòi hỏi phải tạo ra một số khám phá về một truy vấn cốt lõi. Các truy vấn độc lập này trở nên khó khăn để hợp nhất sau này và kết hợp các vấn đề với việc thay đổi mọi thứ trước đó trong phân tích của tôi, vì nó yêu cầu tôi phải thực hiện điều chỉnh đó trong tất cả các cuộc thám hiểm này.

Mặt trái của quy trình làm việc dựa trên web của Python là tôi có thể dễ dàng bỏ qua hơn và lặp lại nhanh hơn nhiều. Mọi thứ có thể được thêm và loại bỏ tại các điểm khác nhau, cho phép tôi theo đuổi các câu hỏi khi chúng đến và trong cùng một quy trình làm việc. Vì mỗi cuộc thăm dò phân tích có thể chỉ ra cùng một lõi, nên việc di chuyển giữa các điểm phân tích khác nhau là tự nhiên hơn. Things can be added and removed at different points, allowing me to pursue questions when they come up and in the same workflow. Since each analytical exploration can point to the same core, it's more natural to move between different points of analysis.

Ngoài ra, thường, nó chỉ tính toán nhanh hơn. Không có gì khó chịu hơn là viết một truy vấn SQL dài chỉ để tìm thấy tôi muốn thêm một cột bổ sung vào truy vấn ngoài cùng. Python cho phép tôi áp dụng thay đổi này trực tiếp vào bước cuối cùng của tôi, mà không cần phải chạy lại toàn bộ hoạt động mỗi lần.

Bắt đầu bây giờ

Chào mừng thay đổi

Cuối cùng, trở ngại lớn nhất mà tôi phải đối mặt trong quá trình chuyển đổi này là quán tính. SQL là mặc định an toàn của tôi. Ngay cả khi truy vấn SQL dài hơn gấp mười lần so với tập lệnh Python tương đương, thì cảm thấy dễ dàng hơn khi làm theo cách tôi đã hiểu. Học tập khó hơn gõ.

Nhưng bám vào những gì bạn biết là penny khôn ngoan và ngu ngốc. Học một ngôn ngữ mới không chỉ cung cấp các công cụ mới, mà còn mở ra những cách mới lạ để suy nghĩ mô hình hóa dữ liệu và phân tích của bạn. Điều này có thể khiến bạn hỏi và trả lời các câu hỏi mà bạn sẽ không bao giờ xem xét khác.

Bài viết đề xuất

  • Thu hẹp khoảng cách: các chức năng cửa sổ trong Python và SQL

  • LIBRET THE GAP: Python và SQL chồng chéo

  • Nhóm theo SQL và Python: Một so sánh

  • 10 Thư viện trực quan hóa dữ liệu Python hữu ích cho bất kỳ ngành học nào

  • Cách thực hiện bước nhảy từ Excel sang SQL

  • Hướng dẫn Python để phân tích dữ liệu

Tôi nên học Python đầu tiên hay SQL?

Thông thường, SQL là ngôn ngữ lập trình tốt để học trước. Là một công cụ, SQL rất cần thiết để truy xuất nội dung từ cơ sở dữ liệu quan hệ. So với Python, SQL có thể dễ dàng hơn đối với một số người.SQL is a good programming language to learn first. As a tool, SQL is essential for retrieving content from relational databases. Compared to Python, SQL may be easier for some people to learn.

Tôi có nên học cả SQL và Python không?

Nếu ai đó thực sự đang tìm cách bắt đầu sự nghiệp của họ với tư cách là một nhà phát triển, thì họ nên bắt đầu với SQL vì đó là ngôn ngữ tiêu chuẩn và cấu trúc dễ hiểu làm cho quá trình phát triển và mã hóa nhanh hơn.Mặt khác, Python là dành cho các nhà phát triển lành nghề.

Tôi có thể học SQL nếu tôi biết Python không?

Phải, chắc chắn rồi!!Nếu bạn đã học được Python, thì việc học SQL chỉ là một phần của một chiếc bánh.Tuy nhiên, SQL vẫn rất quan trọng khi nói đến thế giới cơ sở dữ liệu mà hầu như luôn tồn tại trong các hệ thống hiện đại bao gồm các ứng dụng web, phụ trợ doanh nghiệp và hệ thống phân tích dữ liệu.!! If you have alredy learned Python, learning SQL itself is just piece of a cake. Yet SQL is still very important when it comes to the world of Database which almost always exists in modern systems including Web Applications, Enterprise backends and Data Analytics systems.

Mất bao lâu để học Python và SQL?

Đọc về các mẹo về cách tối đa hóa việc học của bạn.Nhìn chung, phải mất khoảng hai đến sáu tháng để tìm hiểu các nguyên tắc cơ bản của Python.Nhưng bạn có thể học đủ để viết chương trình ngắn đầu tiên của mình trong vài phút.Phát triển việc làm chủ các thư viện khổng lồ của Python có thể mất nhiều tháng hoặc nhiều năm.two to six months to learn the fundamentals of Python. But you can learn enough to write your first short program in a matter of minutes. Developing mastery of Python's vast array of libraries can take months or years.