Các câu lệnh truy vấn và thao tác dữ liệu MySQL. Tạp chí cơ sở dữ liệu

SQL chuẩn là chữ U. S. ngôn ngữ quốc gia
tiêu chuẩn ANSI, nhưng nhiều nhà cung cấp cơ sở dữ liệu đã tạo ra tiêu chuẩn riêng của họ
nhiều phiên bản SQL và các phần mở rộng độc quyền của riêng họ
Các câu lệnh SQL mà chúng ta sẽ thảo luận ở đây hôm nay tuân theo tiêu chuẩn ANSI.
cả tiêu chuẩn Ngôn ngữ thao tác dữ liệu SQL (DML) và SQL
bao gồm các lệnh chính sau. LỰA CHỌN. VÀO, CHÈN, CẬP NHẬT và XÓA
Bởi vì nó không chứa INTO, SELECT được coi là tồn tại bên ngoài DML
mặc dù kết quả chỉ đọc và không làm thay đổi dữ liệu nhưng chúng tôi vẫn sẽ đưa vào
Các lệnh khác, như CREATE, ALTER và OTHER, được bao gồm trong tiêu chuẩn ANSI lớn hơn
DROP tuân thủ Ngôn ngữ định nghĩa dữ liệu (DDL), một tiêu chuẩn khác
Bài viết này sẽ tập trung vào INSERT cực kỳ hữu ích,
Các câu lệnh CẬP NHẬT, XÓA và CHỌN

Tuyên bố INSERT

Trước khi tìm kiếm cơ sở dữ liệu cho dữ liệu,
Bước đầu tiên là điền vào các bảng, được thực hiện bằng cách sử dụng lệnh INSERT
do thực tế là MySQL không hỗ trợ CHỌN. Lệnh VÀO DML
Có hai loại câu lệnh INSERT. cái đầu tiên không chỉ định cột
chỉ giá trị của chúng, không phải địa danh mà dữ liệu sẽ được chèn vào;
Đây là cú pháp cho cả tên cột và giá trị được chèn vào
mỗi

Hình thức 1

_10

Mẫu 2

________Đầu tiên

Hãy thêm một câu lệnh INSERT
hàng tiếp theo trong bảng "nhân viên"

Tôi

shop_id

giới tính

Tên

lương

1

1

m

Jon Simpson

4500

2

1

f

Barbara Breitenmoser

4700

3

2

f

Kirsten Ruegg

5600

4

3

m

Ralph Teller

5100

5

3

m

Peter Johnson

5200

Đây là một số mã để tạo và điền vào
cái bàn

#
# Table structure for table 'employees'
#
CREATE TABLE "employees" (
"id" int(11) NOT NULL AUTO_INCREMENT,
"shop_id" int(11) DEFAULT NULL,
"gender" enum('m','f') DEFAULT NULL,
"name" varchar(32) DEFAULT NULL,
"salary" int(11) DEFAULT NULL,
PRIMARY KEY ("id")
) AUTO_INCREMENT=6;
#
# Data for table 'employees'
#
INSERT INTO "employees" ("id", "shop_id", "gender", "name", "salary") 
VALUES (1,1,'m','Jon Simpson',4500);
INSERT INTO "employees" ("id", "shop_id", "gender", "name", "salary") 
VALUES (2,1,'f','Barbara Breitenmoser',4700);
INSERT INTO "employees" ("id", "shop_id", "gender", "name", "salary") 
VALUES (3,2,'f','Kirsten Ruegg',5600);
INSERT INTO "employees" ("id", "shop_id", "gender", "name", "salary") 
VALUES (4,3,'m','Ralph Teller',5100);
INSERT INTO "employees" ("id", "shop_id", "gender", "name", "salary") 
VALUES (5,3,'m','Peter Jonson',5200);

Để thêm một hàng thứ sáu, gõ như sau
đến bàn

MySQL>INSERT INTO employees VALUES (6, 3, 'm', 'Al Bundy', 1000);

Hàng mới trong bảng sẽ hiển thị

MySQL>SELECT * FROM employees;

Tôi

shop_id

giới tính

Tên

lương

1

1

m

Jon Simpson

4500

2

1

f

Barbara Breitenmoser

4700

3

2

f

Kirsten Ruegg

5600

4

3

m

Ralph Teller

5100

5

3

m

Peter Johnson

5200

6

3

m

Al Bundy

1000

Nếu bạn mắc lỗi, chẳng hạn như quên điều gì đó,
một cột, một thông báo lỗi sẽ xuất hiện

_15

