Làm thế nào để bạn chèn dữ liệu nếu không tồn tại mysql?

Trong bài viết này, chúng tôi sẽ cố gắng chèn các bản ghi và kiểm tra xem nó có TỒN TẠI hay không. Điều kiện EXISTS trong SQL được sử dụng để kiểm tra xem kết quả của một truy vấn lồng nhau tương quan có rỗng [không chứa bộ dữ liệu nào] hay không. Nó có thể được sử dụng để INSERT, SELECT, UPDATE, hoặc DELETE câu lệnh.  

Truy vấn chúng tôi đang sử dụng chương trình python là

CHÈN VÀO tên bảng[col1, col2, col3] \    CHỌN * TỪ [CHỌN val1, val2, val3] làm tạm thời \    WHERE NOT EXISTS \    [CHỌN khóa chính TỪ tên bảng WHERE khóa chính = bản ghi được chèn] GIỚI HẠN

Giả sử chúng ta có một cơ sở dữ liệu tên là test và một bảng có tên trong geeksforgeeks. Dưới đây là lược đồ và dữ liệu của bảng

cơ sở dữ liệu

Vì mỗi cá nhân có một số nhận dạng duy nhất, chúng tôi sẽ chèn bản ghi và kiểm tra ID_NO của người đó. Nếu ID_NO chưa có trong bảng, bản ghi sẽ được chèn, nếu không bản ghi sẽ bị loại bỏ. Hãy cho chúng tôi hiểu bằng cách sử dụng các ví dụ dưới đây

ví dụ 1. Khi bản ghi không tồn tại trong bảng

Python3




# import required modules

import pymysql

 

 

# establish connection to MySQL

connection= pymysql.connect[

    # specify host name

  

    import1=import3import4

    

    import7

    import9____5____21import4

    

    pymysql5

    pymysql7____5pymysql9import4

    

    # establish connection to MySQL3

    # establish connection to MySQL5=______37import4

    

    connection1

    connection3____5connection5

connection6

 

 

connection7

connection8= =0

 

 

=1

=2____53connection6

=5= =7

=8 =9pymysql.connect[0 pymysql.connect[1

    pymysql.connect[3pymysql.connect[4

 

    

pymysql.connect[6

=2

    pymysql.connect[9

        1    2     3    4    5import4    7import4    9import4# specify host name1import4# specify host name3# specify host name4

    # specify host name6# specify host name7 # specify host name8

      0    3   2=# specify host name3  5  6  7

pymysql.connect[3  9import00connection6

 

 

import02

=2____53connection6

=5= =7

=8 =9pymysql.connect[0 pymysql.connect[1

    pymysql.connect[3pymysql.connect[4

=2____117____46

 

 

import19

import20

đầu ra

Đầu ra Python sau khi chèn

Ở phần đầu ra ở trên, chúng ta có thể thấy rằng bản ghi [‘Thomas’,’UK’,30,1892345670,’IND100′] đã được chèn vào bảng MySQL

ví dụ 2. Khi bản ghi đã tồn tại

Dưới đây là lược đồ và dữ liệu của bảng geeksdemo trong cơ sở dữ liệu geek

Bây giờ, chúng tôi sẽ cố gắng chèn một bản ghi đã tồn tại.  

Python3




# import required modules

import pymysql

 

 

# establish connection to MySQL

connection= pymysql.connect[

    # specify host name

    import1=import3import4

import35

    import7

    import9____5____21import4

import35

    pymysql5

    pymysql7____5import49

    

    # establish connection to MySQL3

    # establish connection to MySQL5=______37import4

    

    connection1

    connection3____5import64

connection6

 

 

connection7

connection8= =0

 

 

=1

=2____172____46

=5= =7

=8 =9pymysql.connect[0 pymysql.connect[1

    pymysql.connect[3pymysql.connect[4

    

    

pymysql.connect[6

=2

    import89import90import91

        1    2     3    4import97import4    5import4pymysql01import4pymysql03# specify host name4

    # specify host name6# specify host name7 # specify host name8

    pymysql10import90     3 pymysql13import90=import97  5  6  7

pymysql.connect[3  9import00connection6

 

 

import02

=2____172____46

 

 

=5= =7

=8 =9pymysql.connect[0 pymysql.connect[1

    pymysql.connect[3pymysql.connect[4

=2____117____46

 

 

import19

import20

đầu ra

Chúng tôi quan sát thấy bản ghi đó [5,'Thomas','m','information technology'] không được chèn lại vào bảng. Hình ảnh sau đây là đầu ra của cơ sở dữ liệu MySQL, sau khi chạy tập lệnh python ở trên

Chúng ta có thể thấy rằng 0 hàng bị ảnh hưởng. Do đó, không có bản ghi nào được chèn vào vì nó đã tồn tại trong bảng với một bản ghi khác

Làm thế nào chúng ta có thể chèn dữ liệu trong MySQL?

Câu lệnh INSERT đơn giản để thêm dữ liệu vào bảng. Sử dụng câu lệnh INSERT để thêm nhiều hàng vào bảng . Mệnh đề INSERT INTO SELECT để chèn đầu ra được tạo bởi truy vấn SELECT. INSERT IGNORE mệnh đề để bỏ qua lỗi được tạo ra trong quá trình thực hiện truy vấn.

Chúng ta có thể chèn null vào MySQL không?

Bạn có thể chèn giá trị NULL vào cột int với điều kiện i. e. cột không được có ràng buộc NOT NULL . Cú pháp như sau. CHÈN VÀO yourTableName[yourColumnName] giá trị[NULL]; .

Bạn sẽ sử dụng câu lệnh nào để thêm bản ghi vào bảng nếu bản ghi đó không tồn tại hoặc sửa đổi bản ghi hiện có trong bảng?

Sử dụng câu lệnh UPSERT để chèn một hàng không tồn tại hoặc để cập nhật hàng với các giá trị mới khi có.

Việc sử dụng trong MySQL là gì?

Ký hiệu trong MySQL giống như không bằng toán tử [. =]. Cả hai đều cho kết quả ở dạng boolean hoặc tinyint[1]. Nếu điều kiện trở thành true, thì kết quả sẽ là 1 ngược lại là 0. Trường hợp 1 - Sử dụng. =

Chủ Đề