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
import
1=
import
3import
4
import
7
import
9____5____21import
4
pymysql
5
pymysql
7____5pymysql
9import
4
# establish connection to MySQL
3
# establish connection to MySQL
5=
______37import
4
connection
1
connection
3____5connection
5
connection
6
connection
7
connection
8=
=
0
=
1
=
2____53connection
6
=
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
5import
4
7import
4
9import
4# specify host name
1import
4# specify host name
3# specify host name
4
# specify host name
6# specify host name
7 # specify host name
8
0
3
2=
# specify host name
3
5
6
7
pymysql.connect[
3
9import
00connection
6
import
02
=
2____53connection
6
=
5=
=
7
=
8 =
9pymysql.connect[
0 pymysql.connect[
1
pymysql.connect[
3pymysql.connect[
4
=
2____117____46
import
19
import
20
đầ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
import
1=
import
3import
4
import
35
import
7
import
9____5____21import
4
import
35
pymysql
5
pymysql
7____5import
49
# establish connection to MySQL
3
# establish connection to MySQL
5=
______37import
4
connection
1
connection
3____5import
64
connection
6
connection
7
connection
8=
=
0
=
1
=
2____172____46
=
5=
=
7
=
8 =
9pymysql.connect[
0 pymysql.connect[
1
pymysql.connect[
3pymysql.connect[
4
pymysql.connect[
6
=
2
import
89import
90import
91
1
2
3
4import
97import
4
5import
4pymysql
01import
4pymysql
03# specify host name
4
# specify host name
6# specify host name
7 # specify host name
8
pymysql
10import
90
3 pymysql
13import
90=
import
97
5
6
7
pymysql.connect[
3
9import
00connection
6
import
02
=
2____172____46
=
5=
=
7
=
8 =
9pymysql.connect[
0 pymysql.connect[
1
pymysql.connect[
3pymysql.connect[
4
=
2____117____46
import
19
import
20
đầ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