In ra mẫu "tên" Mẫu 2 này
cột được gắn nhãn không chính xác—một lỗi phổ biến

_16

Câu lệnh CHỌN

Câu lệnh SELECT trong SQL là phổ biến nhất
Có lẽ là nổi tiếng nhất, nhưng cũng khó thành thạo nhất do tất cả
Câu lệnh SELECT được sử dụng để chọn dữ liệu từ cơ sở dữ liệu với nhiều
Kết quả truy vấn được hiển thị ở định dạng bảng được gọi là
Một số người gọi chúng là tập bản ghi cũng như tập kết quả hoặc tập kết quả. Cơ bản
cú pháp dễ dàng một cách đáng ngạc nhiên và chúng tôi đã sử dụng nó để thể hiện cú pháp mới của chúng tôi
Dấu hoa thị (*) là viết tắt của "tất cả các hàng" trong hàng trên
cột"

MySQL>SELECT * FROM employees;

Ngoài ra, bạn có thể đặt tên rõ ràng cho các cột
mà bạn mong muốn bằng cách đặt chúng vào một danh sách có dấu phẩy giữa mỗi mục
Không nhất thiết thứ tự trùng với thứ tự của bảng
lương cho mỗi cửa hàng

MySQL>SELECT salary, shop_id FROM employees;

lương

shop_id

4500

1

4700

1

5600

2

5100

3

5200

3

1000

3

Một vài nhận xét về cú pháp

Nhiều câu hỏi thường được đặt ra khi
Một câu hỏi đặt ra là liệu dấu chấm phẩy đóng có được sử dụng khi mọi người bắt đầu viết câu lệnh SQL hay không
Câu trả lời ngắn gọn là không, nó không bắt buộc. Ký hiệu của dấu chấm phẩy là một
mặc dù nó là một phần của tiêu chuẩn ANSI SQL-92, dấu kết thúc câu lệnh chưa bao giờ
Có thể sử dụng nó trong Transact-SQL, hương vị SQL phổ biến nhất
viết nhiều năm mã T-SQL mà không bao giờ thấy dấu chấm phẩy
Về mặt kỹ thuật, bạn chỉ cần gửi một câu lệnh tới cơ sở dữ liệu
dấu kết thúc câu lệnh;
Nếu bạn đang gửi nhiều báo cáo, bạn cần nó

Một truy vấn điển hình nữa là liệu SQL
Nó chỉ ra rằng các tuyên bố có một yếu tố trường hợp. Họ cũng không
Phân biệt chữ hoa chữ thường áp dụng cho tên bảng và trường cũng như các từ khóa như CHỌN và TỪ
Phải nói rằng, đó là một cách thực hành tốt để duy trì chữ hoa cho các từ khóa
và các trường dữ liệu khi tình huống tương ứng với định nghĩa của chúng, cho dù
chữ hoa, chữ thường hoặc hỗn hợp

Sử dụng mệnh đề WHERE để thu hẹp tập kết quả

Bạn có thể sử dụng mệnh đề WHERE để hạn chế
giới hạn tập kết quả thành các bản ghi thỏa mãn một tiêu chí nhất định
điều khoản làm giảm số lượng nhân viên trong kết quả trước đây của chúng tôi xuống chỉ còn phụ nữ

_19

lương

shop_id

4700

1

5600

2

Đây là những toán tử cơ bản được hỗ trợ
bởi MySQL

Nhà điều hành

sự mô tả

=

Bình đẳng

Không công bằng

>

Lớn hơn

=

Lớn hơn hoặc bằng


Ngôn ngữ thao tác dữ liệu (DML) bao gồm các lệnh chính, INSERT, UPDATE, DELETE và SELECT…INTO. Bài viết hôm nay tập trung cụ thể vào các câu lệnh INSERT, UPDATE, DELETE và SELECT vô cùng hữu ích

SQL tiêu chuẩn là một công dân Mỹ
Tiêu chuẩn của Viện Tiêu chuẩn (ANSI), nhưng nhiều nhà cung cấp cơ sở dữ liệu đã tạo ra
phần mở rộng độc quyền của riêng họ và các phiên bản SQL khác nhau. các loại
Các câu lệnh SQL mà chúng ta sẽ giải quyết ở đây hôm nay tuân thủ ANSI
tiêu chuẩn, cũng như tiêu chuẩn SQL Ngôn ngữ thao tác dữ liệu (DML). DML
bao gồm các lệnh chính sau. CHÈN, CẬP NHẬT, XÓA và CHỌN… VÀO
SELECT không có INTO được coi là nằm ngoài DML vì nó
kết quả chỉ đọc và không thao tác dữ liệu. Tuy nhiên, chúng tôi sẽ bao gồm nó
như một phần của tiêu chuẩn ANSI lớn hơn. Các lệnh khác, chẳng hạn như CREATE, ALTER và
DROP tuân theo một tiêu chuẩn khác được gọi là Ngôn ngữ Định nghĩa Dữ liệu (DDL)
Bài viết hôm nay sẽ tập trung cụ thể vào INSERT cực kỳ hữu ích,
Các câu lệnh CẬP NHẬT, XÓA và CHỌN

