Những gì được thiết lập trong MySQL?

MySQL hỗ trợ một vài thao tác Đặt có thể được thực hiện trên dữ liệu trong bảng. Chúng được sử dụng để tạo mối quan hệ có ý nghĩa giữa các bảng hoặc kết quả truy vấn khác nhau để kết hợp và phân tích dữ liệu

Có 3 loại thao tác SET khác nhau

LIÊN HIỆP

Thao tác tập hợp UNION được sử dụng để kết hợp các đầu ra của hai hoặc nhiều câu lệnh CHỌN. Điều này sẽ loại bỏ các bản sao khỏi tập kết quả của nó. Số lượng cột và kiểu dữ liệu phải giống nhau trong cả hai bảng mà thao tác UNION đang được sử dụng

Những gì được thiết lập trong MySQL?

Copy

CÔNG ĐOÀN TẤT CẢ

Hoạt động này tương tự như Union với sự khác biệt duy nhất là nó cũng hiển thị các hàng trùng lặp

Những gì được thiết lập trong MySQL?

Copy

DẤU TRỪ

Hoạt động tập hợp trừ kết hợp kết quả của hai câu lệnh SELECT và chỉ trả về những kết quả trong kết quả cuối cùng, thuộc tập hợp đầu tiên của kết quả

Câu lệnh SET trong MySQL dùng để gán giá trị cho biến. Sử dụng công cụ này, bạn có thể đặt giá trị cho biến do người dùng xác định, biến trong quy trình và biến hệ thống

Sau đây là cú pháp của câu lệnh SET trong MySQL−

SET variable = val1, val2, val3, . . .

variable: {
   user_var_name
   | param_name
   | local_var_name
   | {GLOBAL | @@GLOBAL.} system_var_name
   | {PERSIST | @@PERSIST.} system_var_name
   | {PERSIST_ONLY | @@PERSIST_ONLY.} system_var_name
   | [SESSION | @@SESSION. | @@] system_var_name
}

Đặt giá trị cho các biến do người dùng xác định

Bạn có thể tạo các biến trong phiên MySQL hiện tại và sử dụng chúng trong các truy vấn. Trong khi xác định biến do người dùng xác định, bạn cần đặt '@' trước tên biến

Ví dụ

mysql> SET @name = 'Krishna';
Query OK, 0 rows affected (0.00 sec)

mysql> SET @age = 25;
Query OK, 0 rows affected (0.00 sec)

mysql> SET @phone = 9012345678;
Query OK, 0 rows affected (0.00 sec)

Bạn có thể truy xuất các giá trị của các biến này bằng cách sử dụng câu lệnh SELECT dưới dạng -

mysql> SELECT @name, @age, @phone;
+---------+------+------------+
| @name   | @age | @phone     |
+---------+------+------------+
| Krishna | 25   | 9012345678 |
+---------+------+------------+
1 row in set (0.07 sec)

Đặt giá trị cho biến cục bộ

Bạn có thể xác định các biến có trong các thủ tục được lưu trữ và đặt giá trị cho chúng bằng cách sử dụng câu lệnh SET

Ví dụ

Sau đây là một ví dụ khai báo các biến cục bộ -

DELIMITER //
CREATE PROCEDURE RepeatExample()
BEGIN
   DECLARE val INT;
   DECLARE squares INT;
   DECLARE res VARCHAR(100);
   SET val=1;
   SET squares=1;
   SET res = '';
   REPEAT
      SET squares = val*val;
      SET res = CONCAT(res, squares,',');
      SET val = val + 1;
   UNTIL val >= 10
   END REPEAT;
   SELECT res;
END//
DELIMITER ;

Bạn có thể gọi thủ tục trên như sau -

mysql> CALL RepeatExample;
+--------------------------+
| res                      |
+--------------------------+
| 1,4,9,16,25,36,49,64,81, |
+--------------------------+
1 row in set (0.07 sec)
Query OK, 0 rows affected (0.08 sec)

Đặt giá trị cho các biến hệ thống

