câu lệnh sql. Truy vấn chọn dữ liệu và CHỌN SQL

Câu lệnh SQL SELECT dành cho các truy vấn để chọn dữ liệu từ cơ sở dữ liệu. Nó có thể được sử dụng mà không cần điều kiện (chọn tất cả các hàng trong tất cả các cột hoặc tất cả các hàng trong một số cột nhất định) hoặc với nhiều điều kiện (chọn các hàng cụ thể) được chỉ định trong mệnh đề WHERE. Hãy làm quen với các công cụ SQL có thể được sử dụng để đặt các điều kiện này cho việc chọn dữ liệu, đồng thời tìm hiểu cách sử dụng câu lệnh SELECT trong truy vấn con.

CHỌN để chọn các cột trong bảng

Một truy vấn có câu lệnh SELECT để chọn tất cả các cột của bảng có cú pháp sau:

CHỌN * TỪ TABLE_NAME

Nghĩa là, để chọn tất cả các cột của bảng, bạn cần đặt dấu hoa thị sau từ CHỌN.

Ví dụ 1. Có cơ sở dữ liệu công ty - Company. Nó chứa một bảng Tổ chức (Cơ cấu công ty) và Nhân viên (Nhân viên). Bạn cần chọn tất cả các cột từ bảng. Truy vấn tương ứng để chọn tất cả các cột từ bảng Org như sau:

CHỌN * TỪ ORG

Truy vấn này sẽ trả về kết quả sau (để phóng to hình ảnh, nhấp chuột trái vào nó):

Truy vấn để chọn tất cả các cột từ bảng Nhân viên trông như sau:

CHỌN * TỪ NHÂN VIÊN

Truy vấn này sẽ trả về như sau:


Để chọn các cột bảng cụ thể, thay vì dấu hoa thị, chúng ta cần liệt kê tên tất cả các cột cần chọn, cách nhau bằng dấu phẩy:

CHỌN SELECTABLE_COLUMNS TỪ TABLE_NAME

Ví dụ 2. Giả sử bạn muốn chọn cột Depnumb và Deptname từ bảng Org, chứa dữ liệu tương ứng về số lượng các phòng ban của công ty và tên của chúng. Truy vấn để có được một mẫu như vậy sẽ như sau:

CHỌN DEPNUMB, DEPTNAME TỪ ORG

Và từ bảng Nhân viên, bạn cần chọn các cột DEPT, NAME, JOB, tương ứng chứa dữ liệu về số phòng ban mà nhân viên làm việc, tên và chức vụ của người đó:

SELECT and ORDER BY - sắp xếp (sắp xếp) các hàng

Các truy vấn SQL SELECT đã thảo luận cho đến nay đều trả về các hàng có thể theo bất kỳ thứ tự nào. Tuy nhiên, bạn thường cần sắp xếp các hàng theo thứ tự số, bảng chữ cái và các tiêu chí khác. Việc này được thực hiện bằng cách sử dụng từ khóa ORDER BY. Những yêu cầu như vậy có cú pháp sau:

Ví dụ 15. Yêu cầu là chọn trong bảng Staff các nhân viên làm việc ở phòng số 84 và sắp xếp (sắp xếp) các bản ghi theo số năm làm việc theo thứ tự tăng dần:

Từ ASC chỉ ra rằng thứ tự sắp xếp tăng dần. Từ này là tùy chọn vì thứ tự sắp xếp tăng dần là mặc định. Kết quả của yêu cầu:


Ví dụ 16. Yêu cầu là chọn dữ liệu giống như trong ví dụ trước nhưng sắp xếp (sắp xếp) các bản ghi theo số năm làm việc theo thứ tự giảm dần.

Ngôn ngữ truy vấn cấu trúc (SQL) được tạo ra do sự phát triển của mô hình dữ liệu quan hệ và hiện là ngôn ngữ tiêu chuẩn trên thực tế cho các DBMS quan hệ. Ngôn ngữ SQL ngày nay được hỗ trợ bởi một số lượng lớn DBMS thuộc nhiều loại khác nhau.

Tên của ngôn ngữ SQL thường được phát âm là "es-qu-el". Đôi khi cái tên dễ nhớ "See-Quel" được sử dụng.

Ngôn ngữ SQL cung cấp cho người dùng (với nỗ lực tối thiểu) các khả năng sau:

Tạo cơ sở dữ liệu và bảng với mô tả đầy đủ về cấu trúc của chúng

Thực hiện các thao tác thao tác dữ liệu cơ bản: chèn, thay đổi, xóa dữ liệu

Chạy cả truy vấn đơn giản và phức tạp.

Ngôn ngữ SQL hoàn chỉnh về mặt quan hệ.

Cấu trúc và cú pháp các lệnh của nó khá đơn giản và bản thân ngôn ngữ là phổ quát, tức là cú pháp và cấu trúc các lệnh của nó không thay đổi khi chuyển từ DBMS này sang DBMS khác.

Ngôn ngữ SQL có hai thành phần chính:

DDL (Ngôn ngữ định nghĩa dữ liệu) để xác định cấu trúc cơ sở dữ liệu và kiểm soát quyền truy cập vào dữ liệu

Ngôn ngữ DML (Ngôn ngữ thao tác dữ liệu) được thiết kế để truy xuất và cập nhật dữ liệu.

SQL là ngôn ngữ phi thủ tục, nghĩa là khi sử dụng nó, bạn phải chỉ định thông tin nào cần lấy chứ không phải cách lấy thông tin đó. Các lệnh SQL là các từ tiếng Anh thông thường (SELECT, INSERT, v.v.). Trước tiên chúng ta hãy xem các câu lệnh SQL DML:

CHỌN - chọn dữ liệu từ cơ sở dữ liệu

INSERT - chèn dữ liệu vào bảng

CẬP NHẬT - cập nhật dữ liệu trong bảng

DELETE - xóa dữ liệu khỏi bảng

câu lệnh CHỌN

Toán tử SELECT thực hiện các hành động tương đương với các phép toán đại số quan hệ sau: lựa chọn, chiếu và nối.

Truy vấn SQL đơn giản nhất sử dụng nó trông như thế này:

CHỌN col_name TỪ tbl

Từ khóa select được theo sau bởi một danh sách các cột được phân tách bằng dấu phẩy có dữ liệu sẽ được truy vấn trả về. Từ khóa from chỉ định dữ liệu được truy xuất từ ​​bảng (hoặc dạng xem) nào.

Kết quả của truy vấn chọn luôn là một bảng được gọi là bảng kết quả. Hơn nữa, kết quả của một truy vấn được thực hiện bằng câu lệnh select có thể được sử dụng để tạo một bảng mới. Nếu kết quả của hai truy vấn trên các bảng khác nhau có cùng định dạng, bạn có thể kết hợp chúng thành một bảng. Ngoài ra, bảng thu được từ một truy vấn có thể là chủ đề của các truy vấn tiếp theo.

Để chọn tất cả các cột và tất cả các hàng của bảng, chỉ cần đưa ra lệnh SELECT * FROM tbl;

Hãy xem xét bảng Sản phẩm, chứa thông tin về giá của nhiều loại sản phẩm khác nhau:

Yêu cầu kết quả

CHỌN * TỪ Sản phẩm;

sẽ là toàn bộ bảng Sản phẩm.

Bạn có thể chọn các cột bảng cụ thể bằng truy vấn

CHỌN col1, col2, …, coln TỪ tbl;

Vì vậy, kết quả của yêu cầu

CHỌN Loại, Giá TỪ Sản phẩm;

sẽ có một cái bàn

Danh sách các cột trong câu lệnh select cũng được sử dụng nếu cần thay đổi thứ tự các cột trong bảng kết quả:

Để chỉ chọn những hàng trong bảng thỏa mãn một số hạn chế nhất định, một từ khóa đặc biệt sẽ được sử dụng, theo sau là một điều kiện logic. Nếu một bản ghi thỏa mãn điều kiện này thì nó sẽ được đưa vào kết quả. Nếu không, mục nhập sẽ bị loại bỏ.

Ví dụ: chọn những sản phẩm đó từ bảng Sản phẩm có giá thỏa mãn điều kiện Giá<3200, можно осуществить, используя запрос

CHỌN * TỪ Sản phẩm nơi Giá<3200;

Kết quả của mình:

Điều kiện có thể phức tạp và được kết hợp bằng cách sử dụng các toán tử logic NOT , AND, OR, XOR, ví dụ: trong đó id_ Price>500 AND Price<3500. Допускается также использование выражений в условии: where Price>(1+1) và hằng chuỗi: trong đó name= "autoweights".