Tuyên bố INSERT

Trước khi chúng ta có thể truy vấn cơ sở dữ liệu để lấy thông tin,
trước tiên chúng ta phải điền vào các bảng. Điều này được thực hiện bằng cách sử dụng INSERT
câu lệnh trong MySQL, vì nó không hỗ trợ lệnh SELECT…INTO DML. Các
Câu lệnh INSERT có hai loại. cái đầu tiên không chỉ định cột
tên nơi dữ liệu sẽ được chèn vào, chỉ các giá trị của chúng;
cả tên cột và giá trị được chèn. Đây là cú pháp cho
mỗi

Hình thức 1

INSERT INTO table_name
VALUES (value1, value2, value3,...)

Mẫu 2

INSERT INTO table_name (column1, column2, column3,...)
VALUES (value1, value2, value3,...)

Hãy sử dụng câu lệnh INSERT để thêm một
hàng tới bảng 'nhân viên' sau

Tôi

shop_id

giới tính

Tên

lương

1

1

m

Jon Simpson

4500

2

1

f

Barbara Breitenmoser

4700

3

2

f

Kirsten Ruegg

5600

4

3

m

Ralph Teller

5100

5

3

m

Peter Jonson

5200

Đây là một số mã để tạo và điền
cái bàn

#
# Table structure for table 'employees'
#
CREATE TABLE "employees" (
"id" int(11) NOT NULL AUTO_INCREMENT,
"shop_id" int(11) DEFAULT NULL,
"gender" enum('m','f') DEFAULT NULL,
"name" varchar(32) DEFAULT NULL,
"salary" int(11) DEFAULT NULL,
PRIMARY KEY ("id")
) AUTO_INCREMENT=6;
#
# Data for table 'employees'
#
INSERT INTO "employees" ("id", "shop_id", "gender", "name", "salary") 
VALUES (1,1,'m','Jon Simpson',4500);
INSERT INTO "employees" ("id", "shop_id", "gender", "name", "salary") 
VALUES (2,1,'f','Barbara Breitenmoser',4700);
INSERT INTO "employees" ("id", "shop_id", "gender", "name", "salary") 
VALUES (3,2,'f','Kirsten Ruegg',5600);
INSERT INTO "employees" ("id", "shop_id", "gender", "name", "salary") 
VALUES (4,3,'m','Ralph Teller',5100);
INSERT INTO "employees" ("id", "shop_id", "gender", "name", "salary") 
VALUES (5,3,'m','Peter Jonson',5200);

Nhập thông tin sau để thêm hàng thứ sáu
đến bàn

MySQL>INSERT INTO employees VALUES (6, 3, 'm', 'Al Bundy', 1000);

Bạn sẽ thấy hàng mới trong bảng

MySQL>SELECT * FROM employees;

Tôi

shop_id

giới tính

Tên

lương

1

1

m

Jon Simpson

4500

2

1

f

Barbara Breitenmoser

4700

3

2

f

Kirsten Ruegg

5600

4

3

m

Ralph Teller

5100

5

3

m

Peter Jonson

5200

6

3

m

Al Bundy

1000

Nếu bạn mắc lỗi, chẳng hạn như bỏ qua
một cột, bạn sẽ nhận được thông báo lỗi

MySQL>INSERT INTO employees VALUES (6, 3, 'm', 'Al Bundy', 1000);
0

Trong ví dụ này của Mẫu 2, 'tên'
cột bị dán nhãn sai – một lỗi phổ biến

MySQL>INSERT INTO employees VALUES (6, 3, 'm', 'Al Bundy', 1000);
1

Câu lệnh CHỌN