Các biến hệ thống MySQL giữ các giá trị cấp độ phiên hoặc toàn cầu, các biến này được sử dụng để định cấu hình các hoạt động khác nhau. Bạn có thể tự động đặt giá trị cho các biến này bằng cách sử dụng câu lệnh SET

Ví dụ

Hãy để chúng tôi xác minh xem tải dữ liệu cục bộ có được bật hay không, nếu không, bạn có thể quan sát giá trị biến local_infile là -

Bộ ký tự của MySQL là tập hợp các ký tự hợp pháp được phép trong một chuỗi. MySQL cung cấp một số bộ ký tự, bạn có thể xem danh sách tất cả các bộ ký tự có sẵn bằng cách sử dụng câu lệnh SHOW CHARACTER SET

mysql> SHOW CHARACTER SET;
+----------+---------------------------------+---------------------+--------+
| Charset  | Description                     | Default collation   | Maxlen |
+----------+---------------------------------+---------------------+--------+
| armscii8 | ARMSCII-8 Armenian              | armscii8_general_ci | 1      |
| ascii    | US ASCII                        | ascii_general_ci    | 1      |
| big5     | Big5 Traditional Chinese        | big5_chinese_ci     | 2      |
| binary   | Binary pseudo charset           | binary              | 1      |
| cp1250   | Windows Central European        | cp1250_general_ci   | 1      |
| cp1251   | Windows Cyrillic                | cp1251_general_ci   | 1      |
| cp1256   | Windows Arabic                  | cp1256_general_ci   | 1      |
| cp1257   | Windows Baltic                  | cp1257_general_ci   | 1      |
| cp850    | DOS West European               | cp850_general_ci    | 1      |
| cp852    | DOS Central European            | cp852_general_ci    | 1      |
| cp866    | DOS Russian                     | cp866_general_ci    | 1      |
| cp932    | SJIS for Windows Japanese       | cp932_japanese_ci   | 2      |
| dec8     | DEC West European               | dec8_swedish_ci     | 1      |
| eucjpms  | UJIS for Windows Japanese       | eucjpms_japanese_ci | 3      |
| euckr    | EUC-KR Korean                   | euckr_korean_ci     | 2      |
| gb18030  | China National Standard GB18030 | gb18030_chinese_ci  | 4      |
| gb2312   | GB2312 Simplified Chinese       | gb2312_chinese_ci   | 2      |
| gbk      | GBK Simplified Chinese          | gbk_chinese_ci      | 2      |
| geostd8  | GEOSTD8 Georgian                | geostd8_general_ci  | 1      |
| greek    | ISO 8859-7 Greek                | greek_general_ci    | 1      |
| hebrew   | ISO 8859-8 Hebrew               | hebrew_general_ci   | 1      |
| hp8      | HP West European                | hp8_english_ci      | 1      |
| keybcs2  | DOS Kamenicky Czech-Slovak      | keybcs2_general_ci  | 1      |
| koi8r    | KOI8-R Relcom Russian           | koi8r_general_ci    | 1      |
| koi8u    | KOI8-U Ukrainian                | koi8u_general_ci    | 1      |
| latin1   | cp1252 West European            | latin1_swedish_ci   | 1      | 
| latin2   | ISO 8859-2 Central European     | latin2_general_ci   | 1      |
| latin5   | ISO 8859-9 Turkish              | latin5_turkish_ci   | 1      |
| latin7   | ISO 8859-13 Baltic              | latin7_general_ci   | 1      |
| macce    | Mac Central European            | macce_general_ci    | 1      |
| macroman | Mac West European               | macroman_general_ci | 1      |
| sjis     | Shift-JIS Japanese              | sjis_japanese_ci    | 2      |
| swe7     | 7bit Swedish                    | swe7_swedish_ci     | 1      |
| tis620   | TIS620 Thai                     | tis620_thai_ci      | 1      |
| ucs2     | UCS-2 Unicode                   | ucs2_general_ci     | 2      |
| ujis     | EUC-JP Japanese                 | ujis_japanese_ci    | 3      |
| utf16    | UTF-16 Unicode                  | utf16_general_ci    | 4      |
| utf16le  | UTF-16LE Unicode                | utf16le_general_ci  | 4      |
| utf32    | UTF-32 Unicode                  | utf32_general_ci    | 4      |
| utf8     | UTF-8 Unicode                   | utf8_general_ci     | 3      |
| utf8mb4  | UTF-8 Unicode                   | utf8mb4_0900_ai_ci  | 4      |
+----------+---------------------------------+---------------------+--------+
41 rows in set (0.08 sec)