Sử dụng cấu trúc BETWEEN var1 AND var2 cho phép bạn kiểm tra xem giá trị của bất kỳ biểu thức nào có nằm trong phạm vi từ var1 đến var2 hay không (bao gồm các giá trị này):

CHỌN * TỪ Sản phẩm có Giá TỪ 3000 ĐẾN 3500;

Tương tự như toán tử NOT BETWEEN, có toán tử NOT IN.

Tên cột được chỉ định trong mệnh đề SELECT có thể được đổi tên. Đối với điều này, từ khóa AS được sử dụng, tuy nhiên, từ khóa này có thể được bỏ qua vì nó được ngụ ý ngầm. Ví dụ, yêu cầu

CHỌN Loại AS model, Type_id AS num FROM Product trong đó Type_id =3

sẽ trả về (tên bí danh nên được viết không có dấu ngoặc kép):

Toán tử THÍCH được thiết kế để so sánh một chuỗi với một mẫu:

CHỌN * TỪ tbl trong đó col_name THÍCH "abc"

Truy vấn này chỉ trả về những bản ghi chứa giá trị chuỗi abc trong cột col_name.

Mẫu được phép sử dụng hai ký tự đại diện: "_" và "%". Cái đầu tiên trong số chúng thay thế một ký tự tùy ý trong mẫu và cái thứ hai thay thế một chuỗi ký tự tùy ý. Vì vậy, "abc%" khớp với bất kỳ chuỗi nào bắt đầu bằng abc, "abc_" khớp với chuỗi 4 ký tự bắt đầu bằng abc, "%z" khớp với bất kỳ chuỗi nào kết thúc bằng z và cuối cùng, "%z%" - chuỗi ký tự chứa z.

Bạn có thể tìm thấy tất cả các bản ghi của bảng Sản phẩm trong đó giá trị Loại bắt đầu bằng chữ cái "a" như thế này:

CHỌN * TỪ Sản phẩm trong đó Nhập THÍCH "a%";

cân xe tải

Nếu chuỗi tìm kiếm chứa ký tự đại diện thì bạn phải chỉ định ký tự thoát trong mệnh đề ESCAPE. Ký tự điều khiển này phải được sử dụng trong mẫu trước ký tự đại diện, biểu thị rằng ký tự đại diện phải được coi là ký tự thông thường. Ví dụ: nếu bạn tìm kiếm tất cả các giá trị trong một trường chứa ký tự "_", thì mẫu "%_%" sẽ dẫn đến tất cả các bản ghi từ bảng được trả về. Trong trường hợp này, mẫu nên được viết như sau:

"%|_%" THOÁT "|"

Để kiểm tra giá trị tuân thủ chuỗi "20%", bạn có thể sử dụng toán tử sau:

THÍCH "20#%" THOÁT "#"

Toán tử IS NULL cho phép bạn kiểm tra sự vắng mặt (sự hiện diện) của giá trị NULL trong các trường của bảng. Việc sử dụng toán tử so sánh thông thường trong những trường hợp này có thể tạo ra kết quả không chính xác vì so sánh với kết quả NULL trong UNKNOWN. Vì vậy, điều kiện lựa chọn sẽ như thế này:

trong đó col_name LÀ NULL, thay vì nơi col_name=NULL.

Kết quả lựa chọn mặc định trả về các bản ghi theo đúng thứ tự chúng được lưu trữ trong cơ sở dữ liệu. Nếu bạn muốn sắp xếp các bản ghi theo một trong các cột, bạn phải sử dụng mệnh đề ORDER BY, theo sau là tên của cột đó:

CHỌN * TỪ tbl ĐẶT HÀNG THEO col_name;

Truy vấn này sẽ trả về các bản ghi theo thứ tự tăng dần của giá trị thuộc tính col_name.

Bạn cũng có thể sắp xếp các bản ghi theo nhiều cột. Để làm điều này, tên của họ phải được chỉ định sau ORDER BY, phân tách bằng dấu phẩy:

CHỌN * TỪ TBL ĐẶT HÀNG THEO col_name1, col_name2.

Các bản ghi sẽ được sắp xếp theo trường col_name1; nếu có một số bản ghi có giá trị trùng khớp trong cột col_name1 thì chúng sẽ được sắp xếp theo trường col_name2.

Nếu bạn muốn sắp xếp các bản ghi theo thứ tự ngược lại (ví dụ: giảm dần theo ngày), bạn phải chỉ định ORDER BY col_name DESC.

Để sắp xếp trực tiếp, có từ khóa ASC, được chấp nhận làm giá trị mặc định.

Nếu kết quả mẫu chứa hàng trăm hoặc hàng nghìn bản ghi thì việc xuất và xử lý chúng sẽ mất nhiều thời gian.

Do đó, thông tin thường được chia thành các trang và trình bày cho người dùng theo từng phần. Phân trang được sử dụng bằng cách sử dụng từ khóa giới hạn theo sau là số lượng mục cần hiển thị. Truy vấn sau đây truy xuất 10 bản ghi đầu tiên đồng thời sắp xếp ngược trên trường col_name1:

CHỌN * TỪ tbl ĐẶT HÀNG THEO col_name1 GIỚI HẠN MÔ TẢ 10

Để truy xuất 10 bản ghi tiếp theo, hãy sử dụng từ khóa giới hạn với hai giá trị: giá trị đầu tiên chỉ định vị trí mà kết quả sẽ được in và giá trị thứ hai chỉ định số lượng bản ghi cần truy xuất:

CHỌN * TỪ tbl ĐẶT HÀNG THEO col_name1 GIỚI HẠN MÔ TẢ 10,10

Để truy xuất 10 bản ghi tiếp theo, bạn phải sử dụng cấu trúc LIMIT 20, 10.

Ngôn ngữ truy vấn có cấu trúc SQL dựa trên phép tính quan hệ với các bộ biến đổi. Ngôn ngữ SQL được thiết kế để thực hiện các thao tác trên bảng, tạo, xóa, thay đổi cấu trúc và trên dữ liệu bảng, chọn, thay đổi, thêm và xóa cũng như một số thao tác liên quan. SQL là ngôn ngữ phi thủ tục và không chứa các câu lệnh điều khiển để tổ chức các thủ tục, đầu vào, đầu ra, v.v.


Chia sẻ công việc của bạn trên mạng xã hội

Nếu tác phẩm này không phù hợp với bạn, ở cuối trang có danh sách các tác phẩm tương tự. Bạn cũng có thể sử dụng nút tìm kiếm


Ngôn ngữ truy vấn có cấu trúc SQL: lịch sử, tiêu chuẩn,

Toán tử ngôn ngữ cơ bản.

Ngôn ngữ truy vấn có cấu trúc SQL dựa trên phép tính quan hệ với các bộ biến đổi. Ngôn ngữ có một số tiêu chuẩn. Ngôn ngữ SQL được thiết kế để thực hiện các thao tác trên bảng (tạo, xóa, thay đổi cấu trúc) và trên dữ liệu bảng (chọn, sửa đổi, thêm và xóa), cũng như một số thao tác liên quan. SQL là ngôn ngữ phi thủ tục và không chứa các câu lệnh điều khiển, tổ chức chương trình con, đầu vào-đầu ra, v.v. Về vấn đề này, SQL không được sử dụng một cách tự động; nó thường được sử dụng trong môi trường của ngôn ngữ lập trình DBMS tích hợp sẵn (ví dụ: FoxPro DBMS Visual FoxPro, ObjectPAL DBMS Paradox, Visual Basic for Application DBMS Access).

Trong các DBMS hiện đại có giao diện tương tác, bạn có thể tạo truy vấn bằng các công cụ khác, chẳng hạn như QBE. Tuy nhiên, việc sử dụng SQL thường có thể cải thiện hiệu quả xử lý dữ liệu trong cơ sở dữ liệu. Ví dụ: khi chuẩn bị truy vấn trong môi trường Access, bạn có thể di chuyển từ cửa sổ Trình tạo truy vấn (tạo công thức truy vấn mẫu bằng ngôn ngữ QBE) sang cửa sổ có câu lệnh SQL tương đương. Trong một số trường hợp, việc chuẩn bị truy vấn mới bằng cách chỉnh sửa truy vấn hiện có sẽ dễ thực hiện hơn bằng cách thay đổi câu lệnh SQL. Thành phần của các câu lệnh SQL có thể hơi khác nhau trong các DBMS khác nhau. Ngôn ngữ SQL không có các chức năng của một ngôn ngữ phát triển chính thức mà tập trung vào việc truy cập dữ liệu nên được đưa vào các công cụ phát triển chương trình. Trong trường hợp này nó được gọi là SQL nhúng. Tiêu chuẩn ngôn ngữ SQL được hỗ trợ bởi việc triển khai hiện đại của các ngôn ngữ lập trình sau: PL/1, Ada, C, COBOL, Fortran, MUMPS và Pascal.

