Hướng dẫn how do you add user input to a database in python? - làm cách nào để bạn thêm đầu vào của người dùng vào cơ sở dữ liệu trong python?

Cơ sở dữ liệu trong Python

Làm thế nào để bạn thêm đầu vào người dùng vào cơ sở dữ liệu trong Python?

Một vài cách để làm điều này là thông qua việc tạo ra một hoặc nhiều thủ tục được lưu trữ. Bạn cũng có thể sử dụng các mô -đun như FormenCode và JsonFields. Hoặc, có lẽ là một trong nhiều ứng dụng web cung cấp các yếu tố giao diện như các biểu mẫu tạo bảng hoặc truy vấn của riêng họ mà không cần mã hóa!

Ví dụ, giả sử tôi muốn một trường trên bảng này có tên là Age Age. Đây là cách bạn làm điều đó trong MySQL với bất kỳ phương pháp nào ở trên:

Tạo bảng mytable [myfield varchar [10], varchar khác [50], tuổi int not null auto_increment, khóa chính [id]] động cơ = myIsam charet mặc định = latin1;

Trong ví dụ trên, tôi đã thêm một trường gọi là ‘tuổi vào bàn của tôi. Số lượng hàng trong bảng không được chỉ định, nhưng tự động được đặt để đảm bảo rằng sẽ luôn chỉ có một hàng trên mỗi ID duy nhất.

Hãy nói rằng tôi cũng muốn làm cho nó để cột này cho phép một số đầu vào của người dùng. Làm thế nào để làm điều đó?

Nếu bạn sử dụng MySQL, thì MySQL có thể giúp bạn thực hiện một quy trình được lưu trữ để thêm trường này. Đây là một ví dụ:

Tạo quy trình my_add_age [trong myfield varchar [10], trong varchar khác [50]] bắt đầu khai báo tuổi int; đặt tuổi = tuổi + 1; CHẤM DỨT;

Nếu bạn sử dụng Oracle, thì nó sẽ ít đơn giản hơn một chút. Có các công cụ gốc của aren để tạo ra các quy trình được lưu trữ tùy chỉnh cho các cơ sở dữ liệu này với Python, nhưng có những cách khác. Đây là một:

Nhập oracle.sql