Trong tất cả các câu lệnh SQL, SELECT là
có lẽ được biết đến nhiều nhất. Nó cũng là khó khăn nhất để làm chủ vì tất cả các
các biến thể có thể. Câu lệnh SELECT được sử dụng để chọn dữ liệu từ một
cơ sở dữ liệu. Các kết quả truy vấn được trình bày dưới dạng bảng được gọi là
tập kết quả, hoặc tập kết quả. Một số người cũng gọi chúng là bộ bản ghi. Cơ bản
cú pháp đơn giản. Trên thực tế, chúng tôi đã sử dụng nó để hiển thị mới của chúng tôi
hàng trên. Dấu hoa thị (*) là viết tắt của "tất cả các
cột"

MySQL>SELECT * FROM employees;

Bạn cũng có thể đặt tên rõ ràng cho các cột
mà bạn muốn bằng cách liệt kê chúng trong danh sách được phân tách bằng dấu phẩy. Chú ý rằng cột
thứ tự không nhất thiết phải khớp với thứ tự của bảng. Truy vấn sau liệt kê các
lương cho mỗi cửa hàng

MySQL>SELECT salary, shop_id FROM employees;

lương

shop_id

4500

1

4700

1

5600

2

5100

3

5200

3

1000

3

Một vài nhận xét về cú pháp

Một số câu hỏi xuất hiện rất nhiều khi
mọi người bắt đầu viết câu lệnh SQL. Một là liệu dấu chấm phẩy đóng có phải là
bắt buộc. Câu trả lời đơn giản là không phải. Ký tự chấm phẩy là một
kết thúc tuyên bố. Nó là một phần của tiêu chuẩn ANSI SQL-92, nhưng chưa bao giờ
được sử dụng trong Transact-SQL, hương vị SQL phổ biến nhất. Thật vậy, nó đã có thể
để viết mã T-SQL trong nhiều năm mà không bao giờ gặp dấu chấm phẩy. Nếu bạn
chỉ gửi một câu lệnh tới cơ sở dữ liệu, về mặt kỹ thuật, bạn có thể bỏ qua
dấu kết thúc câu lệnh;
bạn cần nó nếu bạn đang gửi nhiều hơn một tuyên bố

Một câu hỏi phổ biến khác là liệu SQL
tuyên bố là trường hợp nhạy cảm. Chà, đừng thắc mắc nữa. Họ không phải. Cũng không
các từ khóa như CHỌN hoặc TỪ có phân biệt chữ hoa chữ thường, cũng như bảng và trường
tên. Phải nói rằng, đó là một cách thực hành tốt để viết hoa các từ khóa
và các trường dữ liệu trong trường hợp phù hợp với định nghĩa của chúng, cho dù đó là
chữ hoa, chữ thường hoặc hỗn hợp

Thu hẹp tập kết quả bằng mệnh đề WHERE

Mệnh đề WHERE có thể được sử dụng để giới hạn
tập kết quả cho các bản ghi khớp với một tiêu chí đã chỉ định. sau đây Ở ĐÂU
điều khoản thu hẹp kết quả trước đây của chúng tôi để chỉ nhân viên nữ

MySQL>INSERT INTO employees VALUES (6, 3, 'm', 'Al Bundy', 1000);
4

lương

shop_id

4700

1

5600

2

Dưới đây là các toán tử cơ bản được hỗ trợ
bởi MySQL

Nhà điều hành

Sự mô tả

=

Bình đẳng

<>

Không công bằng

>

Lớn hơn

<

Ít hơn

>=

Lớn hơn hoặc bằng

<=

Nhỏ hơn hoặc bằng

Tuyên bố CẬP NHẬT

Không giống như câu lệnh INSERT, đó là
được sử dụng để thêm các bản ghi mới, Câu lệnh UPDATE được sử dụng để cập nhật các bản ghi hiện có
bản ghi trong một bảng. Mệnh đề WHERE chỉ định bản ghi hoặc bản ghi nào sẽ
đã được cập nhật. Đừng quên sử dụng nó, nếu không CẬP NHẬT sẽ được áp dụng cho TẤT CẢ
HỒ SƠ. Đây là cú pháp

INSERT INTO table_name (column1, column2, column3,...)
VALUES (value1, value2, value3,...)
0

Chúng ta có thể sử dụng câu lệnh UPDATE để
thay đổi họ của một trong những nhân viên nữ của chúng tôi sau khi kết hôn. Để chỉ định
bản ghi chính xác, tốt nhất nên sử dụng trường id, vì trường này là duy nhất. không sử dụng
Tên thời con gái của Kirsten, vì nó không được đảm bảo là duy nhất. trong một lớn
tổ chức, tên trùng lặp là một mối quan tâm nhất định

INSERT INTO table_name (column1, column2, column3,...)
VALUES (value1, value2, value3,...)
1