Ngoài ra, trong các hệ thống phát triển ứng dụng chuyên dụng kiểu client-server, môi trường lập trình thường được bổ sung các công cụ giao tiếp (thiết lập và ngắt kết nối với máy chủ cơ sở dữ liệu, phát hiện và xử lý các lỗi xảy ra trong mạng, v.v.), các công cụ để phát triển giao diện người dùng, công cụ thiết kế và gỡ lỗi Có hai phương pháp chính để sử dụng SQL nhúng: tĩnh và động. Khi sử dụng một ngôn ngữ tĩnh (SQL tĩnh), văn bản chương trình chứa các lệnh gọi đến các hàm ngôn ngữ SQL, được đưa vào mô-đun thực thi sau khi biên dịch.

Những thay đổi trong các hàm được gọi có thể ở cấp độ của các tham số lệnh gọi riêng lẻ bằng cách sử dụng các biến ngôn ngữ lập trình. Khi sử dụng ngôn ngữ động (SQL động), người ta giả định rằng các lệnh gọi đến hàm SQL được xây dựng linh hoạt và việc diễn giải các lệnh gọi này, ví dụ: truy cập dữ liệu từ cơ sở dữ liệu từ xa, trong quá trình thực thi chương trình. Phương thức động thường được sử dụng trong trường hợp ứng dụng không biết trước loại lệnh gọi SQL và nó được xây dựng trong cuộc đối thoại với người dùng. Mục đích chính của ngôn ngữ SQL (cũng như các ngôn ngữ khác để làm việc với cơ sở dữ liệu) là chuẩn bị và thực hiện các truy vấn. Việc truy xuất dữ liệu từ một hoặc nhiều bảng có thể tạo ra một tập hợp các bản ghi được gọi là dạng xem. Một khung nhìn về cơ bản là một bảng được tạo ra từ một truy vấn. Chúng ta có thể nói rằng đó là một loại truy vấn được lưu trữ. Bạn có thể xây dựng nhiều chế độ xem bằng cách sử dụng cùng một bảng. Bản thân khung nhìn được mô tả bằng cách chỉ định mã định danh khung nhìn và yêu cầu phải được thực hiện để có được nó.

Để thuận tiện cho việc làm việc với các khung nhìn, khái niệm con trỏ đã được đưa vào ngôn ngữ SQL. Con trỏ là một loại con trỏ dùng để di chuyển qua các tập hợp bản ghi trong khi xử lý chúng. Mô tả và cách sử dụng con trỏ trong SQL như sau. Trong phần mô tả của chương trình, một biến kiểu con trỏ (CURSOR) được liên kết với một câu lệnh SQL (thường là câu lệnh SELECT). Trong phần thực thi của chương trình, con trỏ được mở (OPEN<имя курсора>), di chuyển con trỏ qua các bản ghi (FETCH<имя курсора>...), tiếp theo là xử lý thích hợp và cuối cùng đóng con trỏ (ĐÓNG<имя курсора>).

Toán tử ngôn ngữ cơ bản

Hãy để chúng tôi mô tả một tập hợp con tối thiểu của ngôn ngữ SQL, dựa trên việc triển khai nó trong giao diện ODBC (Kết nối cơ sở dữ liệu mở) tiêu chuẩn của Microsoft. Các toán tử ngôn ngữ SQL có thể được chia thành hai ngôn ngữ con: Ngôn ngữ định nghĩa dữ liệu (DDL) và Ngôn ngữ thao tác dữ liệu (DML). Các toán tử ngôn ngữ SQL chính được trình bày trong bảng.

Hãy xem xét định dạng và khả năng cơ bản của các toán tử quan trọng nhất, ngoại trừ các toán tử cụ thể được đánh dấu trong bảng bằng ký hiệu “*”. Chúng tôi sẽ bỏ qua các toán hạng và thành phần cú pháp không quan trọng (ví dụ: quy tắc được áp dụng trong nhiều hệ thống lập trình là đặt “;” ở cuối toán tử).

1. Người vận hành tạo một bảngcó định dạng:

TẠO BẢNG<имя таблицы>

(<имя столбца> <тип данных>

[,<имя столбца> <тип данных> ]...)

Các toán hạng bắt buộc của toán tử là tên của bảng đang được tạo và tên của ít nhất một cột (trường) cho biết loại dữ liệu được lưu trữ trong cột này.

Khi tạo bảng, một số quy tắc bổ sung để kiểm soát các giá trị được nhập vào chúng có thể được chỉ định cho từng trường riêng lẻ. Cấu trúc NOT NULL phục vụ chính xác mục đích này và, đối với một cột trong bảng, có nghĩa là một giá trị phải được xác định trong cột đó.

câu lệnh SQL

Xem

Tên

Mục đích

TẠO BẢNG

BÀN THẢ

BẢNG THAY ĐỔI

TẠO CHỈ SỐ

CHỈ SỐ THẢ

TẠO CHẾ ĐỘ XEM

THẢ XEM

LỚN*

THU HỒI*

tạo một bảng

xóa một bảng

thay đổi cấu trúc bảng

tạo chỉ mục

xóa chỉ mục

tạo chế độ xem

xóa chế độ xem

gán đặc quyền

loại bỏ đặc quyền

LỰA CHỌN

CẬP NHẬT

CHÈN

XÓA BỎ

hồ sơ mẫu

thay đổi hồ sơ

chèn bản ghi mới

xóa mục

Nói chung, các DBMS khác nhau có thể sử dụng các loại dữ liệu khác nhau. Giao diện ODBC hỗ trợ các kiểu dữ liệu tiêu chuẩn của riêng nó, ví dụ: các ký tự (SQL_CHAR, SQL_VARCHAR, SQL_LONGVARCHAR), v.v. Khi làm việc với cơ sở dữ liệu của một DBMS nhất định thông qua giao diện ODBC, các kiểu dữ liệu tiêu chuẩn được giao diện hỗ trợ sẽ tự động được chuyển đổi thành các kiểu dữ liệu nguồn và ngược lại. Nếu cần, việc trao đổi dữ liệu giữa chương trình và nguồn dữ liệu có thể được thực hiện mà không cần chuyển đổi định dạng dữ liệu nội bộ của nguồn.

ví dụ 1 . Tạo một bảng.

Giả sử bạn muốn tạo một bảng hàng hóa mô tả hàng hóa có các trường sau: loại loại sản phẩm, mã nhận dạng comp_id của công ty sản xuất, tên sản phẩm và giá thành của sản phẩm. Câu lệnh định nghĩa bảng có thể trông như thế này:

TẠO bảng hàng hóa (loại SQL_CHAR(8) KHÔNG NULL,

comp_id SQL_CHAR(10) KHÔNG NULL, tên SQL_VARCHAR(20),

giá SQL_DECIMAL(8,2)).

2. Người vận hành thay đổi cấu trúc bảngcó định dạng:

BẢNG THAY ĐỔI<имя таблицы>

((THÊM, SỬA ĐỔI, THẢ)<имя столбца> [<тип данных>]

[,(THÊM, SỬA ĐỔI, THẢ)<имя столбца> [<тип данных>]]...)

Thay đổi cấu trúc của bảng có thể bao gồm thêm (ADD), thay đổi (MODIFY) hoặc xóa (DROP) một hoặc nhiều cột trong bảng. Các quy tắc viết câu lệnh ALTER TABLE cũng giống như quy tắc viết câu lệnh CREATE TABLE. Khi xóa một cột, hãy chỉ ra<тип данных>không cần.

3. Người vận hành xóa một bảngcó định dạng:

BÀN THẢ<имя таблицы>

Toán tử cho phép bạn xóa một bảng hiện có. Ví dụ, để xóa một bảng có tên là các mục, chỉ cần viết một câu lệnh như sau: DROP TABLE items.

4. Người vận hành tạo chỉ mụccó định dạng:

TẠO CHỈ SỐ< имя индекса >