con = oracle.sql.connect [’người dùng

cur_addage = con trỏ.execute [chèn vào TestTable_StoredProc [myfield, othertext, tuổi] giá trị [: myfield,: othertext,: tuổi];

cur_addage.rowcount # cho tôi biết có bao nhiêu hàng đã được thêm

cur_addage = con trỏ.execute [chèn vào TestTable_StoredProc [myfield, othertext, tuổi] giá trị [: myfield,: othertext,: tuổi];

cur_addage.rowcount # cho tôi biết có bao nhiêu hàng đã được thêm

cur_addage = con trỏ.execute [chèn vào TestTable_StoredProc [myfield, othertext, tuổi] giá trị [: myfield,: othertext,: tuổi];

Mã trên tạo ra một quy trình được lưu trữ trong Oracle và chèn một số dữ liệu vào bảng. Nó đọc các giá trị của MyField và OtherText và chuyển chúng đến một hàm ẩn danh sau đó sẽ gây ra lỗi nếu chúng không khớp chính xác với các tham số được cung cấp.

Bây giờ, hãy để mô tả cách thức hoạt động trong MySQL. Điều đầu tiên bạn cần làm là kết nối với cơ sở dữ liệu MySQL và nhận con trỏ. Đây là cách bạn làm điều đó:

Sử dụng ví dụ

Connection = mysql_connect [

con trỏ = kết nối

Bây giờ, hãy để tạo ra các thủ tục được lưu trữ. Một lần nữa, chúng tôi sử dụng mô -đun Python MySQLDB để tạo quy trình. Điều đầu tiên chúng tôi làm là tuyên bố thủ tục được lưu trữ. Đây là một ví dụ:

cur_addage = con trỏ.execute [chèn vào TestTable_StoredProc [myfield, othertext, tuổi] giá trị [: myfield,: othertext,: tuổi];

cur_addage.rowcount # cho tôi biết có bao nhiêu hàng đã được thêm

cur_addage = con trỏ.execute [chèn vào TestTable_StoredProc [myfield, othertext, tuổi] giá trị [: myfield,: othertext,: tuổi];

Mã trên tạo ra một quy trình được lưu trữ trong Oracle và chèn một số dữ liệu vào bảng. Nó đọc các giá trị của MyField và OtherText và chuyển chúng đến một hàm ẩn danh sau đó sẽ gây ra lỗi nếu chúng không khớp chính xác với các tham số được cung cấp.

Bây giờ, hãy để mô tả cách thức hoạt động trong MySQL. Điều đầu tiên bạn cần làm là kết nối với cơ sở dữ liệu MySQL và nhận con trỏ. Đây là cách bạn làm điều đó:

Sử dụng ví dụ

Connection = mysql_connect [

con trỏ = kết nối

Bây giờ, hãy để tạo ra các thủ tục được lưu trữ. Một lần nữa, chúng tôi sử dụng mô -đun Python MySQLDB để tạo quy trình. Điều đầu tiên chúng tôi làm là tuyên bố thủ tục được lưu trữ. Đây là một ví dụ:

def created_stored_proc []:

Nếu cur_addage:

Mã trên tạo ra một quy trình được lưu trữ trong Oracle và chèn một số dữ liệu vào bảng một lần nữa trước khi đóng kết nối với máy chủ cơ sở dữ liệu đó. Mã trên tạo ra một quy trình được lưu trữ trong Oracle và chèn một số dữ liệu vào bảng một lần nữa trước khi đóng kết nối với máy chủ cơ sở dữ liệu đó

Dưới đây là một đoạn trích mã từ ví dụ trên:

"Điểm"] trở lại ["người lưu trữ]

Bây giờ, hãy để mô tả cách thức hoạt động trong MySQL. Điều đầu tiên bạn cần làm là kết nối với cơ sở dữ liệu MySQL và nhận con trỏ. Đây là cách bạn làm điều đó:

Sử dụng ví dụ

Connection = mysql_connect [

con trỏ = Conn

Bây giờ, hãy để tạo ra các thủ tục được lưu trữ. Một lần nữa, chúng tôi sử dụng mô -đun Python MySQLDB để tạo quy trình. Điều đầu tiên chúng tôi làm là tuyên bố thủ tục được lưu trữ. Đây là một ví dụ: def created_stored_proc []: cur_addage = con trỏ.execute [chèn vào TestTable_storedProc [myfield, othertext, tuổi] giá trị [: myfield,: othertext,: tuổi]; Nếu cur_addage: in [điểm Point] Return [đã được lưu trữ khác] . . Đây] là myfile: in [mysqlpprint.escape [mysqlpprint.escape [mysqlpprint.escape [mysqlpprint.escape [mysqlpprint.escape F của tôi ield, othertext, tuổi] giá trị [: myfield,: othertext,: tuổi]; Tiết kiệm], [myfield, othertext]] end [:,] Cơ sở dữ liệu SQL, MySQL

Mã trên tạo ra một quy trình được lưu trữ trong MySQL và chèn một số dữ liệu vào bảng một lần nữa trước khi đóng kết nối với máy chủ cơ sở dữ liệu đó. Mã trên tạo ra một quy trình được lưu trữ trong MySQL và chèn một số dữ liệu vào bảng một lần nữa trước khi đóng kết nối với máy chủ cơ sở dữ liệu đó

Xin lưu ý rằng bạn có thể sử dụng tất cả các quy trình được mô tả trong chương này, không phân biệt nền tảng cơ sở dữ liệu của họ; Mặc dù có một số sự tinh tế liên quan.

Xin chúc mừng! Bạn chỉ học cách tạo ra một thủ tục được lưu trữ. Đây là một trong những điều quan trọng nhất bạn có thể làm khi thiết kế cơ sở dữ liệu với một ứng dụng dựa trên Python. Xin lưu ý rằng bạn có thể sử dụng tất cả các quy trình được mô tả trong chương này, không phân biệt nền tảng cơ sở dữ liệu của họ; Mặc dù có một số sự tinh tế liên quan. Xin chúc mừng! Bạn chỉ học cách tạo ra một thủ tục được lưu trữ. Đây là một trong những điều quan trọng nhất bạn có thể làm khi thiết kế cơ sở dữ liệu với một ứng dụng dựa trên Python.

Làm thế nào để sử dụng Python và MySQL cùng nhau?

Python là một ngôn ngữ lập trình tuyệt vời. Nó không chỉ là một ngôn ngữ mà còn có thể được sử dụng như một công cụ quản lý cơ sở dữ liệu. Có một mô -đun đi kèm với gói MySQLDB có thể được sử dụng để truy cập các bảng của cơ sở dữ liệu của bạn thông qua mã Python. Phần này sẽ chỉ cho bạn cách sử dụng Python với MySQLDB và các tính năng hướng đối tượng của nó.

Có một số cách sử dụng Python với MySQLDB. Điều duy nhất mà bạn sẽ phải lo lắng trong phần lớn các trường hợp là việc sử dụng mô -đun MySQLDB. Xin lưu ý rằng bạn cũng có thể sử dụng mô -đun này với các phiên bản khác của MySQL.

Hãy để xem cách kết nối với cơ sở dữ liệu và tạo bảng:

Nhập mysqldb Conn = mysqldb.connect [host = amainhost, user = mysqluser, passwd = mysqlPasswd, db = amaindatabase] cur = Conn.cursor [] cur.execute ]

Lưu ý rằng mô -đun MySQL sử dụng gần như cùng cú pháp với thư viện tiêu chuẩn. Một bảng có thể được tạo bằng cách đặt tên nó và sau đó là các cột của nó. Đây là cách bạn làm điều đó:

cur.execute [Hồi tạo bảng mytable [tên varchar [20], trọng lượng gấp đôi]]]

Để tạo một bảng trong MySQL với mô -đun Python, bạn phải khai báo đối tượng của mình trước. Điều này được thực hiện với cú pháp sau:

Nhập mysqldb Conn = mysqldb.connect [host = amainhost, user = mysqluser, passwd = mysqlPasswd, db = amaindatabase] cur = Conn.cursor [] cur.execute ]

Lưu ý rằng mô -đun MySQL sử dụng gần như cùng cú pháp với thư viện tiêu chuẩn. Một bảng có thể được tạo bằng cách đặt tên nó và sau đó là các cột của nó. Đây là cách bạn làm điều đó:

Một truy vấn MySQL đơn giản

Mã trên là một ví dụ rất đơn giản về việc sử dụng mô -đun MySQLDB. Nếu bạn nghiên cứu cú pháp một cách cẩn thận, bạn sẽ nhận thấy rằng nó gần như giống hệt với cách bạn sẽ sử dụng bất kỳ thư viện tiêu chuẩn nào khác trong Python. Đây là một trong những lý do tại sao Python rất phổ biến. Nó rất đơn giản và dễ sử dụng trong tất cả các loại ứng dụng.

Mã trên là một ví dụ rất đơn giản về việc sử dụng mô -đun MySQLDB. Nếu bạn nghiên cứu cú pháp một cách cẩn thận, bạn sẽ nhận thấy rằng nó gần như giống hệt với cách bạn sẽ sử dụng bất kỳ thư viện tiêu chuẩn nào khác trong Python. Đây là một trong những lý do tại sao Python rất phổ biến. Nó rất đơn giản và dễ sử dụng trong tất cả các loại ứng dụng.

Một truy vấn chọn đơn giản

Mã trên chọn tất cả khách hàng từ một bảng cơ sở dữ liệu nhất định. Bạn cũng có thể thêm điều kiện nếu bạn muốn cụ thể hơn:

cur.execute [Hồi chọn * từ khách hàng nơi tên như ‘%john%,]

Để chọn tất cả dữ liệu từ bảng, bạn có thể sử dụng:

cur.execute [‘Chọn * từ MyTable,]

Một tập hợp các truy vấn để tìm bản ghi

Dưới đây, một ví dụ về những gì bạn phải làm để tìm một bản ghi cụ thể nếu bạn đã có bản ghi đó:

cur.execute ['Chọn ID, tên từ khách hàng trong đó ID trong [10,20]'] Chọn * Từ khách hàng WHERE tên = Giăng John và tuổi

Bài Viết Liên Quan

Chủ Đề