Bạn có thể lấy tên của bộ ký tự mặc định bằng truy vấn sau -

________số 8

Câu lệnh SET NAMES

Câu lệnh SET NAMES của MySQL được sử dụng để đặt giá trị cho các biến hệ thống phiên character_set_client, character_set_connection và character_set_results

cú pháp

Sau đây là cú pháp của Câu lệnh SET NAMES của MySQL -

SET NAMES {'charset_name'
[COLLATE 'collation_name'] | DEFAULT}

Trong đó, 'charset_name' là tên của bộ ký tự

Ví dụ

Truy vấn sau đặt giá trị cho các biến character_set_client, character_set_connection và character_set_results thành 'utf8'. -

Copy
0

xác minh

Bạn có thể xác minh giá trị hiện tại của các biến character_set_client và character_set_results bằng cách sử dụng câu lệnh hiển thị các biến như hình dưới đây -

Copy
1

Điều khoản đối chiếu

Đối chiếu MySQL là một bộ quy tắc để xác minh/so sánh từng ký tự của một bộ ký tự. Mỗi bộ ký tự có ít nhất một đối chiếu (có thể có nhiều hơn) và một đối chiếu mặc định. Không có bộ hai ký tự nào có thể có cùng đối chiếu. Câu lệnh SHOW CHARACTER SET. cung cấp đối chiếu mặc định cho mọi bộ ký tự

Bạn có thể chỉ định rõ ràng một đối chiếu cho một bộ ký tự, sử dụng mệnh đề COLLATE

Ví dụ

Truy vấn sau đặt đối chiếu của bộ ký tự thành ascii_bin -

Copy
2

Bạn có thể lấy tất cả các đối chiếu được phép cho một bộ ký tự bằng cách sử dụng câu lệnh SHOW COLLATION như sau -

Tập dữ liệu trong SQL là gì?

Tập dữ liệu là ảnh chụp nhanh tất cả thông tin trong cơ sở dữ liệu tại một thời điểm nhất định . Dữ liệu trong tập dữ liệu được phân đoạn tiếp theo thành các cấu trúc được gọi là bảng. Một bảng chứa thông tin đi cùng nhau. Ví dụ: tất cả những người trong sổ địa chỉ có thể vào một bảng có tên là Danh bạ.

Khi nào sử dụng bộ trong SQL?

Sử dụng câu lệnh SET để gán một giá trị không phải là NULL cho một biến đã khai báo . Câu lệnh SET gán một giá trị cho biến trả về một giá trị duy nhất. Khi bạn khởi tạo nhiều biến, hãy sử dụng câu lệnh SET riêng cho từng biến cục bộ.

ENUM là gì và được thiết lập trong MySQL?

Đối với ENUM , giá trị được chèn là thành viên lỗi ( 0 ). Đối với SET , giá trị được chèn như đã cho ngoại trừ mọi chuỗi con không hợp lệ đều bị xóa . Ví dụ: 'a,x,b,y' dẫn đến giá trị là 'a,b'. PDF (Mỹ Ltr) - 42. 4Mb.

Làm cách nào để đặt giá trị trong MySQL?

CẬP NHẬT MySQL .
Đầu tiên bạn chỉ định tên bảng muốn cập nhật dữ liệu sau từ khóa UPDATE
Thứ hai, chỉ định cột nào bạn muốn cập nhật và giá trị mới trong mệnh đề SET. .
Thứ ba, chỉ định những hàng nào sẽ được cập nhật bằng điều kiện trong mệnh đề WHERE