TRÊN< имя таблицы >

(<имя столбца>[ASC | MÔ TẢ]

[,<имя столбца>[ASC | DESC]...)

Toán tử cho phép bạn tạo chỉ mục trên một hoặc nhiều cột của một bảng nhất định để tăng tốc độ thực hiện các thao tác truy vấn và tìm kiếm trên bảng. Bạn có thể tạo nhiều chỉ mục trên một bảng. Bằng cách chỉ định tùy chọn UNIQUE tùy chọn, bạn có thể đảm bảo rằng các giá trị trong tất cả các cột được chỉ định trong câu lệnh là duy nhất. Về cơ bản, việc tạo chỉ mục bằng thuộc tính UNIQUE có nghĩa là xác định khóa trong bảng đã tạo trước đó. Khi tạo chỉ mục, bạn có thể đặt các giá trị trong các cột để được tự động sắp xếp theo thứ tự tăng dần ASC (mặc định) hoặc thứ tự giảm dần DESC. Bạn có thể đặt thứ tự sắp xếp khác nhau cho các cột khác nhau.

5. Người vận hành xóa chỉ mụccó định dạng:

CHỈ SỐ THẢ<имя индекса>

Toán tử này cho phép bạn xóa chỉ mục đã tạo trước đó với tên tương ứng. Vì vậy, ví dụ, để hủy chỉ mục main_indx trên bảng emp, việc viết câu lệnh DROP INDEX main_indx là đủ.

6. Người vận hành tạo chế độ xemcó định dạng:

TẠO CHẾ ĐỘ XEM<имя представления>

[(<имя столбца> [,<имя столбца> ]...)]

BẰNG<оператор SELECT>

Toán tử này cho phép bạn tạo chế độ xem. Nếu tên cột không được chỉ định trong dạng xem thì tên cột từ truy vấn được mô tả bằng câu lệnh SELECT tương ứng sẽ được sử dụng.

7. Xóa toán tử biểu diễn có dạng sau:

THẢ XEM<имя представления>

Toán tử cho phép bạn xóa chế độ xem đã tạo trước đó. Lưu ý rằng khi bạn xóa một dạng xem, các bảng tham gia truy vấn sẽ không bị xóa. Việc xóa biểu diễn gerg được thực hiện bằng toán tử có dạng: DROP VIEW repr.

8. Toán tử chọn bản ghi có định dạng:

LỰA CHỌN

< список данных >

TỪ<список таблиц>

... ]

...]

Đây là câu lệnh quan trọng nhất trong tất cả các câu lệnh SQL. Chức năng của nó là rất lớn. Chúng ta hãy nhìn vào những cái chính. Câu lệnh SELECT cho phép bạn chọn và thực hiện các phép tính trên dữ liệu từ một hoặc nhiều bảng. Kết quả của câu lệnh là một bảng phản hồi, có thể có hoặc không có các hàng trùng lặp (DISTINCT). Theo mặc định, tất cả các hàng, kể cả những hàng trùng lặp, đều được đưa vào bảng phản hồi. Lựa chọn dữ liệu bao gồm các bản ghi từ một hoặc nhiều bảng được liệt kê trong danh sách toán hạng TỪ. Danh sách dữ liệu có thể chứa tên của các cột tham gia truy vấn cũng như các biểu thức trên các cột. Trong trường hợp đơn giản nhất, biểu thức có thể chứa tên cột, ký hiệu số học (+, , *, /), hằng số và dấu ngoặc đơn. Nếu một biểu thức được ghi vào danh sách dữ liệu, thì cùng với việc lựa chọn dữ liệu, các phép tính sẽ được thực hiện, kết quả của biểu thức đó sẽ rơi vào một cột (đã tạo) mới của bảng phản hồi. Khi sử dụng tên cột của một số bảng trong danh sách dữ liệu, việc xây dựng biểu mẫu được sử dụng để chỉ ra rằng một cột thuộc về một bảng nhất định:<имя таблицы>.<имя столбца>.

Toán hạng WHERE chỉ định các điều kiện mà các bản ghi trong bảng kết quả phải đáp ứng. Sự biểu lộ<условие выборки>là Boolean. Các phần tử của nó có thể là tên cột, phép so sánh, phép tính số học, kết nối logic (AND, OR, NOT), dấu ngoặc đơn, các hàm đặc biệt THÍCH, NULL, IN, v.v. Toán hạng GROUP BY cho phép bạn chọn các nhóm trong tập hợp các bản ghi kết quả.

9. Người điều hành ghi lại những thay đổicó định dạng:

CẬP NHẬT<имя таблицы>

BỘ<имя столбца> = {<выражение>, VÔ GIÁ TRỊ )

[, BỘ<имя столбца> = {<выражение>, VÔ GIÁ TRỊ)... ]

Việc thực thi câu lệnh UPDATE bao gồm việc thay đổi các giá trị trong các cột của bảng được chỉ định bởi toán hạng SET đối với những bản ghi thỏa mãn điều kiện được chỉ định bởi toán hạng WHERE. Giá trị trường mới trong bản ghi có thể trống (NULL) hoặc được tính theo biểu thức số học. Các quy tắc viết biểu thức số học và logic tương tự như các quy tắc tương ứng cho câu lệnh SELECT.

10. Người điều hành chèn bản ghi mớicó hai loại định dạng:

CHÈN VÀO<имя таблицы>

[(<список столбцов>)]

GIÁ TRỊ (<список значений>)

CHÈN VÀO<имя таблицы>

[(<список столбцов>)]

<предложение SELECT>

Ở định dạng đầu tiên, câu lệnh INSERT được sử dụng để nhập các bản ghi mới với các giá trị được chỉ định vào các cột. Thứ tự liệt kê tên cột phải trùng với thứ tự các giá trị liệt kê trong danh sách toán hạng VALUES. Nếu như<список столбцов>bỏ qua, sau đó vào<списке значений>Tất cả các giá trị phải được liệt kê theo thứ tự các cột trong cấu trúc bảng.Ở định dạng thứ hai, câu lệnh INSERT nhằm mục đích nhập vàomột bảng nhất định gồm các hàng mới được chọn từ một bảng khác vớisử dụng mệnh đề SELECT.

TRANG 1

Các tác phẩm tương tự khác có thể bạn quan tâm.vshm>

