Python [https://www.python.org/] và SQL [https://en.wikipedia.org/wiki/SQL] là hai trong số những ngôn ngữ quan trọng nhất đối với Nhà phân tích dữ liệu. Trong bài viết này, tôi sẽ hướng dẫn bạn mọi thứ bạn cần biết để kết nối Python và SQL. Bạn sẽ học cách kéo dữ liệu từ cơ sở dữ liệu quan hệ vào thẳng đường ống học máy của mình, lưu trữ

Bạn đang xem: python sql server tạo bảng

Python SQL là hai trong số các ngôn ngữ quan trọng nhất đối với Nhà phân tích dữ liệu.

Trong bài viết này, tôi sẽ hướng dẫn bạn mọi thứ bạn cần biết để kết nối Python và SQL.

Bạn sẽ học cách lấy dữ liệu từ cơ sở dữ liệu quan hệ vào thẳng đường ống học máy của mình. , lưu trữ dữ liệu từ ứng dụng Python của bạn trong cơ sở dữ liệu của riêng bạn hoặc bất kỳ trường hợp sử dụng nào khác mà bạn có thể đưa ra.

Chúng ta sẽ cùng nhau đề cập:

  • Tại sao nên học cách sử dụng Python và SQL cùng nhau?
  • Cách thiết lập môi trường Python và Máy chủ MySQL của bạn
  • Kết nối với Máy chủ MySQL bằng Python
  • Tạo Cơ sở dữ liệu mới
  • Tạo Bảng và Mối quan hệ giữa Bảng
  • Sắp xếp các bảng với dữ liệu
  • Đọc dữ liệu
  • Cập nhật Hồ sơ
  • Xóa hồ sơ
  • Tạo bản ghi từ danh sách Python
  • Tạo các chức năng có thể tái sử dụng để thực hiện tất cả những điều này cho chúng tôi trong tương lai

Đó là rất nhiều thứ rất hữu ích và rất thú vị. Hãy bắt đầu!

Một lưu ý nhanh trước khi chúng ta bắt đầu: có một Máy tính xách tay Jupyter chứa tất cả mã được sử dụng trong hướng dẫn này có sẵn trong kho lưu trữ GitHub này . Chúng tôi rất khuyến khích viết mã!

Cơ sở dữ liệu và mã SQL được sử dụng ở đây đều là từ loạt bài Giới thiệu về SQL trước đây của tôi được đăng trên Hướng tới Khoa học Dữ liệu (< span> liên hệ với tôi nếu bạn có bất kỳ vấn đề nào khi xem các bài viết và tôi có thể gửi cho bạn một liên kết để xem chúng miễn phí).

Nếu bạn không quen với SQL và các khái niệm đằng sau cơ sở dữ liệu quan hệ, tôi sẽ hướng dẫn bạn đến loạt bài đó (ngoài ra, tất nhiên có rất nhiều thứ tuyệt vời có sẵn ở đây freeCodeCamp !)

Tại sao sử dụng Python với SQL?

Đối với các nhà phân tích dữ liệu và nhà khoa học dữ liệu, Python có nhiều thuận lợi. Một loạt các thư viện mã nguồn mở khổng lồ làm cho nó trở thành một công cụ cực kỳ hữu ích cho bất kỳ Nhà phân tích dữ liệu nào.

Chúng tôi có gấu trúc , NumPy Vaex để phân tích dữ liệu, Matplotlib , s < span> eaborn và Bokeh để trực quan hóa và TensorFlow , scikit-learning PyTorch cho máy ứng dụng học tập (cộng với nhiều ứng dụng khác).

Với đường cong học tập (tương đối) dễ dàng và tính linh hoạt, không có gì ngạc nhiên khi Python là một trong những ngôn ngữ lập trình phát triển nhanh nhất ở đó.

Vì vậy, nếu chúng ta đang sử dụng Python để phân tích dữ liệu, bạn nên hỏi – tất cả dữ liệu này đến từ đâu?

Mặc dù có rất nhiều nguồn cho tập dữ liệu, nhưng trong nhiều trường hợp – đặc biệt là trong các doanh nghiệp doanh nghiệp – dữ liệu sẽ được lưu trữ trong cơ sở dữ liệu quan hệ. Cơ sở dữ liệu quan hệ là một cách cực kỳ hiệu quả, mạnh mẽ và được sử dụng rộng rãi để tạo, đọc, cập nhật và xóa dữ liệu thuộc mọi loại.

Hệ thống quản lý cơ sở dữ liệu quan hệ (RDBMS) được sử dụng rộng rãi nhất – Oracle , MySQL , Microsoft SQL Server , PostgreSQL , IBM DB2 – tất cả đều sử dụng Ngôn ngữ truy vấn có cấu trúc (SQL) để truy cập và thực hiện các thay đổi đối với dữ liệu.

Lưu ý rằng mỗi RDBMS sử dụng hương vị của SQL hơi khác nhau, vì vậy mã SQL được viết cho một mã thường sẽ không hoạt động trong một hệ thống khác nếu không có sửa đổi (thường là khá nhỏ). Nhưng các khái niệm, cấu trúc và hoạt động phần lớn giống hệt nhau.

Điều này có nghĩa là đối với một Nhà phân tích dữ liệu đang làm việc, sự hiểu biết sâu sắc về SQL là cực kỳ quan trọng. Biết cách sử dụng Python và SQL cùng nhau sẽ mang lại cho bạn lợi thế hơn nữa khi làm việc với dữ liệu của mình.

Phần còn lại của bài viết này sẽ được dành để cho bạn thấy chính xác cách chúng tôi có thể làm điều đó.

Bắt đầu

Yêu cầu & amp; Cài đặt

Để viết mã cùng với hướng dẫn này, bạn cần thiết lập môi trường Python của riêng mình.

Tôi sử dụng Anaconda , nhưng có rất nhiều cách để làm điều này. Chỉ cần google “cách cài đặt Python” nếu bạn cần trợ giúp thêm. Bạn cũng có thể sử dụng Binder để viết mã cùng với Jupyter Notebook được liên kết.

Chúng tôi sẽ sử dụng Máy chủ cộng đồng MySQL vì nó miễn phí và được sử dụng rộng rãi trong ngành. Nếu bạn đang sử dụng Windows, hướng dẫn này sẽ giúp bạn thiết lập. Dưới đây là hướng dẫn cho người dùng Mac Linux (mặc dù có thể khác nhau tùy theo bản phân phối Linux).

< p> Sau khi bạn đã thiết lập xong những thứ đó, chúng ta sẽ cần làm cho chúng giao tiếp với nhau.

Để làm được điều đó, chúng tôi cần cài đặt thư viện Python MySQL Connector . Để thực hiện việc này, hãy làm theo hướng dẫn hoặc chỉ sử dụng pip:

  pip install mysql-connector-python   

Chúng tôi cũng sẽ sử dụng pandas , vì vậy hãy đảm bảo rằng bạn cũng đã cài đặt ứng dụng đó.

  pip install pandas  

Nhập thư viện

Như với mọi dự án bằng Python, điều đầu tiên chúng tôi muốn làm là nhập thư viện của mình.

Cách tốt nhất là nhập tất cả các thư viện mà chúng tôi sẽ sử dụng khi bắt đầu dự án, để những người đọc hoặc xem lại mã của chúng tôi biết đại khái những gì sắp xảy ra nên không có gì ngạc nhiên.

Đối với hướng dẫn này, chúng tôi sẽ chỉ sử dụng hai thư viện - MySQL Connector pandas .

  nhập mysql.connector
từ lỗi nhập mysql.connector
nhập gấu trúc dưới dạng pd  

Chúng tôi nhập riêng chức năng Lỗi để chúng tôi có thể dễ dàng truy cập vào nó cho các chức năng của mình.

Kết nối với Máy chủ MySQL

Đến thời điểm này, chúng ta nên thiết lập Máy chủ cộng đồng MySQL trên hệ thống của mình. Bây giờ chúng ta cần viết một số mã bằng Python cho phép chúng ta thiết lập kết nối với máy chủ đó.

  def create_server_connection (host_name, user_name, user_password):
    kết nối = Không có
    thử:
        connection = mysql.connector.connect (
            host = host_name,
            user = user_name,
            passwd = user_password
        )
        print ("Kết nối cơ sở dữ liệu MySQL thành công")
    ngoại trừ Lỗi như lỗi:
        print (f "Lỗi: '{err}'")

    Kết nối trở lại  

Một hàm để kết nối với Máy chủ MySQL của chúng tôi

​​Tạo một hàm có thể sử dụng lại cho mã như thế này là phương pháp hay nhất để chúng ta có thể sử dụng nó nhiều lần với nỗ lực tối thiểu. Khi điều này được viết ra, bạn cũng có thể sử dụng lại nó trong tất cả các dự án của mình trong tương lai, vì vậy trong tương lai, bạn sẽ rất biết ơn!

Hãy xem qua từng dòng một để chúng tôi hiểu điều gì đang xảy ra ở đây:

Dòng đầu tiên là chúng ta đặt tên cho hàm (create_server_connection) và đặt tên cho các đối số mà hàm đó sẽ nhận (host_name, user_name và user_password).

Dòng tiếp theo đóng mọi kết nối hiện có để máy chủ không bị nhầm lẫn với nhiều kết nối đang mở.

Tiếp theo, chúng tôi sử dụng một khối Python try-NGO để xử lý mọi lỗi tiềm ẩn. Phần đầu tiên cố gắng tạo kết nối với máy chủ bằng phương thức mysql.connector.connect () bằng cách sử dụng các chi tiết do người dùng chỉ định trong các đối số. Nếu điều này hoạt động, hàm sẽ in một thông báo thành công nhỏ.

Phần ngoại trừ của khối in ra lỗi mà Máy chủ MySQL trả về, trong trường hợp không may là có lỗi.

Cuối cùng, nếu kết nối thành công, hàm trả về một đối tượng kết nối .

Chúng tôi sử dụng điều này trong thực tế bằng cách gán đầu ra của hàm cho một biến, biến này sau đó trở thành đối tượng kết nối của chúng tôi. Sau đó, chúng tôi có thể áp dụng các phương thức khác (chẳng hạn như con trỏ ) cho nó và tạo các đối tượng hữu ích khác.

  connect = create_server_connection ("localhost" , "root", pw)  

Ở đây, pw là một biến chứa mật khẩu gốc cho Máy chủ MySQL của chúng tôi dưới dạng một chuỗi.

Điều này sẽ tạo ra một thông báo thành công:

image-146 Hoan hô!

Tạo cơ sở dữ liệu mới

Bây giờ chúng ta đã thiết lập kết nối, bước tiếp theo của chúng ta là tạo cơ sở dữ liệu mới trên người phục vụ.

Trong hướng dẫn này, chúng tôi sẽ chỉ làm điều này một lần, nhưng một lần nữa chúng tôi sẽ viết nó dưới dạng một hàm có thể sử dụng lại để chúng ta có một hàm hữu ích tuyệt vời mà chúng ta có thể sử dụng lại cho các dự án trong tương lai.

< pre> def create_database (kết nối, truy vấn):
con trỏ = connection.cursor ()
thử:
cursor.execute (truy vấn)
print ("Đã tạo thành công cơ sở dữ liệu")
ngoại trừ Lỗi như lỗi:
print (f "Error: '{err}'")

Hàm này nhận hai đối số, kết nối (đối tượng kết nối của chúng tôi) và truy vấn (một truy vấn SQL mà chúng tôi sẽ viết trong bước tiếp theo ). Nó thực thi truy vấn trong máy chủ thông qua kết nối.

Chúng tôi sử dụng phương thức con trỏ trên đối tượng kết nối của chúng tôi để tạo đối tượng con trỏ (MySQL Connector sử dụng hướng đối tượng mô hình lập trình, vì vậy có rất nhiều đối tượng kế thừa thuộc tính từ các đối tượng mẹ).

Đối tượng con trỏ này có các phương thức như thực thi , thực thi (chúng tôi sẽ sử dụng trong hướng dẫn này) cùng với một số phương thức hữu ích khác.

Nếu hữu ích, chúng ta có thể nghĩ rằng đối tượng con trỏ cung cấp cho chúng ta quyền truy cập vào con trỏ nhấp nháy trong cửa sổ đầu cuối Máy chủ MySQL.

image-148 Bạn biết đấy, cái này.

Tiếp theo, chúng tôi xác định một truy vấn để tạo cơ sở dữ liệu và gọi hàm:

image-149

Tất cả các truy vấn SQL được sử dụng trong hướng dẫn này đều được giải thích trong phần Giới thiệu về hướng dẫn SQL của tôi sê-ri và mã đầy đủ có thể được tìm thấy trong Máy tính xách tay Jupyter được liên kết trong kho lưu trữ GitHub này , vì vậy tôi sẽ không cung cấp giải thích về chức năng của mã SQL trong hướng dẫn này.

Tuy nhiên, đây có lẽ là truy vấn SQL đơn giản nhất có thể. Nếu bạn có thể đọc tiếng Anh, bạn có thể tìm ra nó làm gì!

Chạy hàm create_database với các đối số như trên dẫn đến cơ sở dữ liệu có tên ‘trường học’ được tạo trong máy chủ của chúng tôi.

Tại sao cơ sở dữ liệu của chúng tôi được gọi là ‘trường học’? Có lẽ bây giờ sẽ là thời điểm tốt để xem xét chi tiết hơn chính xác những gì chúng tôi sẽ triển khai trong hướng dẫn này.

Cơ sở dữ liệu của chúng tôi

ERD Mối quan hệ đối tượng Sơ đồ cho cơ sở dữ liệu của chúng tôi.

Theo ví dụ trong loạt bài trước của tôi, chúng tôi sẽ triển khai cơ sở dữ liệu cho Trường Ngôn ngữ Quốc tế – một trường đào tạo ngôn ngữ hư cấu cung cấp các bài học ngôn ngữ chuyên nghiệp cho khách hàng doanh nghiệp .

Sơ đồ mối quan hệ thực thể (ERD) này đưa ra các thực thể của chúng tôi (Giáo viên, Khách hàng, Khóa học và Người tham gia) và xác định mối quan hệ giữa chúng.

Tất cả Bạn có thể tìm thấy thông tin liên quan đến ERD là gì và những điều cần cân nhắc khi tạo và thiết kế cơ sở dữ liệu trong bài viết này .

Mã SQL thô, các yêu cầu cơ sở dữ liệu và dữ liệu để đi vào cơ sở dữ liệu đều có trong kho lưu trữ GitHub này , nhưng bạn sẽ thấy tất cả khi chúng ta xem qua hướng dẫn này nữa.

Kết nối với Cơ sở dữ liệu

Bây giờ chúng ta đã tạo cơ sở dữ liệu trong MySQL Server, chúng ta có thể sửa đổi hàm create_server_connection để kết nối trực tiếp đến cơ sở dữ liệu này.

Lưu ý rằng thực tế là có thể – phổ biến – có nhiều cơ sở dữ liệu trên một Máy chủ MySQL, vì vậy chúng tôi muốn kết nối luôn và tự động với cơ sở dữ liệu mà chúng tôi quan tâm.

Chúng ta có thể làm như vậy:

  def create_db_connection (host_name, user_name, user_password, db_name):
    kết nối = Không có
    thử:
        connection = mysql.connector.connect (
            host = host_name,
            user = user_name,
            passwd = user_password,
            cơ sở dữ liệu = db_name
        )
        print ("Kết nối cơ sở dữ liệu MySQL thành công")
    ngoại trừ Lỗi như lỗi:
        print (f "Lỗi: '{err}'")

    trả về kết nối  

Đây là cùng một hàm, nhưng bây giờ chúng ta lấy thêm một đối số – tên cơ sở dữ liệu – và chuyển đối số đó làm đối số cho phương thức connect ().

< h3 id = "create-a-query-execute-function"> Tạo hàm thực thi truy vấn

Hàm cuối cùng mà chúng ta sẽ tạo (hiện tại) là một hàm cực kỳ quan trọng – hàm thực thi truy vấn . Thao tác này sẽ nhận các truy vấn SQL của chúng tôi, được lưu trữ bằng Python dưới dạng chuỗi và chuyển chúng đến phương thức cursor.execute () để thực thi chúng trên máy chủ.

  def execute_query (kết nối, truy vấn):
    con trỏ = connection.cursor ()
    thử:
        cursor.execute (truy vấn)
        connection.commit ()
        print ("Truy vấn thành công")
    ngoại trừ Lỗi như lỗi:
        print (f "Error: '{err}'")  

Hàm này hoàn toàn giống với hàm create_database của chúng tôi trước đó, ngoại trừ việc nó sử dụng connection.commit () phương pháp để đảm bảo rằng các lệnh chi tiết trong truy vấn SQL của chúng tôi được triển khai.

Đây sẽ là hàm workhorse của chúng tôi, chúng tôi sẽ sử dụng (cùng với create_db_connection) để tạo bảng, thiết lập mối quan hệ giữa các bảng đó, điền dữ liệu vào bảng, cập nhật và xóa bản ghi trong cơ sở dữ liệu của chúng tôi. < / p>

Nếu bạn là chuyên gia SQL, hàm này sẽ cho phép bạn thực thi bất kỳ và tất cả các lệnh và truy vấn phức tạp mà bạn có thể mắc phải, trực tiếp từ một tập lệnh Python. Đây có thể là một công cụ rất mạnh để quản lý dữ liệu của bạn.

Tạo bảng

Bây giờ chúng ta đã sẵn sàng để bắt đầu chạy các lệnh SQL vào Máy chủ của mình và bắt đầu xây dựng cơ sở dữ liệu của chúng ta. Điều đầu tiên chúng ta muốn làm là tạo các bảng cần thiết.

Hãy bắt đầu với bảng Giáo viên của chúng ta:

  create_teacher_table = "" "
Giáo viên TẠO BẢNG (
  teacher_id INT PRIMARY KEY,
  first_name VARCHAR (40) KHÔNG ĐỦ,
  last_name VARCHAR (40) KHÔNG ĐẦY,
  ngôn ngữ_1 VARCHAR (3) KHÔNG ĐẦY ĐỦ,
  ngôn ngữ_2 VARCHAR (3),
  dob DATE,
  tax_id INT UNIQUE,
  phone_no VARCHAR (20)
  );
 "" "

connect = create_db_connection ("localhost", "root", pw, db) # Kết nối với Cơ sở dữ liệu
execute_query (connection, create_teacher_table) # Thực hiện truy vấn đã xác định của chúng tôi  

Trước hết, chúng tôi gán lệnh SQL của mình (được giải thích chi tiết tại đây ) cho một biến có tên thích hợp .

Trong trường hợp này, chúng tôi sử dụng ký hiệu dấu ngoặc kép ba dòng của Python để lưu trữ truy vấn SQL của mình, sau đó chúng tôi đưa nó vào hàm execute_query để triển khai.

Lưu ý rằng định dạng nhiều dòng này hoàn toàn vì lợi ích của con người khi đọc mã của chúng tôi. Cả SQL và Python đều không ‘quan tâm’ nếu lệnh SQL được trải rộng như thế này. Vì vậy, miễn là cú pháp chính xác, cả hai ngôn ngữ sẽ chấp nhận nó.

Tuy nhiên, vì lợi ích của con người, những người sẽ đọc mã của bạn (ngay cả khi đó chỉ là mã của bạn trong tương lai!), việc này sẽ rất hữu ích để làm cho mã dễ đọc và dễ hiểu hơn.

Điều này cũng đúng đối với việc CHỮ HOA của các toán tử trong SQL. Đây là quy ước được sử dụng rộng rãi được khuyến khích thực hiện, nhưng phần mềm thực tế chạy mã không phân biệt chữ hoa chữ thường và sẽ coi ‘CREATE TABLE teacher’ và ‘create table teacher’ là các lệnh giống hệt nhau.

image-151

Chạy mã này cho chúng tôi thông báo thành công. Chúng tôi cũng có thể xác minh điều này trong Máy khách dòng lệnh máy chủ MySQL:

image-152

Tuyệt vời! Bây giờ chúng ta hãy tạo các bảng còn lại.

  create_client_table = "" "
TẠO ứng dụng khách BẢNG (
  client_id INT KEY CHÍNH,
  client_name VARCHAR (40) KHÔNG ĐẦY,
  địa chỉ VARCHAR (60) NOT NULL,
  VARCHAR trong ngành (20)
);
 "" "

create_participant_table = "" "
TẠO người tham gia BẢNG (
  joinant_id INT PRIMARY KEY,
  first_name VARCHAR (40) KHÔNG ĐỦ,
  last_name VARCHAR (40) KHÔNG ĐẦY,
  phone_no VARCHAR (20),
  khách hàng INT
);
"" "

create_course_table = "" "
Khóa học TẠO BẢNG (
  course_id INT TỪ KHÓA CHÍNH,
  course_name VARCHAR (40) KHÔNG ĐẦY,
  ngôn ngữ VARCHAR (3) KHÔNG ĐỦ,
  VARCHAR cấp (2),
  course_length_weeks INT,
  start_date DATE,
  in_school BOOLEAN,
  giáo viên INT,
  khách hàng INT
);
"" "


connection = create_db_connection ("localhost", "root", pw, db)
execute_query (kết nối, create_client_table)
execute_query (kết nối, create_participant_table)
execute_query (connection, create_course_table)  

Điều này tạo ra bốn bảng cần thiết cho bốn thực thể của chúng tôi.

Bây giờ chúng tôi muốn xác định mối quan hệ giữa chúng và tạo thêm một bảng để xử lý mối quan hệ nhiều-nhiều giữa người tham gia và các bảng trong khóa học (xem tại đây để biết thêm chi tiết) .

Chúng tôi thực hiện việc này theo cùng một cách:

  alter_participant = "" "
Người tham gia ALTER TABLE
THÊM TỪ KHÓA NGOẠI LỆ (khách hàng)
REFERENCES ứng dụng khách (client_id)
ON DELETE SET NULL;
"" "

Alter_course = "" "
Khóa học ALTER TABLE
THÊM TỪ KHÓA NGOẠI TỆ (giáo viên)
THAM KHẢO giáo viên (teacher_id)
ON DELETE SET NULL;
"" "

Alter_course_again = "" "
Khóa học ALTER TABLE
THÊM TỪ KHÓA NGOẠI LỆ (khách hàng)
REFERENCES ứng dụng khách (client_id)
ON DELETE SET NULL;
"" "

create_takescourse_table = "" "
TẠO BẢNG take_course (
  tham gia_id INT,
  course_id INT,
  TỪ KHÓA CHÍNH (tham gia_id, khóa học),
  TỪ KHÓA NGOẠI TỆ (người tham gia) THAM KHẢO người tham gia (người tham gia) BẬT XÓA CASCADE,
  FOREIGN KEY (course_id) THAM KHẢO khóa học (course_id) VỀ XÓA CASCADE
);
"" "

connection = create_db_connection ("localhost", "root", pw, db)
execute_query (kết nối, thay đổi_participant)
execute_query (kết nối, luân phiên)
execute_query (kết nối, Alter_course_again)
execute_query (connection, create_takescourse_table)  

Giờ đây, các bảng của chúng tôi đã được tạo, cùng với các ràng buộc thích hợp, khóa chính và quan hệ khóa ngoại.

Điền các bảng

Bước tiếp theo là thêm một số bản ghi vào các bảng. Một lần nữa, chúng tôi sử dụng execute_query để cung cấp các lệnh SQL hiện có của chúng tôi vào Máy chủ. Hãy bắt đầu lại với bảng Giáo viên.

 pop_teacher = "" "
CHÈN VÀO GIÁ TRỊ của giáo viên
(1, 'James', 'Smith', 'ENG', NULL, '1985-04-20', 12345, '+491774553676'),
(2, 'Stefanie', 'Martin', 'FRA', NULL, '1970-02-17', 23456, '+491234567890'),
(3, 'Steve', 'Wang', 'MAN', 'ENG', '1990-11-12', 34567, '+447840921333'),
(4, 'Friederike', 'Müller-Rossi', 'DEU', 'ITA', '1987-07-07', 45678, '+492345678901'),
(5, 'Isobel', 'Ivanova', 'RUS', 'ENG', '1963-05-30', 56789, '+491772635467'),
(6, 'Niamh', 'Murphy', 'ENG', 'IRI', '1995-09-08', 67890, '+491231231232');
"" "

connection = create_db_connection ("localhost", "root", pw, db)
execute_query (kết nối, pop_teacher)  

Điều này có hoạt động không? Chúng tôi có thể kiểm tra lại trong Máy khách dòng lệnh MySQL của mình:

image-153 Có vẻ ổn!

Bây giờ để điền các bảng còn lại.

  pop_client =" ""
CHÈN VÀO GIÁ TRỊ của ứng dụng khách
(101, 'Big Business Federation', '123 Falschungstraße, 10999 Berlin', 'NGO'),
(102, 'eCommerce GmbH', '27 Ersatz Allee, 10317 Berlin ',' Bán lẻ '),
(103, 'AutoMaker AG', '20 Künstlichstraße, 10023 Berlin ',' Auto '),
(104, 'Ngân hàng Banko', '12 Betrugstraße, 12345 Berlin ',' Ngân hàng '),
(105, 'WeMoveIt GmbH', '138 Arglistweg, 10065 Berlin', 'Logistics');
"" "

pop_participant = "" "
CHÈN VÀO GIÁ TRỊ của người tham gia
(101, 'Marina', 'Berg', '491635558182', 101),
(102, 'Andrea', 'Duerr', '49159555740', 101),
(103, 'Philipp', 'Probst', '49155555692', 102),
(104, 'René', 'Brandt', '4916355546', 102),
(105, 'Susanne', 'Shuster', '49155555779', 102),
(106, 'Christian', 'Schreiner', '49162555375', 101),
(107, 'Harry', 'Kim', '49177555633', 101),
(108, 'Jan', 'Nowak', '49151555824', 101),
(109, 'Pablo', 'Garcia', '49162555176', 101),
(110, 'Melanie', 'Dreschler', '49151555527', 103),
(111, 'Dieter', 'Durr', '49178555311', 103),
(112, 'Max', 'Mustermann', '49152555195', 104),
(113, 'Maxine', 'Mustermann', '49177555355', 104),
(114, 'Heiko', 'Fleischer', '49155555581', 105);
"" "

pop_course = "" "
CHÈN VÀO GIÁ TRỊ của khóa học
(12, 'English for Logistics', 'ENG', 'A1', 10, '2020-02-01', TRUE, 1, 105),
(13, 'Tiếng Anh cho người mới bắt đầu', 'ENG', 'A2', 40, '2019-11-12', FALSE, 6, 101),
(14, 'Tiếng Anh trung cấp', 'ENG', 'B2', 40, '2019-11-12', FALSE, 6, 101),
(15, 'Tiếng Anh nâng cao', 'ENG', 'C1', 40, '2019-11-12', FALSE, 6, 101),
(16, 'Mandarin für Autoindustrie', 'MAN', 'B1', 15, '2020-01-15', TRUE, 3, 103),
(17, 'Français intermédiaire', 'FRA', 'B1', 18, '2020-04-03', FALSE, 2, 101),
(18, 'Deutsch für Anfänger', 'DEU', 'A2', 8, '2020-02-14', TRUE, 4, 102),
(19, 'Tiếng Anh trung cấp', 'ENG', 'B2', 10, '2020-03-29', FALSE, 1, 104),
(20, 'Fortgeschrittenes Russisch', 'RUS', 'C1', 4, '2020-04-08', FALSE, 5, 103);
"" "

pop_takescourse = "" "
CHÈN VÀO GIÁ TRỊ take_course
(101, 15),
(101, 17),
(102, 17),
(103, 18),
(104, 18),
(105, 18),
(106, 13),
(107, 13),
(108, 13),
(109, 14),
(109, 15),
(110, 16),
(110, 20),
(111, 16),
(114, 12),
(112, 19),
(113, 19);
"" "

connection = create_db_connection ("localhost", "root", pw, db)
execute_query (kết nối, pop_client)
execute_query (kết nối, pop_participant)
execute_query (kết nối, pop_course)
execute_query (kết nối, pop_takescourse)  

Thật tuyệt vời! Bây giờ chúng ta đã tạo một cơ sở dữ liệu hoàn chỉnh với các quan hệ, ràng buộc và bản ghi trong MySQL, không sử dụng gì ngoài các lệnh Python.

Chúng tôi đã thực hiện từng bước này để giúp bạn dễ hiểu. Nhưng đến thời điểm này, bạn có thể thấy rằng tất cả điều này có thể rất dễ dàng được viết thành một tập lệnh Python và được thực thi bằng một lệnh trong thiết bị đầu cuối. Công cụ mạnh mẽ.

Đọc dữ liệu

Giờ đây, chúng tôi có một cơ sở dữ liệu chức năng để làm việc. Là một Nhà phân tích dữ liệu, bạn có khả năng tiếp xúc với các cơ sở dữ liệu hiện có trong các tổ chức nơi bạn làm việc. Sẽ rất hữu ích nếu biết cách kéo dữ liệu ra khỏi các cơ sở dữ liệu đó để sau đó nó có thể được đưa vào đường dẫn dữ liệu python của bạn. Đây là những gì chúng tôi sẽ làm tiếp theo.

Đối với điều này, chúng tôi sẽ cần một hàm nữa, lần này sử dụng cursor.fetchall () thay vì con trỏ. cam kết () . Với chức năng này, chúng tôi đang đọc dữ liệu từ cơ sở dữ liệu và sẽ không thực hiện bất kỳ thay đổi nào.

  def read_query (kết nối, truy vấn):
    con trỏ = connection.cursor ()
    kết quả = Không có
    thử:
        cursor.execute (truy vấn)
        result = cursor.fetchall ()
        trả về kết quả
    ngoại trừ Lỗi như lỗi:
        print (f "Error: '{err}'")  

Một lần nữa, chúng ta sẽ triển khai điều này theo cách rất giống với execute_query. Hãy dùng thử với một truy vấn đơn giản để xem nó hoạt động như thế nào.

  q1 = "" "
LỰA CHỌN *
TỪ giáo viên;
"" "

connection = create_db_connection ("localhost", "root", pw, db)
results = read_query (kết nối, q1)

cho kết quả trong kết quả:
  in (kết quả)  

image-154

Chính xác là những gì chúng tôi đang mong đợi. Hàm cũng hoạt động với các truy vấn phức tạp hơn, chẳng hạn như truy vấn này liên quan đến JOIN trên khóa học và bảng khách hàng.

  q5 = " ""
CHỌN course.course_id, course.course_name, course.language, client.client_name, client.address
TỪ khóa học
THAM GIA khách hàng
ON course.client = client.client_id
WHERE course.in_school = FALSE;
"" "

connection = create_db_connection ("localhost", "root", pw, db)
results = read_query (kết nối, q5)

cho kết quả trong kết quả:
  print (kết quả)  

image-155

Rất tốt.

Đối với các luồng dữ liệu và quy trình làm việc của chúng tôi bằng Python, chúng tôi có thể muốn nhận các kết quả này ở các định dạng khác nhau để làm cho chúng hữu ích hơn hoặc sẵn sàng để chúng tôi thao tác.

Hãy xem qua một số ví dụ để xem chúng ta có thể làm điều đó như thế nào.

Định dạng đầu ra thành danh sách

  # Khởi tạo danh sách trống
from_db = []

# Lặp lại các kết quả và thêm chúng vào danh sách của chúng tôi

# Trả về danh sách các bộ giá trị
cho kết quả trong kết quả:
  result = kết quả
  from_db.append (kết quả)  

image-156

Định dạng đầu ra thành Danh sách danh sách

  # Trả về danh sách các danh sách
from_db = []

cho kết quả trong kết quả:
  result = list (kết quả)
  from_db.append (kết quả)  

image-157

Định dạng đầu ra thành pandas DataFrame

Đối với các Nhà phân tích dữ liệu sử dụng Python, pandas là người bạn cũ xinh đẹp và đáng tin cậy của chúng tôi. Rất đơn giản để chuyển đổi kết quả đầu ra từ cơ sở dữ liệu của chúng tôi thành DataFrame và từ đó khả năng là vô tận!

  # Trả về danh sách các danh sách và sau đó tạo gấu trúc Khung dữ liệu
from_db = []

cho kết quả trong kết quả:
  result = list (kết quả)
  from_db.append (kết quả)


cột = ["course_id", "course_name", "ngôn ngữ", "client_name", "địa chỉ"]
df = pd.DataFrame (from_db, cột = cột)  

image-158

Hy vọng rằng bạn có thể thấy những khả năng đang diễn ra trước mắt tại đây. Chỉ với một vài dòng mã, chúng tôi có thể dễ dàng trích xuất tất cả dữ liệu mà chúng tôi có thể xử lý từ cơ sở dữ liệu quan hệ nơi nó tồn tại và đưa nó vào đường ống phân tích dữ liệu hiện đại của chúng tôi. Đây thực sự là công cụ hữu ích.

Cập nhật bản ghi

Khi chúng tôi duy trì cơ sở dữ liệu, đôi khi chúng tôi sẽ cần thực hiện các thay đổi đối với các bản ghi hiện có. Trong phần này, chúng ta sẽ xem xét cách thực hiện điều đó.

Giả sử ILS được thông báo rằng một trong những khách hàng hiện tại của mình, Big Business Federation, sẽ chuyển văn phòng đến 23 Fingiertweg, 14534 Berlin. Trong trường hợp này, quản trị viên cơ sở dữ liệu (đó là chúng tôi!) Sẽ cần thực hiện một số thay đổi.

Rất may, chúng ta có thể thực hiện việc này với hàm execute_query cùng với câu lệnh SQL UPDATE .

  update = " ""
CẬP NHẬT khách hàng
SET address = '23 Fingiertweg, 14534 Berlin '
WHERE client_id = 101;
"" "

connection = create_db_connection ("localhost", "root", pw, db)
execute_query (kết nối, cập nhật)  

Lưu ý rằng mệnh đề WHERE ở đây rất quan trọng. Nếu chúng tôi chạy truy vấn này mà không có mệnh đề WHERE, thì tất cả địa chỉ cho tất cả các bản ghi trong bảng Khách hàng của chúng tôi sẽ được cập nhật thành 23 Fingiertweg. Đó không phải là điều chúng tôi muốn làm.

Cũng xin lưu ý rằng chúng tôi đã sử dụng “WHERE client_id = 101” trong truy vấn UPDATE. Cũng có thể sử dụng “WHERE client_name = ‘Big Business Federation'” hoặc “WHERE address = ‘123 Falschungstraße, 10999 Berlin'” hoặc thậm chí “WHERE address LIKE ‘% Falschung%'”.

Điều quan trọng là mệnh đề WHERE cho phép chúng tôi xác định duy nhất bản ghi (hoặc các bản ghi) mà chúng tôi muốn cập nhật.

Xóa bản ghi

Cũng có thể sử dụng hàm execute_query của chúng tôi để xóa các bản ghi, bằng cách sử dụng DELETE .

Khi sử dụng SQL với cơ sở dữ liệu quan hệ, chúng ta cần cẩn thận khi sử dụng toán tử DELETE. Đây không phải là Windows, không có ‘Bạn có chắc chắn muốn xóa cái này không?’ cửa sổ bật lên cảnh báo và không có thùng rác tái chế. Sau khi chúng tôi xóa nội dung nào đó, nó thực sự biến mất.

Như đã nói, đôi khi chúng tôi thực sự cần phải xóa mọi thứ. Vì vậy, hãy xem xét điều đó bằng cách xóa một khóa học khỏi bảng Khóa học của chúng tôi.

Trước hết, chúng ta hãy tự nhắc nhở mình đã tham gia những khóa học nào.

image-174

Giả sử khóa học 20, ‘Fortgeschrittenes Russisch’ (đó là ‘Tiếng Nga nâng cao’ đối với bạn và me), sắp kết thúc, vì vậy chúng tôi cần xóa nó khỏi cơ sở dữ liệu của mình.

Đến giai đoạn này, bạn sẽ không ngạc nhiên với cách chúng tôi thực hiện việc này – hãy lưu lệnh SQL dưới dạng chuỗi , rồi đưa nó vào hàm execute_query của workhorse.

  delete_course = "" "
XÓA khỏi khóa học
WHERE course_id = 20;
"" "

connection = create_db_connection ("localhost", "root", pw, db)
execute_query (connection, delete_course)  

Hãy kiểm tra để xác nhận rằng điều đó có hiệu quả như mong muốn:

image-175

‘Tiếng Nga nâng cao’ không còn nữa, vì chúng tôi kỳ vọng.

Cách này cũng hoạt động với việc xóa toàn bộ cột bằng cách sử dụng lệnh DROP COLUMN và toàn bộ bảng bằng lệnh DROP TABLE , nhưng chúng tôi sẽ không đề cập đến các lệnh đó trong hướng dẫn này.

Tuy nhiên, hãy tiếp tục và thử nghiệm chúng – không thành vấn đề nếu bạn xóa một cột hoặc bảng khỏi cơ sở dữ liệu cho một trường học giả tưởng và bạn nên cảm thấy thoải mái với các lệnh này trước khi chuyển sang môi trường sản xuất.

Đến thời điểm này, chúng tôi đã có thể hoàn thành bốn hoạt động chính để lưu trữ dữ liệu liên tục.

Chúng tôi đã học cách:

  • Tạo – cơ sở dữ liệu, bảng và bản ghi hoàn toàn mới
  • Đọc – trích xuất dữ liệu từ cơ sở dữ liệu và lưu trữ dữ liệu đó ở nhiều định dạng
  • Cập nhật – thực hiện các thay đổi đối với các bản ghi hiện có trong cơ sở dữ liệu
  • Xóa – xóa các bản ghi không còn cần thiết

Đây là những điều cực kỳ hữu ích có thể làm được.

Trước khi kết thúc mọi thứ ở đây, chúng ta có một kỹ năng rất hữu ích nữa cần học.

Tạo bản ghi từ danh sách

Chúng tôi đã thấy khi điền vào các bảng của mình rằng chúng tôi có thể sử dụng lệnh SQL INSERT trong hàm execute_query để chèn các bản ghi vào cơ sở dữ liệu của mình.

Cho rằng chúng tôi đang sử dụng Python để thao tác cơ sở dữ liệu SQL của mình, sẽ rất hữu ích nếu có thể lấy cấu trúc dữ liệu Python (chẳng hạn như danh sách ) và chèn trực tiếp cấu trúc đó vào cơ sở dữ liệu của chúng tôi.

Điều này có thể hữu ích khi chúng tôi muốn lưu trữ nhật ký hoạt động của người dùng trên ứng dụng truyền thông xã hội mà chúng tôi đã viết bằng Python hoặc nhập liệu từ người dùng vào Wiki mà chúng tôi đã xây dựng chẳng hạn. Có rất nhiều cách sử dụng có thể cho việc này mà bạn có thể nghĩ ra.

Phương pháp này cũng an toàn hơn nếu cơ sở dữ liệu của chúng tôi mở cho người dùng tại bất kỳ thời điểm nào, vì nó giúp ngăn chặn các cuộc tấn công SQL Injection , có thể gây thiệt hại hoặc thậm chí phá hủy toàn bộ cơ sở dữ liệu của chúng tôi.

Để thực hiện việc này, chúng tôi sẽ viết một hàm bằng phương thức executeutemany () , thay vì execute () < / span> mà chúng tôi đã sử dụng cho đến nay.

  def execute_list_query (connection, sql, val):
    con trỏ = connection.cursor ()
    thử:
        cursor.executemany (sql, val)
        connection.commit ()
        print ("Truy vấn thành công")
    ngoại trừ Lỗi như lỗi:
        print (f "Error: '{err}'")  

Bây giờ chúng ta có hàm, chúng ta cần xác định một lệnh SQL (‘sql’) và một danh sách chứa các giá trị chúng ta muốn để nhập vào cơ sở dữ liệu (‘val’). Các giá trị phải được lưu trữ dưới dạng danh sách gồm bộ dữ liệu , đây là một cách khá phổ biến để lưu trữ dữ liệu bằng Python.

Để thêm hai giáo viên mới vào cơ sở dữ liệu, chúng ta có thể viết một số mã như sau:

  sql = '' '
    CHÈN VÀO giáo viên (teacher_id, first_name, last_name, language_1, language_2, dob, tax_id, phone_no)
    GIÁ TRỊ (% s,% s,% s,% s,% s,% s,% s,% s)
    '' '
    
val = [
    (7, 'Hank', 'Dodson', 'ENG', None, '1991-12-23', 11111, '+491772345678'),
    (8, 'Sue', 'Perkins', 'MAN', 'ENG', '1976-02-02', 22222, '+491443456432')
]  

Lưu ý ở đây rằng trong mã ‘sql’, chúng tôi sử dụng ‘% s’ làm trình giữ chỗ cho giá trị của chúng tôi. Sự giống nhau với ‘% s’ placeholder cho một chuỗi trong python chỉ là ngẫu nhiên (và nói thẳng ra là rất khó hiểu), chúng tôi muốn sử dụng ‘% s’ cho tất cả các loại dữ liệu (chuỗi, int, ngày tháng , v.v.) với Trình kết nối Python MySQL.

Bạn có thể thấy một số câu hỏi trên Stackoverflow , nơi ai đó đã trở nên nhầm lẫn và cố gắng sử dụng trình giữ chỗ ‘% d’ cho các số nguyên vì họ đã từng làm điều này bằng Python. Điều này sẽ không hoạt động ở đây – chúng tôi cần sử dụng ‘% s’ cho mỗi cột mà chúng tôi muốn thêm giá trị vào.

Sau đó, hàm thực thi sẽ lấy từng bộ trong danh sách ‘val’ của chúng tôi và chèn giá trị có liên quan cho cột đó vào vị trí của trình giữ chỗ và thực thi lệnh SQL cho từng bộ có trong danh sách.

Điều này có thể được thực hiện cho nhiều hàng dữ liệu, miễn là chúng được định dạng chính xác. Trong ví dụ của chúng tôi, chúng tôi sẽ chỉ thêm hai giáo viên mới, với mục đích minh họa, nhưng về nguyên tắc, chúng tôi có thể thêm bao nhiêu tùy thích.

Hãy tiếp tục và thực hiện truy vấn này và thêm giáo viên vào cơ sở dữ liệu của chúng tôi.

  connect = create_db_connection ("localhost", "root" , pw, db)
execute_list_query (connection, sql, val)  

image-177

Chào mừng bạn đến với ILS, Hank và Sue!

Đây là một chức năng vô cùng hữu ích khác, cho phép chúng tôi lấy dữ liệu được tạo trong các tập lệnh và ứng dụng Python của chúng tôi và nhập chúng trực tiếp vào cơ sở dữ liệu của chúng tôi.

Kết luận

Chúng tôi đã trình bày rất nhiều điều trong hướng dẫn này.

Chúng tôi đã học cách sử dụng Python và MySQL Connector để tạo cơ sở dữ liệu hoàn toàn mới trong MySQL Server, tạo các bảng trong cơ sở dữ liệu đó, xác định mối quan hệ giữa các bảng đó và điền dữ liệu vào chúng.

Chúng tôi đã trình bày cách Tạo, Đọc, Cập nhật và Xóa dữ liệu trong cơ sở dữ liệu của mình.

Chúng tôi đã xem xét cách trích xuất dữ liệu từ các cơ sở dữ liệu hiện có và tải chúng vào DataFrames của gấu trúc, sẵn sàng cho việc phân tích và làm việc thêm bằng cách tận dụng tất cả các khả năng được cung cấp bởi PyData stack .

Đi theo hướng khác, chúng tôi cũng đã học cách lấy dữ liệu được tạo bởi các ứng dụng và tập lệnh Python của chúng tôi, đồng thời ghi chúng vào cơ sở dữ liệu nơi chúng có thể được lưu trữ an toàn để truy xuất và thao tác sau này.

Tôi hy vọng hướng dẫn này đã giúp bạn biết cách chúng ta có thể sử dụng Python và SQL cùng nhau để có thể thao tác dữ liệu hiệu quả hơn nữa!

Nếu bạn muốn xem thêm các dự án của tôi và làm việc, vui lòng truy cập trang web của tôi tại craigdoesdata.de . Nếu bạn có bất kỳ phản hồi nào về hướng dẫn này, vui lòng liên hệ trực tiếp với tôi – mọi phản hồi đều được đón nhận nồng nhiệt!

logo


Xem thêm những thông tin liên quan đến chủ đề python sql server tạo bảng

Run Python Script from SQL Server – Hello World

alt

  • Tác giả: AllTech
  • Ngày đăng: 2019-02-07
  • Đánh giá: 4 ⭐ ( 8564 lượt đánh giá )
  • Khớp với kết quả tìm kiếm: Here we will see how to print a simple Python Hello World in SQL Server.

    Support this channel, become a member:
    https://www.youtube.com/channel/UCBGENnRMZ3chHn_9gkcrFuA/join

    🔥 Udemy Courses LOW COST Coupons/ Cupões Cursos Udemy BAIXO CUSTO 🔥:
    https://linktr.ee/AllTechProgramming

    With Udemy Courses you get/ Com Cursos da Udemy você terá:
    ♾️ Full lifetime access/ Acesso Vitalício Completo
    📱📺 Access on mobile and TV/ Acesso no celular e TV
    🏆 Certificate of completion/ Certificado de Conclusão

    📚 Useful books from Mike Driscoll 📚:
    Jupyter Notebook 101: https://gumroad.com/a/635769971/rozo
    Python 101: 2nd Edition: https://gumroad.com/a/635769971/ikdWt
    Python 201: Intermediate Python: https://gumroad.com/a/635769971/aMtdh
    Python 101 + Python 201: Intermediate Python: https://gumroad.com/a/635769971/KnQWc

    wxPython Cookbook: https://gumroad.com/a/635769971/qdKKu
    Creating GUI Applications with wxPython: https://gumroad.com/a/635769971/Eogsr

    Pillow: Image Processing with Python: https://gumroad.com/a/635769971/LRAJQA

    ReportLab: PDF Processing in Python: https://gumroad.com/a/635769971/bgQJY

    ◾ 💸 Donations 💸 ◾
    Please consider giving a donation so I can improve the quality of this content that I made for all of you 😊
    https://bit.ly/2Hdu9vb

    Download source code at: https://drive.google.com/file/d/12q-dCzlypBbTUAg0S5kPkyruX0aQJrgJ/

    Other Videos:
    Run Python Script from SQL Server – Parameters – https://youtu.be/RMtT-yVY1TQ
    Run Python Script from SQL Server – Pandas Example – https://youtu.be/yJnAgE2RSVs
    Run Python Script from SQL Server – Plot Example – https://youtu.be/fdELWosVom8

    Run Python script from C – https://youtu.be/g1VWGdHRkHs

    Python – Rolling Mean and Standard Deviation – Part 1 – https://youtu.be/vksOaLODyj8
    Python – Rolling Mean and Standard Deviation – Part 2 – https://youtu.be/eVfsiRkv2E8

    …and:
    Generate PDF with Python – Reportlab: https://youtu.be/ZDR7-iSuwkQ
    Generate PDF with Python – Reportlab – Create Table: https://youtu.be/B3OCXBL4Hxs
    Generate PDF with Python – Reportlab – Create Table – Part 2: https://youtu.be/r–iZCQbxzE
    Generate PDF with Python – Reportlab – Create Charts: https://youtu.be/FcZ9wTGmMrw

    Run Python Script from Excel VBA: https://youtu.be/Z4SC53VZh-w
    Run Python Script from Excel VBA – Part 2: https://youtu.be/4Z9via5_q9k
    Run Python Script from Excel VBA – Part 3.1: https://youtu.be/PoEnWr6c1cM
    Run Python Script from Excel VBA – Part 3.2: https://youtu.be/Tkk0aedRyU4

    Basic Python KeyLogger: https://youtu.be/AS4PnrWv-f4
    Convert .py into .exe: https://youtu.be/CftCQYNb7B4
    Image to Text with Python – pytesseract: https://youtu.be/4DrCIVS5U3Y
    Speech to Text with Python: https://youtu.be/If2HJ23zP2U
    Weather Forecast with Python: https://youtu.be/O9G4vBsiV40
    Search Movie with Python – IMDbPY: https://youtu.be/vzOdCPV7zvs
    Generate and Read QR Code with Python: https://youtu.be/2QK942FPCw0
    Run JavaScript from Python: https://youtu.be/ByjpBvpPp8Q
    Run Python in Browser – Brython: https://youtu.be/dFNXwq5kmNk
    Hide Text in Image with Python – Stegano: https://youtu.be/IhXbJfLCst0
    HTML to PDF with Python: https://youtu.be/m3u3oLgDcJI
    Web Scraping with Python – BeautifulSoup: https://youtu.be/Jnn2kIqPH7o
    Generate Excel with Python – OpenPyXL: https://youtu.be/KNdqnIpl2UE
    Translate Text with Python – googletrans: https://youtu.be/yRFkI8miPHA
    Convert Python 2 to Python 3 Code – 2to3: https://youtu.be/t0v4F396_nc
    Face Detection with Python – OpenCV: https://youtu.be/FeUAmWZ7Clw
    Run Python Script in LibreOffice: https://youtu.be/3Ef_ordyWQs
    Generate Excel with Python – xlwings: https://youtu.be/sGvMLmLOH5g
    RESTful Web Service – Hello World – Java Spring: https://youtu.be/RXkLlq8YxeM

    Playlists:
    Python Pandas: https://www.youtube.com/playlist?list=PLOGAj7tCqHx_c5uWrZX4ykdujODcqczmQ
    Python and SQL Server: https://www.youtube.com/playlist?list=PLOGAj7tCqHx9Add6MWzl_5Wbix9V1OjSx
    Numpy Exercises: https://www.youtube.com/playlist?list=PLOGAj7tCqHx9eQjST2RV-_Py3EJHqRq0C
    ASP.NET Web API C: https://www.youtube.com/playlist?list=PLOGAj7tCqHx9n-_d3YKwLJr-uHkmKZyih

    Follow us on Facebook
    https://www.facebook.com/AllTech-1089946481026048/

    Or Twitter
    https://twitter.com/alltech34460651

    AllTech Python SQLServer MSSQL

Các thao tác cơ bản với Database trong Microsoft SQL Server

  • Tác giả: topdev.vn
  • Đánh giá: 4 ⭐ ( 8104 lượt đánh giá )
  • Khớp với kết quả tìm kiếm: Chào các bạn, trong các bài viết trước mình đã cùng các bạn cài đặt cũng như thiết lập kết nối đến SQL Server thông qua SSMS (SQL Server Management Studio).

Tạo bảng trong SQL Server dễ và nhanh P1

  • Tác giả: gnv.edu.vn
  • Đánh giá: 4 ⭐ ( 5317 lượt đánh giá )
  • Khớp với kết quả tìm kiếm: Hướng dẫn chi tiết cách Tạo bảng trong SQL dễ hiểu kèm với hình ảnh minh họa và ví dụ chi tiết và bài tập vận dụng.

CREATE TABLE Trong Python MySQL

  • Tác giả: www.codehub.com.vn
  • Đánh giá: 4 ⭐ ( 5553 lượt đánh giá )
  • Khớp với kết quả tìm kiếm: Để tạo 1 bảng, chúng ta sử dụng câu lệnh CREATE TABLE. Hãy đảm bảo rằng bạn xác định đúng tên CSDL khi kết nối.

Tạo bảng MySQL trong Python

  • Tác giả: viettuts.vn
  • Đánh giá: 5 ⭐ ( 4710 lượt đánh giá )
  • Khớp với kết quả tìm kiếm: Trong bài này, chúng ta sẽ tạo ra một bảng MySQL mới có tên là Employee. Chúng ta có thể tạo bảng mới bằng cách sử dụng câu lệnh CREATE TABLE của SQL.

python/btvn11.sql at main · PhamLinh97/python

  • Tác giả: github.com
  • Đánh giá: 5 ⭐ ( 9548 lượt đánh giá )
  • Khớp với kết quả tìm kiếm: hoc python. Contribute to PhamLinh97/python development by creating an account on GitHub.

Khởi tạo Database trong SQL Server

  • Tác giả: howkteam.vn
  • Đánh giá: 4 ⭐ ( 9714 lượt đánh giá )
  • Khớp với kết quả tìm kiếm: Khởi tạo Database trong SQL Server

Xem thêm các bài viết khác thuộc chuyên mục: Kiến thức lập trình

Xem Thêm  HTML Mở trong Tab Mới: Mở Liên kết trong Tab để Nội dung liên tục - mở html trong tab mới

By ads_php