Tên đã được thay đổi

MySQL>SELECT * FROM employees;

Tôi

shop_id

giới tính

Tên

lương

1

1

m

Jon Simpson

4500

2

1

f

Barbara Breitenmoser

4700

3

2

f

Kirsten Johnson

5600

4

3

m

Ralph Teller

5100

5

3

m

Peter Jonson

5200

6

3

m

Al Bundy

1000

Tuyên bố XÓA

Câu lệnh DELETE được sử dụng để xóa
hàng trong một bảng. Điều đó đủ dễ nắm bắt, nhưng hãy nhớ rằng xóa
có nghĩa là xóa, như trong "không bao giờ được nhìn thấy nữa". bạn có thể muốn lấy
quan tâm đến việc sử dụng câu lệnh DELETE vì lý do này. Trên thực tế, nơi làm việc của tôi
có chính sách không bao giờ sử dụng câu lệnh DELETE. Chúng tôi sử dụng một chỉ số hoạt động
lĩnh vực cho mục đích đó thay vì. Giống như UPDATE, câu lệnh DELETE sử dụng WHERE
mệnh đề để chỉ định (những) bản ghi nào sẽ ảnh hưởng đến

INSERT INTO table_name (column1, column2, column3,...)
VALUES (value1, value2, value3,...)
3

Lưu ý rằng không có danh sách cột
bởi vì XÓA luôn áp dụng cho toàn bộ hàng chứ không phải từng cột
Để làm được điều đó, bạn phải sử dụng CẬP NHẬT và đặt cột thành NULL

INSERT INTO table_name (column1, column2, column3,...)
VALUES (value1, value2, value3,...)
4

Tôi

shop_id

giới tính

Tên

lương

1

1

m

Jon Simpson

4500

2

1

f

Barbara Breitenmoser

(VÔ GIÁ TRỊ)

3

2

f

Kirsten Johnson

5600

4

3

m

Ralph Teller

5100

5

3

m

Peter Jonson

5200

6

3

m

Al Bundy

1000

Hãy nhớ rằng hoạt động này có thể
thất bại nếu bạn cố gắng đặt một cột không thể rỗng thành NULL. Trong ví dụ sau,
DBA làm việc quá sức đã cố đặt trường id thành NULL, điều này không được khuyến khích

INSERT INTO table_name (column1, column2, column3,...)
VALUES (value1, value2, value3,...)
5

Điều đó bao gồm Thao tác dữ liệu chính
và câu lệnh Truy vấn được hỗ trợ bởi MySQL. Lần tới, chúng ta sẽ tiến gần hơn
xem xét một số biến thể và chi tiết cụ thể của MySQL

Tài nguyên bổ sung

Hướng dẫn tham khảo MySQL

»

Xem tất cả các bài viết của chuyên mục
Rob Gravelle

Thao tác dữ liệu trong MySQL là gì?

DML(Ngôn ngữ thao tác dữ liệu). Danh sách các lệnh DML. CHÈN. Nó dùng để chèn dữ liệu vào bảng . CẬP NHẬT. Nó được sử dụng để cập nhật dữ liệu hiện có trong một bảng. XÓA BỎ. Nó được sử dụng để xóa các bản ghi từ một bảng cơ sở dữ liệu. KHÓA. Bảng điều khiển đồng thời.

3 câu lệnh thao tác dữ liệu là gì?

Các câu lệnh DML chính là. Câu lệnh INSERT Thêm hàng mới vào bảng hoặc dạng xem. Câu lệnh CẬP NHẬT Câu lệnh CẬP NHẬT thay đổi các hàng trong một tập hợp các bảng hoặc dạng xem. Câu lệnh DELETE Câu lệnh DELETE xóa các hàng khỏi một tập hợp các bảng hoặc dạng xem

4 cách thao tác với cơ sở dữ liệu là gì?

Cách thao tác dữ liệu .
Tạo cơ sở dữ liệu từ các nguồn dữ liệu khác nhau
Làm sạch, sắp xếp lại và cơ cấu lại dữ liệu
Nhập và xây dựng cơ sở dữ liệu để làm việc với
Kết hợp, hợp nhất và xóa thông tin dựa trên yêu cầu

Làm thế nào để bạn thao tác một bảng trong MySQL?

Tạo cơ sở dữ liệu
Tạo một bảng trong cơ sở dữ liệu
Chèn dữ liệu vào bảng
Lấy dữ liệu từ bảng
Sửa đổi dữ liệu trong bảng
Xóa dữ liệu khỏi bảng