16. Tìm hiểu kiến ​​thức cơ bản về ngôn ngữ truy vấn có cấu trúc T-SQL 34,15 KB
Để đạt được mục tiêu này, cần giải quyết các nhiệm vụ sau: tạo truy vấn để lựa chọn từ một số bảng bằng ngôn ngữ SQL sử dụng các tiêu chí lựa chọn được chỉ định; tạo một truy vấn lựa chọn trong SQL chứa các hàm tổng hợp tĩnh; tạo một truy vấn kết hợp kết quả của hai hoặc nhiều truy vấn thành một tập hợp kết quả bằng lệnh UNION. Kết quả khi hoàn thành bài, học sinh cần biết: các loại lệnh SQL; các lệnh SQL cơ bản được sử dụng để xây dựng truy vấn; nguyên tắc tạo truy vấn SQL...
6030. NGÔN NGỮ LÀ MỘT HIỆN TƯỢNG PHÁT TRIỂN. NHỮNG YẾU TỐ BÊN NGOÀI VÀ BÊN TRONG CỦA PHÁT TRIỂN NGÔN NGỮ 17,38 KB
Vấn đề về nguồn gốc của ngôn ngữ bao gồm hai câu hỏi. Câu hỏi đầu tiên liên quan đến vấn đề nguồn gốc ngôn ngữ nói chung, ngôn ngữ của con người phát triển như thế nào, con người học nói thứ hai như thế nào với nguồn gốc của từng ngôn ngữ riêng lẻ. Không có bằng chứng nào về thời kỳ này được bảo tồn, do đó, khi nghiên cứu nguồn gốc của ngôn ngữ nói chung, các nhà ngôn ngữ học không chỉ phải làm việc với các sự kiện ngôn ngữ mà còn với dữ liệu từ các ngành khoa học liên quan. Mối quan tâm đến vấn đề nguồn gốc của ngôn ngữ đã nảy sinh từ lâu.
10870. Kết nối liên ngành của khóa học “Tiếng Nga chuyên nghiệp”. Sự chuyển đổi và khác biệt của ngôn ngữ Nga chuyên nghiệp 10,57 KB
Sự biến đổi và sự khác biệt của tiếng Nga chuyên nghiệp 1. Sự biến đổi và sự khác biệt của tiếng Nga chuyên nghiệp. Các chuẩn mực cú pháp được xác định bởi cấu trúc của ngôn ngữ và giống như các chuẩn mực chỉnh hình, từ vựng và hình thái khác, trải qua những thay đổi trong quá trình phát triển ngôn ngữ. Khi nắm vững cú pháp của một ngôn ngữ không phải tiếng mẹ đẻ, sẽ nảy sinh một số khó khăn khi lựa chọn hình thức điều khiển và phối hợp xây dựng câu, sử dụng phân từ, chọn đúng giới từ, v.v.
6929. Lịch sử của ngôn ngữ Delphi 13,01 KB
Delphi là thành phố Hy Lạp nơi nhà tiên tri Delphic sống. Delphi là sự kết hợp của một số công nghệ quan trọng: Trình biên dịch hiệu suất cao cho mã máy Mô hình thành phần hướng đối tượng Xây dựng ứng dụng trực quan và do đó tốc độ cao từ các nguyên mẫu phần mềm Các công cụ có thể mở rộng để xây dựng cơ sở dữ liệu Trình biên dịch thành mã máy Trình biên dịch được tích hợp trong Delphi cung cấp khả năng mở rộng hiệu năng cao cần thiết cho việc xây dựng các ứng dụng trong kiến ​​trúc...
10869. Các khái niệm “ngôn ngữ chuyên nghiệp”, “ngôn ngữ chuyên ngành”, sự khác biệt của chúng. Tiếng Nga chuyên nghiệp: nguồn gốc, chức năng, phạm vi hoạt động (có tính đến đặc thù của chuyên ngành) 9,5 KB
Sự khác biệt của ngôn ngữ. Mỗi chuyên ngành kinh tế, ngoài ngôn ngữ chung của tất cả các nhà kinh tế, còn có ngôn ngữ đặc biệt, chuyên ngành riêng. Các chuyên gia giao tiếp bằng các ngôn ngữ chuyên nghiệp này bằng lời nói và bằng văn bản; những ngôn ngữ chuyên nghiệp này được dạy cho sinh viên; những ngôn ngữ chuyên nghiệp như vậy mô tả hệ thống kiến ​​thức và kỹ năng trong tài liệu tham khảo giáo dục khoa học và các tài liệu khác. Trong hệ thống ngôn ngữ kinh tế, có những vấn đề chung đối với tất cả các ngôn ngữ chuyên môn.
1335. Các mô hình cấu tạo từ cơ bản trong tiếng Anh Mỹ hiện đại 117,01 KB
Sự khác biệt chính giữa tiếng Anh Mỹ và tiếng Anh Anh. Vấn đề xác định vị thế thế giới của tiếng Anh Mỹ. Tiếng Anh Mỹ trong thế giới hiện đại. Đặc điểm từ vựng của tiếng Anh Mỹ.
1936. LỊCH SỬ, CẤU TRÚC VÀ KHÁI NIỆM CƠ BẢN VỀ SINH THÁI HỌC 495,77 KB
Thuật ngữ “sinh thái” được hình thành từ gốc tiếng Hy Lạp “oikos” - ngôi nhà, môi trường trực tiếp của con người và “logo” - khoa học. Do đó, theo nghĩa đen, sinh thái học là khoa học về các sinh vật, bao gồm cả con người, được quan sát trong phạm vi ngôi nhà của chúng, đặc biệt chú ý đến bản chất của mối quan hệ giữa các sinh vật và môi trường của chúng.
17746. Sư phạm mỹ thuật: lịch sử và xu hướng phát triển chính 25,96 KB
Nhiệm vụ của bài thi là xem xét khái niệm sáng tạo nghệ thuật của trẻ, xác định nghiên cứu của các giáo viên, nhà tâm lý học xuất sắc và lịch sử hình thành khả năng sáng tạo nghệ thuật của trẻ. Biểu hiện của sự sáng tạo nghệ thuật có thể là các tác phẩm cá nhân - được thực hiện độc lập hoặc dưới sự hướng dẫn của người lớn, vẽ, làm mẫu, nghệ thuật nói và viết, giai điệu, kịch, khiêu vũ, cũng như hát hợp xướng, biểu diễn sân khấu, nghệ thuật và thủ công, chạm khắc, kịch múa rối, phim vẽ và tiểu thuyết, và...
6285. Báo cáo kiểm soát 103,51 KB
Toán tử vòng lặp Toán tử vòng lặp được sử dụng để tổ chức các phép tính lặp lại. Để tổ chức một vòng lặp, bạn cần một biến gọi là tham số vòng lặp hoặc biến điều khiển vòng lặp. Bất kỳ chu trình nào cũng bao gồm: cài đặt ban đầu hoặc khối khởi tạo tham số chu trình; thân vòng lặp, tức là những câu lệnh được thực thi nhiều lần; khối sửa đổi tham số chu trình; kiểm tra điều kiện để thoát khỏi vòng lặp, có thể được đặt trước phần thân của vòng lặp, sau đó họ nói về một vòng lặp có điều kiện tiên quyết hoặc sau phần thân...
2784. Câu lệnh điều kiện và lựa chọn 16 KB
Toán tử điều kiện If. Vì vậy, bạn đã có thể viết các toán tử gán sau: Koren:=Sqrtxy; Mô-đun:=bsxy. Để thực hiện các bước nhảy có điều kiện như vậy trong ngôn ngữ Pascal, các toán tử If và Else cũng như toán tử nhảy không điều kiện Goto được sử dụng. Chúng ta hãy nhìn vào câu lệnh If.

Tiêu chuẩn ngôn ngữ SQL được thông qua vào năm 1992 và vẫn được sử dụng cho đến ngày nay. Chính điều này đã trở thành tiêu chuẩn cho nhiều người.Tất nhiên, một số nhà sản xuất sử dụng cách giải thích tiêu chuẩn của riêng họ. Nhưng bất kỳ hệ thống nào vẫn có các thành phần chính - câu lệnh SQL.

Giới thiệu

Sử dụng các câu lệnh SQL, các giá trị và bảng được quản lý và thu được để phân tích và hiển thị thêm. Chúng là một tập hợp các từ khóa mà hệ thống hiểu phải làm gì với dữ liệu.

Một số loại câu lệnh SQL được định nghĩa:

  • xác định các đối tượng cơ sở dữ liệu;
  • thao túng các giá trị;
  • bảo vệ và kiểm soát;
  • tham số phiên;
  • thông tin về cơ sở dữ liệu;
  • SQL tĩnh;
  • SQL động.

Câu lệnh SQL để thao tác dữ liệu

CHÈN. Chèn các hàng vào một bảng hiện có. Nó có thể được sử dụng cho một hoặc nhiều giá trị, được xác định bởi một điều kiện nhất định. Ví dụ:

tên bảng (tên cột 1, tên cột 2)

GIÁ TRỊ(giá trị 1, giá trị 2).

Để sử dụng câu lệnh INSERT trên nhiều giá trị, hãy sử dụng cú pháp sau:

tên bảng 1 (tên cột 1, tên cột 2)

CHỌN tên cột 1, tên cột 2

TỪ tên bảng 2

Tên bảng ở đâu 2.tên cột 1>2

Truy vấn này sẽ chọn tất cả dữ liệu từ bảng 2 lớn hơn 2 trong cột 1 và chèn nó vào cột đầu tiên.

CẬP NHẬT. Như tên cho thấy, câu lệnh truy vấn SQL này cập nhật dữ liệu trong bảng hiện có dựa trên một tính năng cụ thể.

CẬP NHẬT tên bảng 1

SET tên cột 2 = "Vasily"

Tên bảng ở đâu 1. tên cột 1 = 1

Cấu trúc này sẽ điền giá trị Vasily vào tất cả các dòng mà nó gặp số 1 ở cột đầu tiên.

Dữ liệu từ bảng. Bạn có thể chỉ định một điều kiện hoặc xóa tất cả các dòng.

XÓA TỪ tên bảng

Tên bảng ở đâu. Tên cột 1 = 1

Truy vấn trên sẽ xóa khỏi cơ sở dữ liệu tất cả dữ liệu có giá trị trong cột đầu tiên. Đây là cách bạn có thể xóa toàn bộ bảng:

câu lệnh CHỌN

Mục đích chính của SELECT là chọn dữ liệu theo các điều kiện nhất định. Kết quả công việc của anh luôn là một bảng mới với dữ liệu đã chọn. Toán tử MS có thể được sử dụng trong nhiều truy vấn khác nhau. Vì vậy, cùng với nó, bạn có thể xem xét các từ khóa liên quan khác.

Để chọn tất cả dữ liệu từ một bảng cụ thể, hãy sử dụng dấu “*”.

TỪ tên bảng 1

Kết quả của truy vấn này sẽ là bản sao chính xác của bảng 1.

Và ở đây, lựa chọn được thực hiện bằng điều kiện WHERE, truy xuất từ ​​bảng 1 tất cả các giá trị lớn hơn 2 trong cột 1.

TỪ tên bảng 1

Tên bảng ở đâu 1. tên cột 1 > 2

Bạn cũng có thể chỉ định trong phần lựa chọn rằng chỉ cần một số cột nhất định.

CHỌN tên bảng 1. tên cột 1

TỪ tên bảng 1

Kết quả của truy vấn này sẽ là tất cả các hàng có giá trị từ cột 1. Sử dụng câu lệnh MS SQL, bạn có thể tạo bảng của riêng mình, thay thế, tính toán và thay thế một số giá trị nhất định một cách nhanh chóng.

tên bảng 1. tên cột 1

tên bảng 1. tên cột 2

tên bảng 1. tên cột 3

tên bảng 1.tên cột 2 * tên bảng 1.tên cột 3 NHƯ SUMMA

TỪ tên bảng 1

Truy vấn có vẻ phức tạp này lấy tất cả các giá trị từ Bảng 1, sau đó tạo các cột EQ và SUMMA mới. Phần đầu tiên chứa dấu “+” và phần thứ hai là tích của dữ liệu từ cột 2 và 3. Kết quả thu được có thể được trình bày dưới dạng bảng để hiểu cách thức hoạt động của nó:

Khi sử dụng câu lệnh SELECT, bạn có thể sắp xếp ngay dữ liệu theo bất kỳ tiêu chí nào. Từ ORDER BY được sử dụng cho việc này.

tên bảng 1. tên cột 1

tên bảng 1. tên cột 2

tên bảng 1. tên cột 3

TỪ tên bảng 1

ĐẶT HÀNG THEO tên cột 2

Bảng kết quả sẽ trông như thế này:

Nghĩa là, tất cả các hàng được đặt theo thứ tự sao cho các giá trị trong cột 2 theo thứ tự tăng dần.

Dữ liệu cũng có thể được lấy từ một số bảng. Để rõ ràng, trước tiên bạn cần tưởng tượng rằng có hai trong số chúng trong cơ sở dữ liệu, đại loại như thế này:

Bảng "Nhân viên"

Bảng "Mức lương"

Bây giờ chúng ta cần kết nối hai bảng này bằng cách nào đó để có được các giá trị chung. Sử dụng các câu lệnh SQL cơ bản, bạn có thể thực hiện việc này như thế này:

Nhân viên.Số

Tên nhân viên

Mức lương.Tỷ lệ

Lương. Tích lũy

TỪ Nhân viên, Tiền lương

WHERE Nhân viên.Number = Mức lương.Number

Ở đây chúng tôi chọn từ hai bảng giá trị khác nhau, được kết hợp theo số. Kết quả sẽ là tập dữ liệu sau:

Tìm hiểu thêm một chút về CHỌN. Sử dụng hàm tổng hợp

Một trong những toán tử chính có thể thực hiện một số phép tính khi tìm nạp. Để làm điều này, anh ta sử dụng một số chức năng và công thức nhất định.

Ví dụ: để lấy số lượng bản ghi từ bảng Nhân viên, bạn cần sử dụng truy vấn:

CHỌN ĐẾM (*) NHƯ N

TỪ Nhân viên

Kết quả là một bảng có một giá trị và một cột.

Bạn có thể chạy một truy vấn như thế này và xem điều gì sẽ xảy ra:

SUM(Tiền lương. Tích lũy) NHƯ SUMMA

MAX(Tiền lương. Tích lũy) AS MAX

MIN(Tiền lương. Tích lũy) NHƯ MIN

AVG(Tiền lương. Tích lũy) NHƯ SRED

TỪ lương

Bảng cuối cùng sẽ như thế này:

Bằng cách này, bạn có thể chọn các giá trị mong muốn từ cơ sở dữ liệu, tính toán các hàm khác nhau một cách nhanh chóng.

Sự thống nhất, sự giao thoa và sự khác biệt

Kết hợp nhiều truy vấn trong SQL

CHỌN Nhân viên.Tên

TỪ Nhân viên

Ở ĐÂU Nhân viên.Số = 1

CHỌN Nhân viên.Tên

TỪ Nhân viên, Tiền lương

Ở ĐÂU Mức lương.Số = 1

Cần lưu ý rằng với sự kết hợp như vậy, các bảng phải tương thích. Tức là có cùng số cột.

Cú pháp câu lệnh SELECT và thứ tự xử lý

Điều đầu tiên SELECT thực hiện là xác định khu vực mà nó sẽ lấy dữ liệu. Từ khóa FROM được sử dụng cho việc này. Nếu nó không được chỉ định chính xác những gì để lựa chọn.

Sau đó mệnh đề SQL WHERE có thể xuất hiện. Với sự trợ giúp của nó, SELECT chạy qua tất cả các hàng của bảng và kiểm tra dữ liệu xem có tuân thủ điều kiện hay không.

Nếu truy vấn chứa GROUP BY thì các giá trị sẽ được nhóm theo các tham số đã chỉ định.

Toán tử để so sánh dữ liệu

Có một số loại. Trong SQL, toán tử so sánh có thể kiểm tra các loại giá trị khác nhau.

    "=". Biểu thị, như bạn có thể đoán, sự bằng nhau của hai biểu thức. Ví dụ: nó đã được sử dụng trong các ví dụ trên - WHERE Lương.Number = 1.

    ">". Thêm dấu hiệu. Nếu giá trị bên trái của biểu thức lớn hơn thì giá trị logic TRUE được trả về và điều kiện được coi là thỏa mãn.

    «<». Знак меньше. Обратный предыдущему оператор.

    Dấu hiệu "<=» и «>=". Nó khác với các toán tử nhiều hơn và ít đơn giản hơn ở chỗ nếu các toán hạng bằng nhau thì điều kiện cũng sẽ đúng.

GIỐNG

Từ khóa này có thể được dịch là “tương tự”. Toán tử THÍCH trong SQL được sử dụng theo cách tương tự - nó thực thi một truy vấn dựa trên mẫu. Nghĩa là, nó cho phép bạn mở rộng việc lựa chọn dữ liệu từ cơ sở dữ liệu bằng cách sử dụng các biểu thức thông thường.

Ví dụ: nhiệm vụ sau đã được đặt: từ cơ sở dữ liệu “Nhân viên” đã biết, lấy tất cả những người có tên kết thúc bằng “I”. Sau đó, truy vấn có thể được viết như thế này:

TỪ Nhân viên

Ở ĐÂU Tên THÍCH `%i`

Dấu phần trăm trong trường hợp này có nghĩa là mặt nạ, nghĩa là bất kỳ ký tự nào và số của chúng. Và bằng chữ “I”, SQL sẽ xác định ký tự cuối cùng phải giống hệt như thế này.

TRƯỜNG HỢP

Câu lệnh SQL Server này là một triển khai của nhiều lựa chọn. Nó gợi nhớ đến cấu trúc switch trong nhiều ngôn ngữ lập trình. Câu lệnh CASE trong SQL thực hiện một hành động dựa trên một số điều kiện.

Ví dụ: bạn cần chọn giá trị tối đa và tối thiểu từ bảng “Mức lương”.

Sau đó, truy vấn có thể được viết như thế này:

TỪ lương

TRƯỜNG HỢP Ở ĐÂU KHI CHỌN MAX(Tích lũy) THÌ Tối đa

KHI CHỌN MIN(Tích lũy) THÌ Tối thiểu

Trong ngữ cảnh này, hệ thống tìm kiếm giá trị tối đa và tối thiểu trong cột Tích lũy. Sau đó, bằng cách sử dụng END, một trường “tổng” sẽ được tạo, trong đó “Tối đa” hoặc “Tối thiểu” sẽ được nhập, tùy thuộc vào kết quả của điều kiện.

Nhân tiện, SQL cũng có dạng CASE nhỏ gọn hơn - COALESCE.

Toán tử định nghĩa dữ liệu

Chế độ xem này cho phép bạn thực hiện nhiều sửa đổi khác nhau đối với các bảng - tạo, xóa, sửa đổi và làm việc với các chỉ mục.

Điều đầu tiên đáng xem xét là TẠO BẢNG. Nó không làm gì khác hơn là tạo một bảng. Nếu bạn chỉ gõ truy vấn CREATE TABLE thì sẽ không có gì xảy ra vì bạn vẫn cần chỉ định một số tham số.

Ví dụ: để tạo bảng “Nhân viên” vốn đã quen thuộc, bạn cần sử dụng các lệnh:

TẠO BẢNG nhân viên

(Số (10) KHÔNG NULL

Tên varchar(50) KHÔNG NULL

Họ varchar(50) KHÔNG NULL)

Trong truy vấn này, tên của các trường và loại của chúng được xác định ngay lập tức trong dấu ngoặc đơn cũng như liệu nó có thể bằng NULL hay không.

BÀN THẢ

Thực hiện một nhiệm vụ đơn giản - xóa bảng đã chỉ định. Có một tham số bổ sung NẾU EXISTS. Nó xử lý lỗi thả nếu bảng bạn đang tìm kiếm không tồn tại. Ví dụ sử dụng:

BỎ BẢNG nhân viên NẾU CÓ.

TẠO CHỈ SỐ

SQL có một hệ thống chỉ mục cho phép bạn tăng tốc độ truy cập dữ liệu. Nói chung, đó là một liên kết trỏ đến một cột cụ thể. Bạn có thể tạo chỉ mục bằng một truy vấn đơn giản:

TẠO CHỈ SỐ tên_chỉ mục

TRÊN tên_bảng(cột_name)

Toán tử này được sử dụng trong T-SQL, Oracle, PL SQL và nhiều công nghệ giải thích khác.

BẢNG THAY ĐỔI

Một nhà điều hành rất chức năng với nhiều tùy chọn. Nói chung, nó thay đổi cấu trúc, định nghĩa và vị trí của các bảng. Toán tử được sử dụng trong Oracle SQL, Postgres và nhiều toán tử khác.

    THÊM VÀO. Thêm một cột vào bảng. Cú pháp của nó như sau: ALTER TABLE tên_bảng THÊM tên cột được lưu trữ_data_type. Có thể có tùy chọn IF NOT EXISTS để khắc phục lỗi nếu cột được tạo đã tồn tại;

    LÀM RƠI. Loại bỏ một cột. Nó cũng có khóa IF EXISTS, nếu không có khóa này sẽ xảy ra lỗi cho biết cột bắt buộc bị thiếu;

    THAY ĐỔI. Dùng để đổi tên trường thành tên được chỉ định. Ví dụ sử dụng: ALTER TABLE table_name CHANGE old_name new_name;

    BIẾN ĐỔI. Lệnh này sẽ giúp bạn thay đổi loại và các thuộc tính bổ sung của một cột nhất định. Và nó được sử dụng như thế này: ALTER TABLE table_name MODIFY cột_name data_type thuộc tính;

TẠO CHẾ ĐỘ XEM

Trong SQL có một thứ gọi là khung nhìn. Tóm lại đây là một loại bảng ảo chứa dữ liệu. Nó được hình thành do kết quả của việc lựa chọn bằng câu lệnh SQL SELECT. Chế độ xem có thể hạn chế quyền truy cập vào cơ sở dữ liệu, ẩn chúng và thay thế tên cột thực.

Quá trình tạo diễn ra bằng một yêu cầu đơn giản:

TẠO tên chế độ xem NHƯ CHỌN TỪ * tên bảng

Việc lấy mẫu có thể xảy ra từ toàn bộ cơ sở dữ liệu hoặc dựa trên một số điều kiện.

Một chút về các chức năng

Các truy vấn SQL thường sử dụng nhiều hàm dựng sẵn khác nhau cho phép bạn tương tác với dữ liệu và chuyển đổi nó một cách nhanh chóng. Cần xem xét chúng vì chúng tạo thành một phần không thể thiếu của ngôn ngữ có cấu trúc.

    ĐẾM. Đếm các bản ghi hoặc hàng trong một bảng cụ thể. Bạn có thể chỉ định tên cột làm tham số, sau đó dữ liệu sẽ được lấy từ đó. CHỌN ĐẾM * TỪ Nhân viên;

    AVG. Chỉ áp dụng cho các cột có dữ liệu số. Kết quả của nó là xác định giá trị trung bình số học của tất cả các giá trị;

    TỐI THIỂU và TỐI ĐA. Những chức năng này đã được sử dụng trong bài viết này. Chúng xác định giá trị tối đa và tối thiểu từ một cột được chỉ định;

    TỔNG. Thật đơn giản - hàm tính tổng các giá trị cột. Chỉ áp dụng cho dữ liệu số. Bằng cách thêm tham số DISTINCT vào truy vấn, chỉ các giá trị duy nhất mới được tính tổng;

    TRÒN. Hàm làm tròn phân số thập phân. Cú pháp sử dụng tên cột và số chữ số thập phân;

    LEN. Một hàm đơn giản tính toán độ dài của các giá trị của cột. Kết quả sẽ là một bảng mới cho biết số lượng ký tự;

    HIỆN NAY. Từ khóa này được sử dụng để tính ngày giờ hiện tại.

Toán tử bổ sung

Nhiều ví dụ về câu lệnh SQL có các từ khóa thực hiện các tác vụ nhỏ nhưng vẫn đơn giản hóa rất nhiều việc truy xuất hoặc thao tác cơ sở dữ liệu.

    BẰNG. Nó được sử dụng khi bạn cần định dạng kết quả một cách trực quan bằng cách gán tên đã chỉ định cho bảng kết quả.

    GIỮA. Một công cụ lấy mẫu rất thuận tiện. Nó chỉ định phạm vi giá trị trong đó dữ liệu sẽ được truy xuất. Lấy thông số đầu vào từ và đến số nào mà phạm vi được sử dụng;.

    KHÔNG. Toán tử đưa ra kết quả ngược lại với biểu thức.

    TRUNCATE. Xóa dữ liệu khỏi phần được chỉ định của cơ sở dữ liệu. Nó khác với các toán tử tương tự ở chỗ không thể khôi phục dữ liệu sau khi sử dụng. Điều đáng lưu ý là việc triển khai từ khóa này theo các cách hiểu SQL khác nhau có thể khác nhau. Do đó, trước khi thử sử dụng TRUNCATE, tốt hơn hết bạn nên đọc thông tin trợ giúp.

    GIỚI HẠN. Đặt số dòng để xuất ra. Điểm đặc biệt của toán tử là nó luôn nằm ở cuối. Chấp nhận một tham số bắt buộc và một tham số tùy chọn. Phần đầu tiên chỉ định số lượng hàng dữ liệu đã chọn sẽ được hiển thị. Và nếu cái thứ hai được sử dụng thì toán tử sẽ hoạt động như đối với một phạm vi giá trị.

    LIÊN HIỆP. Một toán tử rất thuận tiện để kết hợp nhiều truy vấn. Nó đã được tìm thấy trong số các ví dụ về điều này trong bài viết này. Bạn có thể hiển thị các hàng mong muốn từ một số bảng bằng cách kết hợp chúng với UNION để sử dụng thuận tiện hơn. Cú pháp của nó như sau: SELECT tên cột TỪ tên_bảng UNION SELECT other_column_name FROM other_table_name. Kết quả là một bảng tổng hợp với các truy vấn kết hợp.

    KHÓA CHÍNH. Được dịch là “khóa chính”. Trên thực tế, đây chính xác là thuật ngữ được sử dụng trong các tài liệu tham khảo. Nó có nghĩa là một mã định danh hàng duy nhất. Theo quy tắc, nó được sử dụng khi tạo bảng để chỉ ra trường sẽ chứa nó.

    MẶC ĐỊNH. Giống như toán tử trước, nó được sử dụng trong quá trình thực hiện yêu cầu tạo. Nó xác định giá trị mặc định mà trường sẽ được điền khi nó được tạo.

    VÔ GIÁ TRỊ. Những người mới bắt đầu và không chỉ các lập trình viên, khi viết truy vấn, rất thường quên khả năng nhận được giá trị NULL. Kết quả là, một lỗi sẽ xuất hiện trong mã, rất khó để theo dõi trong quá trình gỡ lỗi. Do đó, khi tạo bảng, chọn hoặc tính toán lại các giá trị, bạn cần dừng lại và suy nghĩ xem liệu sự xuất hiện của NULL trong phần truy vấn này có được tính đến hay không.

    Ký ức. Bài viết này cho thấy một số chức năng có thể thực hiện một số nhiệm vụ. Khi phát triển một shell để làm việc với cơ sở dữ liệu, bạn có thể thuê hệ thống quản lý cơ sở dữ liệu thuê ngoài việc tính toán các biểu thức đơn giản. Trong một số trường hợp, điều này mang lại hiệu suất tăng đáng kể.

    Những hạn chế. Nếu bạn chỉ cần lấy hai hàng từ cơ sở dữ liệu có hàng nghìn hàng thì bạn nên sử dụng các toán tử như LIMIT hoặc TOP. Không cần trích xuất dữ liệu bằng ngôn ngữ phát triển shell.

    Hợp chất. Sau khi nhận dữ liệu từ một số bảng, nhiều lập trình viên bắt đầu tập hợp chúng lại bằng bộ nhớ shell. Nhưng tại sao? Rốt cuộc, bạn có thể tạo một yêu cầu trong đó tất cả những điều này sẽ có mặt. Không cần phải viết thêm mã và dự trữ thêm bộ nhớ trong hệ thống.

    Sắp xếp. Nếu có thể áp dụng thứ tự trong một truy vấn, tức là sử dụng DBMS, thì bạn cần phải sử dụng nó. Điều này sẽ cho phép bạn tiết kiệm đáng kể tài nguyên khi chạy một chương trình hoặc dịch vụ.

    Rất nhiều yêu cầu. Nếu bạn phải chèn nhiều bản ghi một cách tuần tự thì để tối ưu hóa, bạn nên nghĩ đến việc chèn dữ liệu hàng loạt với một yêu cầu. Điều này cũng sẽ làm tăng hiệu suất của toàn bộ hệ thống.

    Vị trí sắp xếp dữ liệu một cách chu đáo. Trước khi biên soạn cấu trúc cơ sở dữ liệu, bạn cần suy nghĩ xem có cần thiết phải có nhiều bảng và trường như vậy hay không. Có thể có cách nào đó để kết hợp chúng hoặc loại bỏ một số. Các lập trình viên rất thường xuyên sử dụng quá nhiều dữ liệu mà sẽ không bao giờ được sử dụng ở bất kỳ đâu.

    Các loại. Để tiết kiệm dung lượng và tài nguyên, bạn cần phải nhạy cảm với loại dữ liệu bạn sử dụng. Nếu có thể sử dụng loại nào đó ít “nặng” hơn cho bộ nhớ thì bạn nên sử dụng loại đó. Ví dụ: nếu bạn biết rằng giá trị số trong một trường nhất định sẽ không vượt quá 255 thì tại sao lại sử dụng INT 4 byte nếu có TINYINT 1 byte.

Phần kết luận

Tóm lại, cần lưu ý rằng ngôn ngữ truy vấn có cấu trúc SQL hiện được sử dụng ở hầu hết mọi nơi - trang web, dịch vụ web, chương trình PC, ứng dụng cho thiết bị di động. Do đó, kiến ​​thức về SQL sẽ giúp ích cho tất cả các nhánh phát triển.

Tuy nhiên, những sửa đổi của tiêu chuẩn ngôn ngữ gốc đôi khi khác nhau. Ví dụ: câu lệnh PL SQL có thể có cú pháp khác với cú pháp trong SQL Server. Do đó, trước khi bắt đầu phát triển với công nghệ này, bạn nên đọc các hướng dẫn về nó.

Trong tương lai, các chất tương tự có thể vượt qua SQL về chức năng và hiệu suất khó có thể xuất hiện, vì vậy lĩnh vực này là một lĩnh vực khá hứa hẹn cho bất kỳ lập trình viên nào.

SQL (Ngôn ngữ truy vấn có cấu trúc) là ngôn ngữ máy tính phổ quát được sử dụng để tạo, sửa đổi và quản lý dữ liệu trong cơ sở dữ liệu quan hệ. Ngôn ngữ SQL dựa trên đại số quan hệ và là một tập hợp các toán tử.

Có 4 nhóm nhà khai thác. Hãy xem xét một nhóm các toán tử thao tác dữ liệu (Ngôn ngữ thao tác dữ liệu, DML, DML SQL)

Lựa chọn dữ liệu

Lựa chọn dữ liệu là thao tác phổ biến nhất được thực hiện bằng SQL. Câu lệnh SELECT là một trong những câu lệnh quan trọng nhất trong ngôn ngữ này, được sử dụng để chọn dữ liệu. Cú pháp của toán tử này như sau:

CHỌN cột TỪ bảng

Câu lệnh SELECT phải chứa các từ SELECT và FROM; các từ khóa khác là tùy chọn.

Theo sau từ khóa SELECT là thông tin về trường nào cần đưa vào tập dữ liệu kết quả. Dấu hoa thị (*) biểu thị tất cả các trường của bảng, ví dụ:

Để chọn một cột, hãy sử dụng cú pháp sau:

LỰA CHỌN Công ty

Một ví dụ về việc chọn nhiều cột trông như thế này:

LỰA CHỌN Công ty,Điện thoại,Thư

Để chỉ định tên của các bảng từ đó các bản ghi được chọn, hãy sử dụng từ khóa FROM, ví dụ:

LỰA CHỌN * TỪ Khách hàng

Truy vấn này sẽ trả về tất cả các trường từ bảng Khách hàng.

Bạn có thể sử dụng mệnh đề WHERE (tùy chọn) để lọc kết quả được trả về bởi câu lệnh SELECT

CHỌN * TỪ Sản phẩm Ở ĐÂU Danh mục = 4

Bạn có thể sử dụng nhiều biểu thức khác nhau trong mệnh đề WHERE,

WHERE biểu thức1 [(VÀ | HOẶC) biểu thức2 ...]

Ví dụ:

CHỌN * TỪ Các sản phẩm Ở ĐÂY Danh mục = 2 VÀ Postavshik > 10

CHỌN Tên, Giá TỪ Sản phẩm Ở ĐÂY Danh mục= 3 HOẶC Giá< 50

Bạn có thể sử dụng các toán tử sau:

< Меньше

<= Меньше или равно

<>Không công bằng

> Thêm

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

Mệnh đề ORDER BY (tùy chọn) được sử dụng để sắp xếp tập dữ liệu kết quả theo một hoặc nhiều cột. Từ khóa ASC (tăng dần) hoặc DESC (giảm dần) được sử dụng để xác định thứ tự sắp xếp. Theo mặc định, dữ liệu được sắp xếp theo thứ tự tăng dần.

Sửa đổi dữ liệu

Ngoài việc truy xuất dữ liệu, SQL có thể được sử dụng để cập nhật và xóa dữ liệu, sao chép bản ghi sang các bảng khác và thực hiện các thao tác khác. Dưới đây chúng ta sẽ xem xét các câu lệnh UPDATE, DELETE và INSERT được sử dụng để giải quyết một số vấn đề này.

câu lệnh CẬP NHẬT

Để thay đổi giá trị trong một hoặc nhiều cột của bảng, hãy sử dụng câu lệnh UPDATE. Cú pháp của toán tử này là:

Bảng CẬP NHẬT cột1 = biểu thức1 Tiêu chí WHERE

Biểu thức trong mệnh đề SET có thể là một hằng số hoặc là kết quả của một phép tính. Ví dụ: để tăng giá của tất cả các sản phẩm có giá dưới 10 USD, bạn có thể chạy truy vấn sau:

CẬP NHẬT Giá sản phẩm SET = Giá * 1.1 Giá WHERE< 10

câu lệnh XÓA

Để xóa các hàng khỏi bảng, bạn nên sử dụng toán tử DELETE, cú pháp của nó là:

DELETE FROM table WHERE tiêu chí

Xóa tất cả các sản phẩm có giá dưới 100:

XÓA TỪ SẢN PHẨM Ở ĐÂU Giá< 100

Nhà điều hànhCHÈN

Để thêm bản ghi vào bảng, bạn nên sử dụng câu lệnh INSERT, cú pháp của nó là:

CHÈN VÀO bảng ( VALUES (biểu thức [, ...])

Ví dụ: để thêm một khách hàng mới vào bảng Khách hàng, bạn có thể sử dụng truy vấn sau:

CHÈN VÀO Khách hàng (ID khách hàng, Tên công ty) GIÁ TRỊ ('XYZ', 'XYZ Deli')