Hướng dẫn mysql datasheet - biểu dữ liệu mysql
Show Bao gồm cả MySQL NDB Cụm 8.0trừu tượng Đây là hướng dẫn tham khảo MySQL. Nó ghi lại MySQL 8.0 đến 8.0.32, cũng như các bản phát hành cụm NDB dựa trên phiên bản 8.0 của 5 đến 8.0.32-NDB-8.0.32, tương ứng. Nó có thể bao gồm tài liệu về các tính năng của các phiên bản MySQL chưa được phát hành. Để biết thông tin về phiên bản nào đã được phát hành, hãy xem Ghi chú phát hành MySQL 8.0.Các tính năng MySQL 8.0. & NBSP; Hướng dẫn này mô tả các tính năng không được bao gồm trong mỗi phiên bản của MySQL 8.0; Các tính năng như vậy có thể không được bao gồm trong phiên bản của MySQL 8.0 được cấp phép cho bạn. Nếu bạn có bất kỳ câu hỏi nào về các tính năng được bao gồm trong phiên bản MySQL 8.0 của bạn, hãy tham khảo Thỏa thuận cấp phép MySQL 8.0 của bạn hoặc liên hệ với Đại diện Bán hàng Oracle của bạn. This manual describes features that are not included in every edition of MySQL 8.0; such features may not be included in the edition of MySQL 8.0 licensed to you. If you have any questions about the features included in your edition of MySQL 8.0, refer to your MySQL 8.0 license agreement or contact your Oracle sales representative. Để ghi chú chi tiết các thay đổi trong mỗi bản phát hành, hãy xem Ghi chú phát hành MySQL 8.0. Để biết thông tin pháp lý, bao gồm thông tin cấp phép, hãy xem lời nói đầu và thông báo pháp lý. Để được giúp đỡ trong việc sử dụng MySQL, vui lòng truy cập diễn đàn MySQL, nơi bạn có thể thảo luận về các vấn đề của mình với người dùng MySQL khác. Tài liệu được tạo vào ngày: 2022-10-21 (Sửa đổi: 74377) Bao gồm cụm MySQL NDB 7.5 và NDB 7.6trừu tượng Đây là hướng dẫn tham khảo MySQL. Nó ghi lại MySQL 5.7 đến 5.7,41, cũng như các bản phát hành cụm NDB dựa trên phiên bản 7.5 của 5 đến 5.7.40-NDB-7.5.29, tương ứng. Nó có thể bao gồm tài liệu về các tính năng của các phiên bản MySQL chưa được phát hành. Để biết thông tin về phiên bản nào đã được phát hành, hãy xem Ghi chú phát hành MySQL 5.7.Các tính năng MySQL 5.7. & NBSP; Hướng dẫn này mô tả các tính năng không được bao gồm trong mỗi phiên bản của MySQL 5.7; Các tính năng như vậy có thể không được bao gồm trong phiên bản MySQL 5.7 được cấp phép cho bạn. Nếu bạn có bất kỳ câu hỏi nào về các tính năng có trong phiên bản MySQL 5.7 của bạn, hãy tham khảo Thỏa thuận cấp phép MySQL 5.7 của bạn hoặc liên hệ với Đại diện Bán hàng Oracle của bạn. This manual describes features that are not included in every edition of MySQL 5.7; such features may not be included in the edition of MySQL 5.7 licensed to you. If you have any questions about the features included in your edition of MySQL 5.7, refer to your MySQL 5.7 license agreement or contact your Oracle sales representative. Để ghi chú chi tiết các thay đổi trong mỗi bản phát hành, hãy xem Ghi chú phát hành MySQL 5.7. Để biết thông tin pháp lý, bao gồm thông tin cấp phép, hãy xem lời nói đầu và thông báo pháp lý. Để được giúp đỡ trong việc sử dụng MySQL, vui lòng truy cập diễn đàn MySQL, nơi bạn có thể thảo luận về các vấn đề của mình với người dùng MySQL khác. Tài liệu được tạo vào ngày: 2022-10-20 (Sửa đổi: 74374) trừu tượng Đây là hướng dẫn tham khảo Workbench MySQL. Nó tài liệu cho cộng đồng MySQL Workbench và MySQL Workbench phát hành thương mại cho các phiên bản 8.0 đến 8.0.31. Nếu bạn chưa cài đặt bản phát hành cộng đồng MySQL Workbench, vui lòng tải xuống bản sao miễn phí của bạn từ trang web tải xuống. Bản phát hành cộng đồng MySQL Workbench có sẵn cho Microsoft Windows, MacOS và Linux. Nền tảng Workbench MySQL phát triển theo thời gian. Để biết thông tin hỗ trợ nền tảng mới nhất, xem https://www.mysql.com/support/supportedplatforms/workbench.html. Để ghi chú chi tiết các thay đổi trong mỗi bản phát hành, hãy xem Ghi chú phát hành Workbench MySQL. Để biết thông tin pháp lý, bao gồm thông tin cấp phép, hãy xem lời nói đầu và thông báo pháp lý. Để được giúp đỡ trong việc sử dụng MySQL, vui lòng truy cập diễn đàn MySQL, nơi bạn có thể thảo luận về các vấn đề của mình với người dùng MySQL khác. Tài liệu được tạo vào ngày: 2022-10-13 (Sửa đổi: 74334) 13.1.20 & nbsp; Tạo câu lệnh bảng
7 Tạo một bảng với tên đã cho. Bạn phải có đặc quyền 8 cho bảng.Theo mặc định, các bảng được tạo trong cơ sở dữ liệu mặc định, sử dụng công cụ lưu trữ 9. Xảy ra lỗi nếu bảng tồn tại, nếu không có cơ sở dữ liệu mặc định hoặc nếu cơ sở dữ liệu không tồn tại.MySQL không có giới hạn về số lượng bảng. Hệ thống tệp cơ bản có thể có giới hạn về số lượng tệp đại diện cho các bảng. Động cơ lưu trữ cá nhân có thể áp đặt các ràng buộc cụ thể của động cơ. 9 cho phép lên tới 4 tỷ bảng.Để biết thông tin về biểu diễn vật lý của bảng, xem Phần & NBSP; 13.1.20.1, các tệp được tạo bởi Tạo bảng. Có một số khía cạnh của câu lệnh 1, được mô tả theo các chủ đề sau trong phần này:
Tên bảng
Bảng tạm thờiBạn có thể sử dụng từ khóa 8 khi tạo bảng. Một bảng 8 chỉ hiển thị trong phiên hiện tại và tự động bị hủy khi phiên được đóng. Để biết thêm thông tin, xem Phần & NBSP; 13.1.20.2, Tạo Tuyên bố bảng tạm thời.Nhân bản bảng và sao chép
CREATE TABLE test (blob_col BLOB, INDEX(blob_col(10))); |
Công cụ lưu trữ | Sự mô tả |
---|---|
9 | Bảng an toàn giao dịch với khóa hàng và khóa nước ngoài. Công cụ lưu trữ mặc định cho các bảng mới. Xem Chương & NBSP; 15, Công cụ lưu trữ Innodb và đặc biệt là Phần & NBSP; 15.1, Giới thiệu về Innodb, nếu bạn có kinh nghiệm MySQL nhưng mới đến 9. |
5 | Công cụ lưu trữ di động nhị phân chủ yếu được sử dụng cho khối lượng công việc chỉ đọc hoặc đọc nhiều nhất. Xem Phần & NBSP; 16.2, Công cụ lưu trữ Myisam. |
7 | Dữ liệu cho công cụ lưu trữ này chỉ được lưu trữ trong bộ nhớ. Xem Phần & NBSP; 16.3, Công cụ lưu trữ bộ nhớ. |
65 | Các bảng lưu trữ các hàng ở định dạng giá trị được phân tách bằng dấu phẩy. Xem Phần & NBSP; 16.4, Công cụ lưu trữ CSV. |
66 | Các công cụ lưu trữ lưu trữ. Xem Phần & NBSP; 16.5, Công cụ lưu trữ lưu trữ. |
67 | Một động cơ ví dụ. Xem Phần & NBSP; 16.9, Từ The Vication Storage Engine. |
68 | Công cụ lưu trữ truy cập vào bảng từ xa. Xem Phần & NBSP; 16.8, Động cơ lưu trữ được liên kết. |
69 | Đây là một từ đồng nghĩa với 7. |
71 | Một bộ sưu tập các bảng 5 được sử dụng làm một bảng. Còn được gọi là 73. Xem Phần & NBSP; 16.7, Công cụ lưu trữ hợp nhất. |
5 | Các bảng được phân cụm, chịu lỗi, dựa trên bộ nhớ, các giao dịch hỗ trợ và khóa nước ngoài. Còn được gọi là 75. Xem Chương & NBSP; 23, MySQL NDB Cụm 8.0. |
Theo mặc định, nếu một công cụ lưu trữ được chỉ định không có sẵn, câu lệnh không có lỗi. Bạn có thể ghi đè hành vi này bằng cách xóa
CREATE TABLE t (c CHAR(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin);
76 khỏi chế độ SQL máy chủ (xem Phần & NBSP; 5.1.11, chế độ SQL Server SQL) để MySQL cho phép thay thế công cụ được chỉ định bằng công cụ lưu trữ mặc định thay thế. Thông thường trong các trường hợp như vậy, đây là CREATE TABLE new_tbl AS SELECT * FROM orig_tbl;
9, là giá trị mặc định cho biến hệ thống CREATE TABLE t (c CHAR(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin);
78. Khi CREATE TABLE t (c CHAR(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin);
76 bị vô hiệu hóa, một cảnh báo xảy ra nếu thông số kỹ thuật của công cụ lưu trữ không được tôn vinh.
CREATE TABLE t (c CHAR(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin);
80Xác định số lượng mà
CREATE TABLE new_tbl AS SELECT * FROM orig_tbl;
9 mở rộng kích thước của không gian bảng khi nó trở nên đầy đủ. Được giới thiệu trong MySQL 8.0,23. Cài đặt phải là bội số của 4MB. Cài đặt mặc định là 0, khiến cho không gian bảng được mở rộng theo hành vi mặc định ngầm. Để biết thêm thông tin, xem Phần & NBSP; 15.6.3.9, Table AutoExtend_Size Cấu hình.
SELECT * FROM tbl_name WHERE auto_col IS NULL
1Giá trị
SELECT * FROM tbl_name WHERE auto_col IS NULL
1 ban đầu cho bảng. Trong MySQL 8.0, điều này hoạt động cho các bảng CREATE TABLE lookup
(id INT, INDEX USING BTREE (id))
ENGINE = MEMORY;
5, CREATE TABLE t1 (
c1 INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
c2 VARCHAR(100),
c3 VARCHAR(100) )
ENGINE=NDB
COMMENT="NDB_TABLE=READ_BACKUP=0,PARTITION_BALANCE=FOR_RP_BY_NODE";
7, CREATE TABLE new_tbl AS SELECT * FROM orig_tbl;
9 và CREATE TABLE t (c CHAR(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin);
66. Để đặt giá trị tự động đầu tiên cho các công cụ không hỗ trợ tùy chọn bảng SELECT * FROM tbl_name WHERE auto_col IS NULL
1, hãy chèn một hàng giả hình với giá trị một giá trị ít hơn giá trị mong muốn sau khi tạo bảng, sau đó xóa hàng giả.“dummy” row with a value one less than the desired value after creating the table, and then delete the dummy row. Đối với các công cụ hỗ trợ tùy chọn bảng
SELECT * FROM tbl_name WHERE auto_col IS NULL
1 trong các câu lệnh CREATE TABLE new_tbl AS SELECT * FROM orig_tbl;
7, bạn cũng có thể sử dụng CREATE TABLE t (c CHAR(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin);
91 auto_increment = CREATE TABLE t (c CHAR(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin);
92 để đặt lại giá trị SELECT * FROM tbl_name WHERE auto_col IS NULL
1. Giá trị không thể được đặt thấp hơn giá trị tối đa hiện tại trong cột.
CREATE TABLE t (c CHAR(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin);
94Một xấp xỉ của chiều dài hàng trung bình cho bảng của bạn. Bạn chỉ cần đặt điều này cho các bảng lớn với các hàng có kích thước thay đổi.
Khi bạn tạo bảng
CREATE TABLE lookup
(id INT, INDEX USING BTREE (id))
ENGINE = MEMORY;
5, MySQL sử dụng sản phẩm của các tùy chọn CREATE TABLE t (c CHAR(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin);
96 và CREATE TABLE t (c CHAR(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin);
94 để quyết định bảng kết quả lớn như thế nào. Nếu bạn không chỉ định tùy chọn, kích thước tối đa cho dữ liệu và tệp chỉ mục CREATE TABLE lookup
(id INT, INDEX USING BTREE (id))
ENGINE = MEMORY;
5 là 256TB theo mặc định. (Nếu hệ điều hành của bạn không hỗ trợ các tệp lớn, kích thước bảng bị hạn chế bởi giới hạn kích thước tệp.) có thể giảm kích thước con trỏ mặc định bằng cách đặt biến hệ thống CREATE TABLE t (c CHAR(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin);
99. . Kích thước bằng cách đặt biến này. Đặt giá trị thành 7 kích thước bảng giấy phép lên tới 65,536TB.
CREATE TABLE test (blob_col BLOB, INDEX(blob_col(10)));
00Chỉ định một bộ ký tự mặc định cho bảng.
CREATE TABLE t1 (c1 INT ENGINE_ATTRIBUTE='{"key":"value"}');
3 là một từ đồng nghĩa với CREATE TABLE test (blob_col BLOB, INDEX(blob_col(10)));
02. Nếu tên bộ ký tự là SELECT * FROM tbl_name WHERE auto_col IS NULL
2, bộ ký tự cơ sở dữ liệu được sử dụng.
CREATE TABLE test (blob_col BLOB, INDEX(blob_col(10)));
04Đặt cái này thành 1 nếu bạn muốn MySQL duy trì tổng kiểm tra trực tiếp cho tất cả các hàng (nghĩa là tổng kiểm tra mà MySQL tự động cập nhật khi bảng thay đổi). Điều này làm cho bảng chậm hơn một chút để cập nhật, nhưng cũng giúp dễ dàng tìm thấy các bảng bị hỏng. Tuyên bố
CREATE TABLE test (blob_col BLOB, INDEX(blob_col(10)));
05 báo cáo tổng kiểm tra. (Chỉ CREATE TABLE lookup
(id INT, INDEX USING BTREE (id))
ENGINE = MEMORY;
5.)
CREATE TABLE test (blob_col BLOB, INDEX(blob_col(10)));
07Chỉ định một đối chiếu mặc định cho bảng.
CREATE TABLE new_tbl LIKE orig_tbl;
40Một nhận xét cho bảng, dài tới 2048 ký tự.
Bạn có thể đặt giá trị
CREATE TABLE new_tbl AS SELECT * FROM orig_tbl;
9 CREATE TABLE t (c CHAR(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin);
13 cho bảng bằng mệnh đề CREATE TABLE test (blob_col BLOB, INDEX(blob_col(10)));
11 CREATE TABLE new_tbl LIKE orig_tbl;
40. Xem Phần & NBSP; 15.8.11, Định cấu hình ngưỡng hợp nhất cho các trang chỉ mục.Cài đặt các tùy chọn ndb_table. & Nbsp; Bảng nhận xét trong một
7 tạo ra bảng CREATE TABLE new_tbl AS SELECT * FROM orig_tbl;
5 hoặc câu lệnh CREATE TABLE new_tbl AS SELECT * FROM orig_tbl;
58 làm thay đổi người ta cũng có thể được sử dụng để chỉ định một đến bốn trong số các tùy chọn CREATE TABLE t (c CHAR(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin);
16 dấu phẩy nếu cần, ngay sau chuỗi CREATE TABLE test (blob_col BLOB, INDEX(blob_col(10)));
21 bắt đầu văn bản nhận xét được trích dẫn. Một tuyên bố ví dụ sử dụng cú pháp này được hiển thị ở đây (văn bản nhấn mạnh): The table comment in
a CREATE TABLE test (blob_col BLOB, INDEX(blob_col(10)));
CREATE TABLE new_tbl AS SELECT * FROM orig_tbl;
7 that creates an CREATE TABLE new_tbl AS SELECT * FROM orig_tbl;
5 table or an CREATE TABLE t (c CHAR(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin);
58 statement which alters one can also be used to specify one to four of the CREATE TABLE test (blob_col BLOB, INDEX(blob_col(10)));
16 options CREATE TABLE test (blob_col BLOB, INDEX(blob_col(10)));
17, CREATE TABLE test (blob_col BLOB, INDEX(blob_col(10)));
18, CREATE TABLE test (blob_col BLOB, INDEX(blob_col(10)));
19, or CREATE TABLE test (blob_col BLOB, INDEX(blob_col(10)));
20 as a set of name-value pairs, separated by commas if need be, immediately following the string CREATE TABLE test (blob_col BLOB, INDEX(blob_col(10)));
21 that begins the quoted comment text. An example statement using this syntax is
shown here (emphasized text): CREATE TABLE t1 (
c1 INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
c2 VARCHAR(100),
c3 VARCHAR(100) )
ENGINE=NDB
COMMENT="NDB_TABLE=READ_BACKUP=0,PARTITION_BALANCE=FOR_RP_BY_NODE";
Không gian không được phép trong chuỗi được trích dẫn. Chuỗi không nhạy cảm trường hợp.
Nhận xét được hiển thị như một phần của đầu ra của
CREATE TABLE test (blob_col BLOB, INDEX(blob_col(10)));
22. Văn bản của bình luận cũng có sẵn dưới dạng cột TABE_COMMENT của bảng Lược đồ thông tin MySQL CREATE TABLE test (blob_col BLOB, INDEX(blob_col(10)));
23.Cú pháp nhận xét này cũng được hỗ trợ với các câu lệnh
CREATE TABLE t (c CHAR(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin);
58 cho các bảng CREATE TABLE new_tbl AS SELECT * FROM orig_tbl;
5. Hãy nhớ rằng một bình luận bảng được sử dụng với CREATE TABLE t (c CHAR(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin);
58 thay thế bất kỳ bình luận hiện có nào mà bảng có thể đã có trước đây.Đặt tùy chọn
CREATE TABLE t (c CHAR(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin);
13 trong các nhận xét bảng không được hỗ trợ cho các bảng CREATE TABLE new_tbl AS SELECT * FROM orig_tbl;
5 (nó bị bỏ qua).Để biết thông tin và ví dụ về cú pháp hoàn chỉnh, xem Phần & NBSP; 13.1.20.12, Cài đặt các tùy chọn bình luận NDB.
CREATE TABLE test (blob_col BLOB, INDEX(blob_col(10)));
29Thuật toán nén được sử dụng để nén cấp trang cho các bảng
CREATE TABLE new_tbl AS SELECT * FROM orig_tbl;
9. Các giá trị được hỗ trợ bao gồm CREATE TABLE test (blob_col BLOB, INDEX(blob_col(10)));
31, CREATE TABLE test (blob_col BLOB, INDEX(blob_col(10)));
32 và CREATE TABLE test (blob_col BLOB, INDEX(blob_col(10)));
33. Thuộc tính CREATE TABLE test (blob_col BLOB, INDEX(blob_col(10)));
29 được giới thiệu với tính năng nén trang trong suốt. Nén trang chỉ được hỗ trợ với các bảng CREATE TABLE new_tbl AS SELECT * FROM orig_tbl;
9 nằm trong các không gian bảng tệp cho mỗi bảng và chỉ có sẵn trên các nền tảng Linux và Windows hỗ trợ các tệp thưa thớt và đục lỗ. Để biết thêm thông tin, xem Phần & NBSP; 15.9.2, nén trang InnoDB.
CREATE TABLE test (blob_col BLOB, INDEX(blob_col(10)));
36Chuỗi kết nối cho bảng
CREATE TABLE t (c CHAR(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin);
68.Ghi chú
Các phiên bản cũ hơn của MySQL đã sử dụng tùy chọn
CREATE TABLE new_tbl LIKE orig_tbl;
40 cho chuỗi kết nối.
CREATE TABLE test (blob_col BLOB, INDEX(blob_col(10)));
39, CREATE TABLE test (blob_col BLOB, INDEX(blob_col(10)));
40Đối với
CREATE TABLE new_tbl AS SELECT * FROM orig_tbl;
9, mệnh đề CREATE TABLE test (blob_col BLOB, INDEX(blob_col(10)));
42 'cho phép tạo các bảng bên ngoài thư mục dữ liệu. Biến CREATE TABLE test (blob_col BLOB, INDEX(blob_col(10)));
43 phải được bật để sử dụng mệnh đề CREATE TABLE test (blob_col BLOB, INDEX(blob_col(10)));
44. Đường dẫn thư mục đầy đủ phải được chỉ định. Kể từ MySQL 8.0.21, thư mục được chỉ định phải được biết là CREATE TABLE new_tbl AS SELECT * FROM orig_tbl;
9. Để biết thêm thông tin, xem Phần & NBSP; 15.6.1.2, Tạo các bảng bên ngoài.Khi tạo bảng
CREATE TABLE lookup
(id INT, INDEX USING BTREE (id))
ENGINE = MEMORY;
5, bạn có thể sử dụng mệnh đề CREATE TABLE test (blob_col BLOB, INDEX(blob_col(10)));
42 ', mệnh đề CREATE TABLE test (blob_col BLOB, INDEX(blob_col(10)));
48' hoặc cả hai. Họ chỉ định vị trí tương ứng để đặt tệp dữ liệu và chỉ mục của bảng CREATE TABLE lookup
(id INT, INDEX USING BTREE (id))
ENGINE = MEMORY;
5. Không giống như các bảng CREATE TABLE new_tbl AS SELECT * FROM orig_tbl;
9, MySQL không tạo các thư mục con tương ứng với tên cơ sở dữ liệu khi tạo bảng CREATE TABLE lookup
(id INT, INDEX USING BTREE (id))
ENGINE = MEMORY;
5 với tùy chọn CREATE TABLE test (blob_col BLOB, INDEX(blob_col(10)));
39 hoặc CREATE TABLE test (blob_col BLOB, INDEX(blob_col(10)));
40. Các tệp được tạo trong thư mục được chỉ định.Bạn phải có đặc quyền
CREATE TABLE test (blob_col BLOB, INDEX(blob_col(10)));
54 để sử dụng tùy chọn bảng CREATE TABLE test (blob_col BLOB, INDEX(blob_col(10)));
39 hoặc CREATE TABLE test (blob_col BLOB, INDEX(blob_col(10)));
56.Quan trọng
Các tùy chọn cấp độ bảng
CREATE TABLE test (blob_col BLOB, INDEX(blob_col(10)));
39 và CREATE TABLE test (blob_col BLOB, INDEX(blob_col(10)));
56 bị bỏ qua cho các bảng được phân vùng. (Lỗi #32091)Các tùy chọn này chỉ hoạt động khi bạn không sử dụng tùy chọn
CREATE TABLE test (blob_col BLOB, INDEX(blob_col(10)));
59. Hệ điều hành của bạn cũng phải có cuộc gọi CREATE TABLE test (blob_col BLOB, INDEX(blob_col(10)));
60 hoạt động, an toàn. Xem Phần & NBSP; 8.12.2.2, Sử dụng các liên kết tượng trưng cho các bảng Myisam trên UNIX, để biết thêm thông tin đầy đủ.Nếu bảng
CREATE TABLE lookup
(id INT, INDEX USING BTREE (id))
ENGINE = MEMORY;
5 được tạo không có tùy chọn CREATE TABLE test (blob_col BLOB, INDEX(blob_col(10)));
39, tệp CREATE TABLE test (blob_col BLOB, INDEX(blob_col(10)));
63 được tạo trong thư mục cơ sở dữ liệu. Theo mặc định, nếu CREATE TABLE lookup
(id INT, INDEX USING BTREE (id))
ENGINE = MEMORY;
5 tìm thấy tệp CREATE TABLE test (blob_col BLOB, INDEX(blob_col(10)));
63 hiện có trong trường hợp này, nó sẽ ghi đè lên nó. Điều tương tự cũng áp dụng cho các tệp CREATE TABLE test (blob_col BLOB, INDEX(blob_col(10)));
66 cho các bảng được tạo không có tùy chọn CREATE TABLE test (blob_col BLOB, INDEX(blob_col(10)));
40. Để ngăn chặn hành vi này, hãy khởi động máy chủ với tùy chọn CREATE TABLE test (blob_col BLOB, INDEX(blob_col(10)));
68, trong trường hợp đó CREATE TABLE lookup
(id INT, INDEX USING BTREE (id))
ENGINE = MEMORY;
5 không ghi đè lên các tệp hiện có và thay vào đó trả về lỗi.Nếu bảng
CREATE TABLE lookup
(id INT, INDEX USING BTREE (id))
ENGINE = MEMORY;
5 được tạo bằng tùy chọn CREATE TABLE test (blob_col BLOB, INDEX(blob_col(10)));
39 hoặc CREATE TABLE test (blob_col BLOB, INDEX(blob_col(10)));
40 và tệp CREATE TABLE test (blob_col BLOB, INDEX(blob_col(10)));
63 hoặc CREATE TABLE test (blob_col BLOB, INDEX(blob_col(10)));
66 hiện có, CREATE TABLE lookup
(id INT, INDEX USING BTREE (id))
ENGINE = MEMORY;
5 luôn trả về lỗi và không ghi đè lên tệp trong thư mục được chỉ định.Quan trọng
Các tùy chọn cấp độ bảng
CREATE TABLE test (blob_col BLOB, INDEX(blob_col(10)));
39 và CREATE TABLE test (blob_col BLOB, INDEX(blob_col(10)));
56 bị bỏ qua cho các bảng được phân vùng. (Lỗi #32091)Các tùy chọn này chỉ hoạt động khi bạn không sử dụng tùy chọn
CREATE TABLE test (blob_col BLOB, INDEX(blob_col(10)));
59. Hệ điều hành của bạn cũng phải có cuộc gọi CREATE TABLE test (blob_col BLOB, INDEX(blob_col(10)));
60 hoạt động, an toàn. Xem Phần & NBSP; 8.12.2.2, Sử dụng các liên kết tượng trưng cho các bảng Myisam trên UNIX, để biết thêm thông tin đầy đủ.Nếu bảng
CREATE TABLE lookup
(id INT, INDEX USING BTREE (id))
ENGINE = MEMORY;
5 được tạo không có tùy chọn CREATE TABLE test (blob_col BLOB, INDEX(blob_col(10)));
39, tệp CREATE TABLE test (blob_col BLOB, INDEX(blob_col(10)));
63 được tạo trong thư mục cơ sở dữ liệu. Theo mặc định, nếu CREATE TABLE lookup
(id INT, INDEX USING BTREE (id))
ENGINE = MEMORY;
5 tìm thấy tệp CREATE TABLE test (blob_col BLOB, INDEX(blob_col(10)));
63 hiện có trong trường hợp này, nó sẽ ghi đè lên nó. Điều tương tự cũng áp dụng cho các tệp CREATE TABLE test (blob_col BLOB, INDEX(blob_col(10)));
66 cho các bảng được tạo không có tùy chọn CREATE TABLE test (blob_col BLOB, INDEX(blob_col(10)));
40. Để ngăn chặn hành vi này, hãy khởi động máy chủ với tùy chọn CREATE TABLE test (blob_col BLOB, INDEX(blob_col(10)));
68, trong trường hợp đó CREATE TABLE lookup
(id INT, INDEX USING BTREE (id))
ENGINE = MEMORY;
5 không ghi đè lên các tệp hiện có và thay vào đó trả về lỗi.Nếu bảng
CREATE TABLE lookup
(id INT, INDEX USING BTREE (id))
ENGINE = MEMORY;
5 được tạo bằng tùy chọn CREATE TABLE test (blob_col BLOB, INDEX(blob_col(10)));
39 hoặc CREATE TABLE test (blob_col BLOB, INDEX(blob_col(10)));
40 và tệp CREATE TABLE test (blob_col BLOB, INDEX(blob_col(10)));
63 hoặc CREATE TABLE test (blob_col BLOB, INDEX(blob_col(10)));
66 hiện có, CREATE TABLE lookup
(id INT, INDEX USING BTREE (id))
ENGINE = MEMORY;
5 luôn trả về lỗi và không ghi đè lên tệp trong thư mục được chỉ định.Bạn không thể sử dụng tên đường dẫn chứa thư mục dữ liệu MySQL với
CREATE TABLE test (blob_col BLOB, INDEX(blob_col(10)));
39 hoặc CREATE TABLE test (blob_col BLOB, INDEX(blob_col(10)));
56. Điều này bao gồm các bảng phân vùng và các phân vùng bảng riêng lẻ. (Xem lỗi #32167.)Kể từ MySQL 8.0.16, bảng kế thừa mã hóa lược đồ mặc định nếu mệnh đề
CREATE TABLE test (blob_col BLOB, INDEX(blob_col(10)));
81 không được chỉ định. Nếu biến CREATE TABLE test (blob_col BLOB, INDEX(blob_col(10)));
87 được bật, đặc quyền CREATE TABLE test (blob_col BLOB, INDEX(blob_col(10)));
88 được yêu cầu để tạo một bảng với cài đặt mệnh đề CREATE TABLE test (blob_col BLOB, INDEX(blob_col(10)));
81 khác với mã hóa lược đồ mặc định. Khi tạo một bảng trong một không gian bảng chung, mã hóa bảng và không gian bảng phải khớp.Kể từ MySQL 8.0.16, việc chỉ định mệnh đề
CREATE TABLE test (blob_col BLOB, INDEX(blob_col(10)));
81 có giá trị khác với CREATE TABLE test (blob_col BLOB, INDEX(blob_col(10)));
91 hoặc CREATE TABLE test (blob_col BLOB, INDEX(blob_col(10)));
92 không được phép khi sử dụng công cụ lưu trữ không hỗ trợ mã hóa. Trước đây, điều khoản đã được chấp nhận.Để biết thêm thông tin, hãy xem Phần & NBSP; 15.13, mã hóa dữ liệu tại InnoDB.
Các tùy chọn
CREATE TABLE new_tbl LIKE orig_tbl;
63 và CREATE TABLE new_tbl LIKE orig_tbl;
64 (có sẵn kể từ MySQL 8.0.21) được sử dụng để chỉ định các thuộc tính bảng cho các công cụ lưu trữ chính và phụ. Các tùy chọn được dành riêng để sử dụng trong tương lai.Các giá trị được phép là một chuỗi theo nghĩa đen chứa một tài liệu
SELECT * FROM tbl_name WHERE auto_col IS NULL
6 hợp lệ hoặc một chuỗi trống (''). Không hợp lệ SELECT * FROM tbl_name WHERE auto_col IS NULL
6 bị từ chối.CREATE TABLE new_tbl LIKE orig_tbl;
0Các giá trị
CREATE TABLE new_tbl LIKE orig_tbl;
63 và CREATE TABLE new_tbl LIKE orig_tbl;
64 có thể được lặp lại mà không có lỗi. Trong trường hợp này, giá trị được chỉ định cuối cùng được sử dụng.Các giá trị
CREATE TABLE new_tbl LIKE orig_tbl;
63 và CREATE TABLE new_tbl LIKE orig_tbl;
64 không được kiểm tra bởi máy chủ, chúng cũng không bị xóa khi công cụ lưu trữ của bảng được thay đổi.
SELECT * FROM tbl_name WHERE auto_col IS NULL
01Nếu bạn muốn chèn dữ liệu vào bảng
CREATE TABLE t (c CHAR(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin);
71, bạn phải chỉ định với SELECT * FROM tbl_name WHERE auto_col IS NULL
01 bảng mà hàng phải được chèn. SELECT * FROM tbl_name WHERE auto_col IS NULL
01 chỉ là một tùy chọn hữu ích cho các bảng CREATE TABLE t (c CHAR(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin);
71. Sử dụng giá trị SELECT * FROM tbl_name WHERE auto_col IS NULL
06 hoặc SELECT * FROM tbl_name WHERE auto_col IS NULL
07 để chèn đi đến bảng đầu tiên hoặc cuối cùng hoặc giá trị SELECT * FROM tbl_name WHERE auto_col IS NULL
08 để ngăn chặn các phần chèn. Xem Phần & NBSP; 16.7, Công cụ lưu trữ hợp nhất.
CREATE TABLE new_tbl AS SELECT * FROM orig_tbl;
97Đối với các bảng
CREATE TABLE lookup
(id INT, INDEX USING BTREE (id))
ENGINE = MEMORY;
5, CREATE TABLE new_tbl AS SELECT * FROM orig_tbl;
97 Tùy chọn chỉ định kích thước tính bằng byte để sử dụng cho các khối khóa chỉ mục. Giá trị được coi là một gợi ý; Một kích thước khác nhau có thể được sử dụng nếu cần thiết. Giá trị CREATE TABLE new_tbl AS SELECT * FROM orig_tbl;
97 được chỉ định cho một định nghĩa chỉ số riêng lẻ ghi đè giá trị cấp bảng CREATE TABLE new_tbl AS SELECT * FROM orig_tbl;
97.Đối với các bảng
CREATE TABLE new_tbl AS SELECT * FROM orig_tbl;
9, CREATE TABLE new_tbl AS SELECT * FROM orig_tbl;
97 chỉ định kích thước trang tính bằng kilobyte để sử dụng cho các bảng CREATE TABLE new_tbl AS SELECT * FROM orig_tbl;
9 nén. Giá trị CREATE TABLE new_tbl AS SELECT * FROM orig_tbl;
97 được coi là một gợi ý; Một kích thước khác nhau có thể được sử dụng bởi CREATE TABLE new_tbl AS SELECT * FROM orig_tbl;
9 nếu cần thiết. CREATE TABLE new_tbl AS SELECT * FROM orig_tbl;
97 chỉ có thể nhỏ hơn hoặc bằng giá trị SELECT * FROM tbl_name WHERE auto_col IS NULL
20. Giá trị 0 biểu thị kích thước trang nén mặc định, là một nửa giá trị SELECT * FROM tbl_name WHERE auto_col IS NULL
20. Tùy thuộc vào SELECT * FROM tbl_name WHERE auto_col IS NULL
20, các giá trị CREATE TABLE new_tbl AS SELECT * FROM orig_tbl;
97 có thể bao gồm 0, 1, 2, 4, 8 và 16. Xem Phần & NBSP; 15.9.1, nén bảng InnoDB để biết thêm thông tin.Oracle khuyến nghị cho phép
SELECT * FROM tbl_name WHERE auto_col IS NULL
24 khi chỉ định CREATE TABLE new_tbl AS SELECT * FROM orig_tbl;
97 cho bảng CREATE TABLE new_tbl AS SELECT * FROM orig_tbl;
9. Khi SELECT * FROM tbl_name WHERE auto_col IS NULL
24 được bật, việc chỉ định giá trị CREATE TABLE new_tbl AS SELECT * FROM orig_tbl;
97 không hợp lệ trả về lỗi. Nếu SELECT * FROM tbl_name WHERE auto_col IS NULL
24 bị vô hiệu hóa, giá trị CREATE TABLE new_tbl AS SELECT * FROM orig_tbl;
97 không hợp lệ dẫn đến cảnh báo và tùy chọn CREATE TABLE new_tbl AS SELECT * FROM orig_tbl;
97 bị bỏ qua.Cột
SELECT * FROM tbl_name WHERE auto_col IS NULL
32 để đáp ứng với SELECT * FROM tbl_name WHERE auto_col IS NULL
33 báo cáo CREATE TABLE new_tbl AS SELECT * FROM orig_tbl;
97 thực tế được sử dụng bởi bảng, cũng như CREATE TABLE test (blob_col BLOB, INDEX(blob_col(10)));
22.
CREATE TABLE new_tbl AS SELECT * FROM orig_tbl;
9 chỉ hỗ trợ CREATE TABLE new_tbl AS SELECT * FROM orig_tbl;
97 ở cấp bảng.
CREATE TABLE new_tbl AS SELECT * FROM orig_tbl;
97 không được hỗ trợ với các giá trị 32kb và 64kb SELECT * FROM tbl_name WHERE auto_col IS NULL
20. CREATE TABLE new_tbl AS SELECT * FROM orig_tbl;
9 Nén bảng không hỗ trợ các kích thước các trang này.
CREATE TABLE new_tbl AS SELECT * FROM orig_tbl;
9 không hỗ trợ tùy chọn CREATE TABLE new_tbl AS SELECT * FROM orig_tbl;
97 khi tạo bảng tạm thời.
CREATE TABLE t (c CHAR(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin);
96Số lượng hàng tối đa bạn dự định lưu trữ trong bảng. Đây không phải là một giới hạn cứng, mà là một gợi ý cho công cụ lưu trữ mà bảng phải có thể lưu trữ ít nhất là nhiều hàng này.
Quan trọng
Việc sử dụng
CREATE TABLE t (c CHAR(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin);
96 với các bảng CREATE TABLE new_tbl AS SELECT * FROM orig_tbl;
5 để kiểm soát số lượng phân vùng bảng bị phản đối. Nó vẫn được hỗ trợ trong các phiên bản sau để tương thích ngược, nhưng có thể loại bỏ trong một bản phát hành trong tương lai. Sử dụng phân vùng_balance thay thế; Xem cài đặt các tùy chọn NDB_TABLE.Công cụ lưu trữ
CREATE TABLE new_tbl AS SELECT * FROM orig_tbl;
5 coi giá trị này là tối đa. Nếu bạn có kế hoạch tạo các bảng cụm NDB rất lớn (chứa hàng triệu hàng), bạn nên sử dụng tùy chọn này để đảm bảo rằng CREATE TABLE new_tbl AS SELECT * FROM orig_tbl;
5 phân bổ đủ số lượng chỉ số trong bảng băm được sử dụng để lưu trữ băm của các khóa chính của bảng bằng cách đặt SELECT * FROM tbl_name WHERE auto_col IS NULL
48, trong đó SELECT * FROM tbl_name WHERE auto_col IS NULL
49 là số lượng hàng mà bạn mong đợi sẽ chèn vào bảng.Giá trị
CREATE TABLE t (c CHAR(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin);
96 tối đa là 4294967295; Các giá trị lớn hơn được cắt ngắn đến giới hạn này.
SELECT * FROM tbl_name WHERE auto_col IS NULL
51Số lượng hàng tối thiểu bạn dự định lưu trữ trong bảng. Công cụ lưu trữ
CREATE TABLE t1 (
c1 INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
c2 VARCHAR(100),
c3 VARCHAR(100) )
ENGINE=NDB
COMMENT="NDB_TABLE=READ_BACKUP=0,PARTITION_BALANCE=FOR_RP_BY_NODE";
7 sử dụng tùy chọn này như một gợi ý về việc sử dụng bộ nhớ.
SELECT * FROM tbl_name WHERE auto_col IS NULL
53Chỉ có hiệu lực với bảng
CREATE TABLE lookup
(id INT, INDEX USING BTREE (id))
ENGINE = MEMORY;
5. Đặt tùy chọn này thành 1 nếu bạn muốn có các chỉ mục nhỏ hơn. Điều này thường làm cho cập nhật chậm hơn và đọc nhanh hơn. Đặt tùy chọn thành 0 vô hiệu hóa tất cả đóng gói các phím. Đặt nó thành SELECT * FROM tbl_name WHERE auto_col IS NULL
2 cho biết công cụ lưu trữ chỉ đóng gói dài SELECT * FROM tbl_name WHERE auto_col IS NULL
7, SELECT * FROM tbl_name WHERE auto_col IS NULL
8, CREATE TABLE t1 (c1 INT ENGINE_ATTRIBUTE='{"key":"value"}');
6 hoặc CREATE TABLE t1 (c1 INT ENGINE_ATTRIBUTE='{"key":"value"}');
7.Nếu bạn không sử dụng
SELECT * FROM tbl_name WHERE auto_col IS NULL
53, mặc định là đóng gói chuỗi, nhưng không phải là số. Nếu bạn sử dụng SELECT * FROM tbl_name WHERE auto_col IS NULL
61, các số cũng được đóng gói.Khi đóng gói các phím số nhị phân, MySQL sử dụng nén tiền tố:
Mỗi khóa cần một byte phụ để cho biết số byte của khóa trước là giống nhau cho khóa tiếp theo.
Con trỏ đến hàng được lưu trữ theo thứ tự đầu tiên trực tiếp sau khóa, để cải thiện nén.
Điều này có nghĩa là nếu bạn có nhiều khóa bằng nhau trên hai hàng liên tiếp, tất cả đều theo các phím giống nhau của các khóa thường chỉ mất hai byte (bao gồm cả con trỏ đến hàng). So sánh điều này với trường hợp thông thường trong đó các phím sau sử dụng
SELECT * FROM tbl_name WHERE auto_col IS NULL
62 (trong đó kích thước con trỏ thường là 4). Ngược lại, bạn chỉ nhận được một lợi ích đáng kể từ nén tiền tố nếu bạn có nhiều số giống nhau. Nếu tất cả các khóa hoàn toàn khác nhau, bạn sẽ sử dụng một byte nhiều hơn cho mỗi khóa, nếu khóa không phải là khóa có thể có giá trị CREATE TABLE t1 (
c1 INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
c2 VARCHAR(100),
c3 VARCHAR(100) )
ENGINE=NDB
COMMENT="NDB_TABLE=READ_BACKUP=0,PARTITION_BALANCE=FOR_RP_BY_NODE";
2. .“same” keys usually only take two bytes (including the pointer to the row). Compare this to the ordinary case where the following keys takes SELECT * FROM tbl_name WHERE auto_col IS NULL
62 (where the pointer size is usually 4). Conversely, you get a significant benefit from prefix
compression only if you have many numbers that are the same. If all keys are totally different, you use one byte more per key, if the key is not a key that can have CREATE TABLE t1 (
c1 INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
c2 VARCHAR(100),
c3 VARCHAR(100) )
ENGINE=NDB
COMMENT="NDB_TABLE=READ_BACKUP=0,PARTITION_BALANCE=FOR_RP_BY_NODE";
2 values. (In this case, the packed key length is stored in the same byte that is used to mark if a key is CREATE TABLE t1 (
c1 INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
c2 VARCHAR(100),
c3 VARCHAR(100) )
ENGINE=NDB
COMMENT="NDB_TABLE=READ_BACKUP=0,PARTITION_BALANCE=FOR_RP_BY_NODE";
2.)
SELECT * FROM tbl_name WHERE auto_col IS NULL
65Tùy chọn này không được sử dụng.
CREATE TABLE new_tbl LIKE orig_tbl;
55Xác định định dạng vật lý trong đó các hàng được lưu trữ.
Khi tạo một bảng có chế độ nghiêm ngặt bị vô hiệu hóa, định dạng hàng mặc định của công cụ lưu trữ được sử dụng nếu định dạng hàng được chỉ định không được hỗ trợ. Định dạng hàng thực tế của bảng được báo cáo trong cột
SELECT * FROM tbl_name WHERE auto_col IS NULL
67 để đáp ứng với SELECT * FROM tbl_name WHERE auto_col IS NULL
68. Cột SELECT * FROM tbl_name WHERE auto_col IS NULL
32 hiển thị định dạng hàng được chỉ định trong câu lệnh CREATE TABLE new_tbl AS SELECT * FROM orig_tbl;
7, cũng như CREATE TABLE test (blob_col BLOB, INDEX(blob_col(10)));
22.Lựa chọn định dạng hàng khác nhau tùy thuộc vào công cụ lưu trữ được sử dụng cho bảng.
Đối với bảng
CREATE TABLE new_tbl AS SELECT * FROM orig_tbl;
9:Định dạng hàng mặc định được xác định bởi
73, có cài đặt mặc định làSELECT * FROM tbl_name WHERE auto_col IS NULL
50. Định dạng hàng mặc định được sử dụng khi tùy chọnCREATE TABLE new_tbl LIKE orig_tbl;
55 không được xác định hoặc khiCREATE TABLE new_tbl LIKE orig_tbl;
76 được sử dụng.SELECT * FROM tbl_name WHERE auto_col IS NULL
Nếu tùy chọn
55 không được xác định hoặc nếuCREATE TABLE new_tbl LIKE orig_tbl;
76 được sử dụng, các hoạt động xây dựng lại bảng cũng âm thầm thay đổi định dạng hàng của bảng thành mặc định được xác định bởiSELECT * FROM tbl_name WHERE auto_col IS NULL
73. Để biết thêm thông tin, xem xác định định dạng hàng của bảng.SELECT * FROM tbl_name WHERE auto_col IS NULL
Để lưu trữ
9 hiệu quả hơn các loại dữ liệu, đặc biệt là các loạiCREATE TABLE new_tbl AS SELECT * FROM orig_tbl;
3, hãy sử dụngSELECT * FROM tbl_name WHERE auto_col IS NULL
50. Xem định dạng hàng động cho các yêu cầu liên quan đến định dạng hàngCREATE TABLE new_tbl LIKE orig_tbl;
50.CREATE TABLE new_tbl LIKE orig_tbl;
Để bật nén cho các bảng
9, chỉ địnhCREATE TABLE new_tbl AS SELECT * FROM orig_tbl;
85. Tùy chọnSELECT * FROM tbl_name WHERE auto_col IS NULL
85 không được hỗ trợ khi tạo các bảng tạm thời. Xem Phần & NBSP; 15.9, Bảng InnoDB và Trang nén trang trên mạng để biết các yêu cầu liên quan đến định dạng hàngSELECT * FROM tbl_name WHERE auto_col IS NULL
75.CREATE TABLE new_tbl AS SELECT * FROM orig_tbl;
Định dạng hàng được sử dụng trong các phiên bản cũ hơn của MySQL vẫn có thể được yêu cầu bằng cách chỉ định định dạng hàng
71.CREATE TABLE new_tbl AS SELECT * FROM orig_tbl;
Khi bạn chỉ định mệnh đề không mặc định
55, hãy xem xét tùy chọn cấu hìnhCREATE TABLE new_tbl LIKE orig_tbl;
24.SELECT * FROM tbl_name WHERE auto_col IS NULL
91 không được hỗ trợ. NếuSELECT * FROM tbl_name WHERE auto_col IS NULL
91 được chỉ định trong khiSELECT * FROM tbl_name WHERE auto_col IS NULL
24 bị vô hiệu hóa,SELECT * FROM tbl_name WHERE auto_col IS NULL
9 sẽ đưa ra cảnh báo và giả địnhCREATE TABLE new_tbl AS SELECT * FROM orig_tbl;
95. NếuSELECT * FROM tbl_name WHERE auto_col IS NULL
91 được chỉ định trong khiSELECT * FROM tbl_name WHERE auto_col IS NULL
24 được bật, đây là mặc định,SELECT * FROM tbl_name WHERE auto_col IS NULL
9 trả về lỗi.CREATE TABLE new_tbl AS SELECT * FROM orig_tbl;
Để biết thêm thông tin về các định dạng hàng
9, xem Phần & NBSP; 15.10, định dạng hàng của InnOdb.CREATE TABLE new_tbl AS SELECT * FROM orig_tbl;
Đối với các bảng
CREATE TABLE lookup
(id INT, INDEX USING BTREE (id))
ENGINE = MEMORY;
5, giá trị tùy chọn có thể là CREATE TABLE new_tbl LIKE orig_tbl;
49 hoặc CREATE TABLE new_tbl LIKE orig_tbl;
50 cho định dạng hàng tĩnh hoặc có độ dài thay đổi. Myisampack đặt loại thành CREATE TABLE new_tbl AS SELECT * FROM orig_tbl;
75. Xem Phần & NBSP; 16.2.3, các định dạng lưu trữ bảng Myisam.myisampack sets the type to CREATE TABLE new_tbl AS SELECT * FROM orig_tbl;
75. See Section 16.2.3, “MyISAM Table Storage Formats”. Đối với các bảng
CREATE TABLE new_tbl AS SELECT * FROM orig_tbl;
5, mặc định CREATE TABLE new_tbl LIKE orig_tbl;
55 là CREATE TABLE new_tbl LIKE orig_tbl;
50.
CREATE TABLE t1 (c1 INT ENGINE_ATTRIBUTE='{"key":"value"}');
07Đây là một tùy chọn bảng sử dụng nội bộ. Nó đã được giới thiệu trong MySQL 8.0,21 để cho phép
CREATE TABLE t1 (c1 INT ENGINE_ATTRIBUTE='{"key":"value"}');
08 được ghi lại dưới dạng một giao dịch nguyên tử duy nhất trong nhật ký nhị phân khi sử dụng sao chép dựa trên hàng với công cụ lưu trữ hỗ trợ DDL nguyên tử. Chỉ các tuyên bố CREATE TABLE t1 (c1 INT ENGINE_ATTRIBUTE='{"key":"value"}');
09, CREATE TABLE t1 (c1 INT ENGINE_ATTRIBUTE='{"key":"value"}');
10 và CREATE TABLE t1 (c1 INT ENGINE_ATTRIBUTE='{"key":"value"}');
11 được cho phép sau CREATE TABLE t1 (c1 INT ENGINE_ATTRIBUTE='{"key":"value"}');
12. Để biết thông tin liên quan, xem Phần & NBSP; 13.1.1, Câu lệnh xác định dữ liệu nguyên tử hỗ trợ.
CREATE TABLE t1 (c1 INT ENGINE_ATTRIBUTE='{"key":"value"}');
13Chỉ định xem có nên tự động tính toán lại số liệu thống kê liên tục cho bảng
CREATE TABLE new_tbl AS SELECT * FROM orig_tbl;
9 hay không. Giá trị SELECT * FROM tbl_name WHERE auto_col IS NULL
2 gây ra cài đặt thống kê liên tục cho bảng được xác định bởi tùy chọn cấu hình CREATE TABLE t1 (c1 INT ENGINE_ATTRIBUTE='{"key":"value"}');
16. Giá trị CREATE TABLE new_tbl LIKE orig_tbl;
20 khiến số liệu thống kê được tính toán lại khi 10% dữ liệu trong bảng đã thay đổi. Giá trị CREATE TABLE new_tbl LIKE orig_tbl;
15 ngăn chặn tính toán lại tự động cho bảng này; Với cài đặt này, hãy đưa ra một tuyên bố CREATE TABLE t1 (c1 INT ENGINE_ATTRIBUTE='{"key":"value"}');
19 để tính toán lại số liệu thống kê sau khi thực hiện những thay đổi đáng kể đối với bảng. Để biết thêm thông tin về tính năng thống kê liên tục, xem Phần & NBSP; 15.8.10.1, Cấu hình các tham số thống kê tối ưu hóa liên tục.
CREATE TABLE t1 (c1 INT ENGINE_ATTRIBUTE='{"key":"value"}');
20Chỉ định xem có cho phép số liệu thống kê liên tục cho bảng
CREATE TABLE new_tbl AS SELECT * FROM orig_tbl;
9 hay không. Giá trị SELECT * FROM tbl_name WHERE auto_col IS NULL
2 gây ra cài đặt thống kê liên tục cho bảng được xác định bởi tùy chọn cấu hình CREATE TABLE t1 (c1 INT ENGINE_ATTRIBUTE='{"key":"value"}');
23. Giá trị CREATE TABLE new_tbl LIKE orig_tbl;
20 cho phép số liệu thống kê liên tục cho bảng, trong khi giá trị CREATE TABLE new_tbl LIKE orig_tbl;
15 tắt tính năng này. Sau khi cho phép các số liệu thống kê liên tục thông qua câu lệnh CREATE TABLE t1 (c1 INT ENGINE_ATTRIBUTE='{"key":"value"}');
26 hoặc CREATE TABLE t (c CHAR(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin);
58, hãy đưa ra câu lệnh CREATE TABLE t1 (c1 INT ENGINE_ATTRIBUTE='{"key":"value"}');
19 để tính toán số liệu thống kê, sau khi tải dữ liệu đại diện vào bảng. Để biết thêm thông tin về tính năng thống kê liên tục, xem Phần & NBSP; 15.8.10.1, Cấu hình các tham số thống kê tối ưu hóa liên tục.
CREATE TABLE t1 (c1 INT ENGINE_ATTRIBUTE='{"key":"value"}');
29Số lượng trang chỉ mục để lấy mẫu khi ước tính tính toán và các số liệu thống kê khác cho một cột được lập chỉ mục, chẳng hạn như các trang được tính bằng
CREATE TABLE t1 (c1 INT ENGINE_ATTRIBUTE='{"key":"value"}');
30. Để biết thêm thông tin, xem Phần & NBSP; 15.8.10.1, Cấu hình các tham số thống kê tối ưu hóa liên tục.
CREATE TABLE new_tbl LIKE orig_tbl;
77Điều khoản
CREATE TABLE new_tbl LIKE orig_tbl;
77 có thể được sử dụng để tạo một bảng trong một không gian bảng chung hiện có, một không gian bảng cho mỗi bảng hoặc không gian bảng hệ thống.CREATE TABLE new_tbl LIKE orig_tbl;
1Không gian bảng chung mà bạn chỉ định phải tồn tại trước khi sử dụng mệnh đề
CREATE TABLE new_tbl LIKE orig_tbl;
77. Để biết thông tin về các không gian bảng chung, xem Phần & NBSP; 15.6.3.3, Không gian bảng chung.
CREATE TABLE t1 (c1 INT ENGINE_ATTRIBUTE='{"key":"value"}');
34 là một định danh nhạy cảm trường hợp. Nó có thể được trích dẫn hoặc không được trích dẫn. Nhân vật chém về phía trước (không được phép). Tên bắt đầu bằng tiếng InnoDB_ được dành riêng cho mục đích sử dụng đặc biệt.“/”) is not permitted. Names beginning with “innodb_” are reserved for special use. Để tạo một bảng trong không gian bảng hệ thống, chỉ định
CREATE TABLE t1 (c1 INT ENGINE_ATTRIBUTE='{"key":"value"}');
35 làm tên bảng không gian.CREATE TABLE new_tbl LIKE orig_tbl;
2Sử dụng
CREATE TABLE t1 (c1 INT ENGINE_ATTRIBUTE='{"key":"value"}');
36, bạn có thể đặt một bảng của bất kỳ định dạng hàng không nén nào trong không gian bảng hệ thống bất kể cài đặt CREATE TABLE test (blob_col BLOB, INDEX(blob_col(10)));
43. Ví dụ: bạn có thể thêm một bảng với SELECT * FROM tbl_name WHERE auto_col IS NULL
95 vào không gian bảng hệ thống bằng cách sử dụng CREATE TABLE t1 (c1 INT ENGINE_ATTRIBUTE='{"key":"value"}');
36.Để tạo một bảng trong một không gian bảng tệp cho mỗi bảng, chỉ định
CREATE TABLE test (blob_col BLOB, INDEX(blob_col(10)));
43 làm tên không gian bảng.CREATE TABLE new_tbl LIKE orig_tbl;
3Ghi chú
Nếu
CREATE TABLE test (blob_col BLOB, INDEX(blob_col(10)));
43 được bật, bạn không cần chỉ định CREATE TABLE t1 (c1 INT ENGINE_ATTRIBUTE='{"key":"value"}');
42 để tạo không gian bảng cho mỗi bảng CREATE TABLE new_tbl AS SELECT * FROM orig_tbl;
9. Các bảng CREATE TABLE new_tbl AS SELECT * FROM orig_tbl;
9 được tạo trong các không gian bảng tệp theo bảng theo mặc định khi CREATE TABLE test (blob_col BLOB, INDEX(blob_col(10)));
43 được bật.Điều khoản
CREATE TABLE test (blob_col BLOB, INDEX(blob_col(10)));
39 được cho phép với CREATE TABLE t1 (c1 INT ENGINE_ATTRIBUTE='{"key":"value"}');
47 nhưng nếu không thì không được hỗ trợ để sử dụng kết hợp với mệnh đề CREATE TABLE new_tbl LIKE orig_tbl;
77. Kể từ MySQL 8.0.21, thư mục được chỉ định trong mệnh đề CREATE TABLE test (blob_col BLOB, INDEX(blob_col(10)));
39 phải được biết đến CREATE TABLE new_tbl AS SELECT * FROM orig_tbl;
9. Để biết thêm thông tin, hãy xem bằng cách sử dụng mệnh đề thư mục dữ liệu.Ghi chú
Nếu
CREATE TABLE test (blob_col BLOB, INDEX(blob_col(10)));
43 được bật, bạn không cần chỉ định CREATE TABLE t1 (c1 INT ENGINE_ATTRIBUTE='{"key":"value"}');
42 để tạo không gian bảng cho mỗi bảng CREATE TABLE new_tbl AS SELECT * FROM orig_tbl;
9. Các bảng CREATE TABLE new_tbl AS SELECT * FROM orig_tbl;
9 được tạo trong các không gian bảng tệp theo bảng theo mặc định khi CREATE TABLE test (blob_col BLOB, INDEX(blob_col(10)));
43 được bật.Điều khoản
CREATE TABLE test (blob_col BLOB, INDEX(blob_col(10)));
39 được cho phép với CREATE TABLE t1 (c1 INT ENGINE_ATTRIBUTE='{"key":"value"}');
47 nhưng nếu không thì không được hỗ trợ để sử dụng kết hợp với mệnh đề CREATE TABLE new_tbl LIKE orig_tbl;
77. Kể từ MySQL 8.0.21, thư mục được chỉ định trong mệnh đề CREATE TABLE test (blob_col BLOB, INDEX(blob_col(10)));
39 phải được biết đến CREATE TABLE new_tbl AS SELECT * FROM orig_tbl;
9. Để biết thêm thông tin, hãy xem bằng cách sử dụng mệnh đề thư mục dữ liệu.Hỗ trợ cho các điều khoản
CREATE TABLE t1 (c1 INT ENGINE_ATTRIBUTE='{"key":"value"}');
51 và CREATE TABLE t1 (c1 INT ENGINE_ATTRIBUTE='{"key":"value"}');
52 với CREATE TABLE t1 (c1 INT ENGINE_ATTRIBUTE='{"key":"value"}');
53 được không dùng nữa kể từ MySQL 8.0.13; Hy vọng nó sẽ được loại bỏ trong một phiên bản tương lai của MySQL.Tùy chọn bảng
CREATE TABLE new_tbl LIKE orig_tbl;
71 chỉ được sử dụng với bảng CREATE TABLE new_tbl AS SELECT * FROM orig_tbl;
5. CREATE TABLE new_tbl LIKE orig_tbl;
71 Xác định loại lưu trữ được sử dụng (đĩa hoặc bộ nhớ) và có thể là CREATE TABLE t1 (c1 INT ENGINE_ATTRIBUTE='{"key":"value"}');
57 hoặc CREATE TABLE t1 (
c1 INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
c2 VARCHAR(100),
c3 VARCHAR(100) )
ENGINE=NDB
COMMENT="NDB_TABLE=READ_BACKUP=0,PARTITION_BALANCE=FOR_RP_BY_NODE";
7.
CREATE TABLE t1 (c1 INT ENGINE_ATTRIBUTE='{"key":"value"}');
59 gán một bảng cho một không gian bảng dữ liệu đĩa NDB. Không gian bảng phải đã được tạo bằng CREATE TABLE t1 (c1 INT ENGINE_ATTRIBUTE='{"key":"value"}');
60. Xem Phần & NBSP; 23.6.10, Bảng dữ liệu đĩa cụm NDB NDB, để biết thêm thông tin.Quan trọng
Một mệnh đề
CREATE TABLE new_tbl LIKE orig_tbl;
71 không thể được sử dụng trong câu lệnh CREATE TABLE new_tbl AS SELECT * FROM orig_tbl;
7 mà không có mệnh đề CREATE TABLE new_tbl LIKE orig_tbl;
77.
CREATE TABLE t1 (c1 INT ENGINE_ATTRIBUTE='{"key":"value"}');
64Ghi chú
Nếu
CREATE TABLE test (blob_col BLOB, INDEX(blob_col(10)));
43 được bật, bạn không cần chỉ định CREATE TABLE t1 (c1 INT ENGINE_ATTRIBUTE='{"key":"value"}');
42 để tạo không gian bảng cho mỗi bảng CREATE TABLE new_tbl AS SELECT * FROM orig_tbl;
9. Các bảng CREATE TABLE new_tbl AS SELECT * FROM orig_tbl;
9 được tạo trong các không gian bảng tệp theo bảng theo mặc định khi CREATE TABLE test (blob_col BLOB, INDEX(blob_col(10)));
43 được bật. Điều khoản CREATE TABLE test (blob_col BLOB, INDEX(blob_col(10)));
39 được cho phép với CREATE TABLE t1 (c1 INT ENGINE_ATTRIBUTE='{"key":"value"}');
47 nhưng nếu không thì không được hỗ trợ để sử dụng kết hợp với mệnh đề CREATE TABLE new_tbl LIKE orig_tbl;
77. Kể từ MySQL 8.0.21, thư mục được chỉ định trong mệnh đề CREATE TABLE test (blob_col BLOB, INDEX(blob_col(10)));
39 phải được biết đến CREATE TABLE new_tbl AS SELECT * FROM orig_tbl;
9. Để biết thêm thông tin, hãy xem bằng cách sử dụng mệnh đề thư mục dữ liệu.
CREATE TABLE test (blob_col BLOB, INDEX(blob_col(10)));
CREATE TABLE t1 (c1 INT ENGINE_ATTRIBUTE='{"key":"value"}');
CREATE TABLE new_tbl LIKE orig_tbl;
CREATE TABLE test (blob_col BLOB, INDEX(blob_col(10)));
CREATE TABLE new_tbl AS SELECT * FROM orig_tbl;
Hỗ trợ cho các điều khoản
CREATE TABLE t1 (c1 INT ENGINE_ATTRIBUTE='{"key":"value"}');
51 và CREATE TABLE t1 (c1 INT ENGINE_ATTRIBUTE='{"key":"value"}');
52 với CREATE TABLE t1 (c1 INT ENGINE_ATTRIBUTE='{"key":"value"}');
53 được không dùng nữa kể từ MySQL 8.0.13; Hy vọng nó sẽ được loại bỏ trong một phiên bản tương lai của MySQL.Tùy chọn bảng
CREATE TABLE new_tbl LIKE orig_tbl;
71 chỉ được sử dụng với bảng CREATE TABLE new_tbl AS SELECT * FROM orig_tbl;
5. CREATE TABLE new_tbl LIKE orig_tbl;
71 Xác định loại lưu trữ được sử dụng (đĩa hoặc bộ nhớ) và có thể là CREATE TABLE t1 (c1 INT ENGINE_ATTRIBUTE='{"key":"value"}');
57 hoặc CREATE TABLE t1 (
c1 INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
c2 VARCHAR(100),
c3 VARCHAR(100) )
ENGINE=NDB
COMMENT="NDB_TABLE=READ_BACKUP=0,PARTITION_BALANCE=FOR_RP_BY_NODE";
7.
CREATE TABLE t1 (c1 INT ENGINE_ATTRIBUTE='{"key":"value"}');
59 gán một bảng cho một không gian bảng dữ liệu đĩa NDB. Không gian bảng phải đã được tạo bằng CREATE TABLE t1 (c1 INT ENGINE_ATTRIBUTE='{"key":"value"}');
60. Xem Phần & NBSP; 23.6.10, Bảng dữ liệu đĩa cụm NDB NDB, để biết thêm thông tin.Quan trọng
Một mệnh đề
71 không thể được sử dụng trong câu lệnhCREATE TABLE new_tbl LIKE orig_tbl;
7 mà không có mệnh đềCREATE TABLE new_tbl AS SELECT * FROM orig_tbl;
77.CREATE TABLE new_tbl LIKE orig_tbl;
Ghi chú
Biểu thức (
86) được sử dụng trong mệnh đềCREATE TABLE new_tbl AS SELECT * FROM orig_tbl;
75 không thể đề cập đến bất kỳ cột nào không trong bảng được tạo; Các tài liệu tham khảo như vậy đặc biệt không được phép và khiến tuyên bố không thành công với lỗi. (Lỗi #29444)CREATE TABLE t1 (c1 INT ENGINE_ATTRIBUTE='{"key":"value"}');
HASH(
86)CREATE TABLE new_tbl AS SELECT * FROM orig_tbl;
Băm một hoặc nhiều cột để tạo một khóa để đặt và định vị các hàng.
86 là một biểu thức sử dụng một hoặc nhiều cột bảng. Đây có thể là bất kỳ biểu thức MySQL hợp lệ nào (bao gồm các hàm MySQL) mang lại một giá trị số nguyên duy nhất. Ví dụ, đây là cả hai câu lệnhCREATE TABLE new_tbl AS SELECT * FROM orig_tbl;
7 hợp lệ bằng cách sử dụngCREATE TABLE new_tbl AS SELECT * FROM orig_tbl;
85:CREATE TABLE t1 (c1 INT ENGINE_ATTRIBUTE='{"key":"value"}');
4CREATE TABLE new_tbl LIKE orig_tbl;
Bạn không được sử dụng các điều khoản
86 hoặcCREATE TABLE t1 (c1 INT ENGINE_ATTRIBUTE='{"key":"value"}');
87 vớiCREATE TABLE t1 (c1 INT ENGINE_ATTRIBUTE='{"key":"value"}');
88.CREATE TABLE t1 (c1 INT ENGINE_ATTRIBUTE='{"key":"value"}');
85 sử dụng phần còn lại củaCREATE TABLE t1 (c1 INT ENGINE_ATTRIBUTE='{"key":"value"}');
86 chia cho số lượng phân vùng (nghĩa là mô đun). Để biết ví dụ và thông tin bổ sung, xem Phần & NBSP; 24.2.4, Phân vùng Hash.CREATE TABLE new_tbl AS SELECT * FROM orig_tbl;
Từ khóa
91 đòi hỏi một thuật toán hơi khác nhau. Trong trường hợp này, số lượng phân vùng trong đó một hàng được lưu trữ được tính là kết quả của một hoặc nhiều hoạt động logicCREATE TABLE t1 (c1 INT ENGINE_ATTRIBUTE='{"key":"value"}');
92. Để thảo luận và ví dụ về băm tuyến tính, xem phần & nbsp; 24.2.4.1, phân vùng băm tuyến tính.CREATE TABLE t1 (c1 INT ENGINE_ATTRIBUTE='{"key":"value"}');
93)CREATE TABLE t1 (c1 INT ENGINE_ATTRIBUTE='{"key":"value"}');
Điều này tương tự như
94, ngoại trừ việc MySQL cung cấp hàm băm để đảm bảo phân phối dữ liệu chẵn. Đối sốCREATE TABLE t1 (c1 INT ENGINE_ATTRIBUTE='{"key":"value"}');
95 chỉ đơn giản là danh sách 1 cột bảng trở lên (tối đa: 16). Ví dụ này cho thấy một bảng đơn giản được phân vùng bởi khóa, với 4 phân vùng:CREATE TABLE t1 (c1 INT ENGINE_ATTRIBUTE='{"key":"value"}');
5CREATE TABLE new_tbl LIKE orig_tbl;
Đối với các bảng được phân vùng bởi khóa, bạn có thể sử dụng phân vùng tuyến tính bằng cách sử dụng từ khóa
91. Điều này có tác dụng tương tự như với các bảng được phân vùng bởiCREATE TABLE t1 (c1 INT ENGINE_ATTRIBUTE='{"key":"value"}');
94. Đó là, số phân vùng được tìm thấy bằng toán tửCREATE TABLE t1 (c1 INT ENGINE_ATTRIBUTE='{"key":"value"}');
98 chứ không phải là mô đun (xem Phần & NBSP; 24.2.4.1, phân vùng băm tuyến tính, và phần & nbsp; 24.2.5, phân vùng chính, để biết chi tiết). Ví dụ này sử dụng phân vùng tuyến tính bằng khóa để phân phối dữ liệu giữa 5 phân vùng:CREATE TABLE t1 (c1 INT ENGINE_ATTRIBUTE='{"key":"value"}');
6CREATE TABLE new_tbl LIKE orig_tbl;
Tùy chọn
99 được hỗ trợ vớiCREATE TABLE t1 (c1 INT ENGINE_ATTRIBUTE='{"key":"value"}');
00.mysql> CREATE TABLE t1 ( -> c1 INT STORAGE DISK, -> c2 INT STORAGE MEMORY -> ) ENGINE NDB; ERROR 1005 (HY000): Can't create table 'c.t1' (errno: 140) mysql> CREATE TABLE t1 ( -> c1 INT STORAGE DISK, -> c2 INT STORAGE MEMORY -> ) TABLESPACE ts_1 ENGINE NDB; Query OK, 0 rows affected (1.06 sec)
01 khiến máy chủ sử dụng các chức năng đánh khóa tương tự như MySQL 5.1;mysql> CREATE TABLE t1 ( -> c1 INT STORAGE DISK, -> c2 INT STORAGE MEMORY -> ) ENGINE NDB; ERROR 1005 (HY000): Can't create table 'c.t1' (errno: 140) mysql> CREATE TABLE t1 ( -> c1 INT STORAGE DISK, -> c2 INT STORAGE MEMORY -> ) TABLESPACE ts_1 ENGINE NDB; Query OK, 0 rows affected (1.06 sec)
02 có nghĩa là máy chủ sử dụng các chức năng khóa chính được triển khai và sử dụng theo mặc định cho các bảng được phân vùngmysql> CREATE TABLE t1 ( -> c1 INT STORAGE DISK, -> c2 INT STORAGE MEMORY -> ) ENGINE NDB; ERROR 1005 (HY000): Can't create table 'c.t1' (errno: 140) mysql> CREATE TABLE t1 ( -> c1 INT STORAGE DISK, -> c2 INT STORAGE MEMORY -> ) TABLESPACE ts_1 ENGINE NDB; Query OK, 0 rows affected (1.06 sec)
27 mới trong MySQL 5.5 trở lên. . Tùy chọn này được sử dụng chủ yếu khi nâng cấp hoặc hạ cấp các bảng được phân vùng giữa các phiên bản MySQL 5.1 và sau này hoặc để tạo các bảng được phân vùng bởiCREATE TABLE new_tbl AS SELECT * FROM orig_tbl;
27 hoặcCREATE TABLE new_tbl AS SELECT * FROM orig_tbl;
07 trên máy chủ MySQL 5.5 hoặc sau đó có thể được sử dụng trên máy chủ MYSQL 5.1. Để biết thêm thông tin, xem Phần & NBSP; 13.1.9.1, hoạt động phân vùng bảng thay đổi.mysql> CREATE TABLE t1 ( -> c1 INT STORAGE DISK, -> c2 INT STORAGE MEMORY -> ) ENGINE NDB; ERROR 1005 (HY000): Can't create table 'c.t1' (errno: 140) mysql> CREATE TABLE t1 ( -> c1 INT STORAGE DISK, -> c2 INT STORAGE MEMORY -> ) TABLESPACE ts_1 ENGINE NDB; Query OK, 0 rows affected (1.06 sec)
MySQLDump trong MySQL 5.7 (và sau đó) viết tùy chọn này được đặt trong các nhận xét đã được phiên bản, như thế này: in MySQL 5.7 (and later) writes this option encased in versioned comments, like this:
7CREATE TABLE new_tbl LIKE orig_tbl;
Điều này khiến MySQL 5.6.10 và các máy chủ trước đó bỏ qua tùy chọn, điều này sẽ gây ra lỗi cú pháp trong các phiên bản đó. Nếu bạn có kế hoạch tải một kết xuất được tạo trên máy chủ MySQL 5.7, nơi bạn sử dụng các bảng được phân vùng hoặc phân chia bởi
27 vào máy chủ MySQL 5.6 trước phiên bản 5.6.11, hãy chắc chắn tham khảo các thay đổi trong MySQL 5.6, trước khi tiến hành. .CREATE TABLE new_tbl AS SELECT * FROM orig_tbl;
Cũng trong MySQL 5.6.11 trở lên,
01 được hiển thị khi cần thiết trong đầu ra củamysql> CREATE TABLE t1 ( -> c1 INT STORAGE DISK, -> c2 INT STORAGE MEMORY -> ) ENGINE NDB; ERROR 1005 (HY000): Can't create table 'c.t1' (errno: 140) mysql> CREATE TABLE t1 ( -> c1 INT STORAGE DISK, -> c2 INT STORAGE MEMORY -> ) TABLESPACE ts_1 ENGINE NDB; Query OK, 0 rows affected (1.06 sec)
22 bằng cách sử dụng các nhận xét được phiên bản theo cách tương tự như MySQLDump.CREATE TABLE test (blob_col BLOB, INDEX(blob_col(10)));
02 luôn được bỏ qua từ đầu ramysql> CREATE TABLE t1 ( -> c1 INT STORAGE DISK, -> c2 INT STORAGE MEMORY -> ) ENGINE NDB; ERROR 1005 (HY000): Can't create table 'c.t1' (errno: 140) mysql> CREATE TABLE t1 ( -> c1 INT STORAGE DISK, -> c2 INT STORAGE MEMORY -> ) TABLESPACE ts_1 ENGINE NDB; Query OK, 0 rows affected (1.06 sec)
22, ngay cả khi tùy chọn này được chỉ định khi tạo bảng gốc.mysqldump.CREATE TABLE test (blob_col BLOB, INDEX(blob_col(10)));
02 is always omitted frommysql> CREATE TABLE t1 ( -> c1 INT STORAGE DISK, -> c2 INT STORAGE MEMORY -> ) ENGINE NDB; ERROR 1005 (HY000): Can't create table 'c.t1' (errno: 140) mysql> CREATE TABLE t1 ( -> c1 INT STORAGE DISK, -> c2 INT STORAGE MEMORY -> ) TABLESPACE ts_1 ENGINE NDB; Query OK, 0 rows affected (1.06 sec)
22 output, even if this option was specified when creating the original table.CREATE TABLE test (blob_col BLOB, INDEX(blob_col(10)));
Bạn không được sử dụng các điều khoản
86 hoặcCREATE TABLE t1 (c1 INT ENGINE_ATTRIBUTE='{"key":"value"}');
87 vớiCREATE TABLE t1 (c1 INT ENGINE_ATTRIBUTE='{"key":"value"}');
16.mysql> CREATE TABLE t1 ( -> c1 INT STORAGE DISK, -> c2 INT STORAGE MEMORY -> ) ENGINE NDB; ERROR 1005 (HY000): Can't create table 'c.t1' (errno: 140) mysql> CREATE TABLE t1 ( -> c1 INT STORAGE DISK, -> c2 INT STORAGE MEMORY -> ) TABLESPACE ts_1 ENGINE NDB; Query OK, 0 rows affected (1.06 sec)
RANGE(
86)CREATE TABLE new_tbl AS SELECT * FROM orig_tbl;
Trong trường hợp này,
86 hiển thị một loạt các giá trị sử dụng một bộ toán tửCREATE TABLE new_tbl AS SELECT * FROM orig_tbl;
86. Khi sử dụng phân vùng phạm vi, bạn phải xác định ít nhất một phân vùng bằng cách sử dụngCREATE TABLE t1 (c1 INT ENGINE_ATTRIBUTE='{"key":"value"}');
86. Bạn không thể sử dụngCREATE TABLE t1 (c1 INT ENGINE_ATTRIBUTE='{"key":"value"}');
87 với phân vùng phạm vi.CREATE TABLE t1 (c1 INT ENGINE_ATTRIBUTE='{"key":"value"}');
Ghi chú
Đối với các bảng được phân vùng bởi
22,mysql> CREATE TABLE t1 ( -> c1 INT STORAGE DISK, -> c2 INT STORAGE MEMORY -> ) ENGINE NDB; ERROR 1005 (HY000): Can't create table 'c.t1' (errno: 140) mysql> CREATE TABLE t1 ( -> c1 INT STORAGE DISK, -> c2 INT STORAGE MEMORY -> ) TABLESPACE ts_1 ENGINE NDB; Query OK, 0 rows affected (1.06 sec)
86 phải được sử dụng với giá trị theo nghĩa đen của số nguyên hoặc biểu thức đánh giá thành một giá trị số nguyên duy nhất. Trong MySQL 8.0, bạn có thể khắc phục giới hạn này trong một bảng được xác định bằngCREATE TABLE t1 (c1 INT ENGINE_ATTRIBUTE='{"key":"value"}');
24, như được mô tả sau trong phần này.mysql> CREATE TABLE t1 ( -> c1 INT STORAGE DISK, -> c2 INT STORAGE MEMORY -> ) ENGINE NDB; ERROR 1005 (HY000): Can't create table 'c.t1' (errno: 140) mysql> CREATE TABLE t1 ( -> c1 INT STORAGE DISK, -> c2 INT STORAGE MEMORY -> ) TABLESPACE ts_1 ENGINE NDB; Query OK, 0 rows affected (1.06 sec)
Giả sử rằng bạn có một bảng mà bạn muốn phân vùng trên một cột chứa các giá trị năm, theo sơ đồ sau.
Số phân vùng: Phạm vi năm: 0 1990 và sớm hơn 1 1991 đến 1994 2 1995 đến 1998 3 1999 đến 2002 4 2003 đến 2005 5 2006 trở lên Một bảng thực hiện một sơ đồ phân vùng như vậy có thể được thực hiện bằng câu lệnh
7 được hiển thị ở đây:CREATE TABLE new_tbl AS SELECT * FROM orig_tbl;
8CREATE TABLE new_tbl LIKE orig_tbl;
26 Tuyên bố hoạt động theo kiểu liên tiếp.mysql> CREATE TABLE t1 ( -> c1 INT STORAGE DISK, -> c2 INT STORAGE MEMORY -> ) ENGINE NDB; ERROR 1005 (HY000): Can't create table 'c.t1' (errno: 140) mysql> CREATE TABLE t1 ( -> c1 INT STORAGE DISK, -> c2 INT STORAGE MEMORY -> ) TABLESPACE ts_1 ENGINE NDB; Query OK, 0 rows affected (1.06 sec)
27 hoạt động để chỉ định các giá trị còn sót lại trên mạng lớn hơn giá trị tối đa được chỉ định khác.“leftover” values that are greater than the maximum value otherwise specified.mysql> CREATE TABLE t1 ( -> c1 INT STORAGE DISK, -> c2 INT STORAGE MEMORY -> ) ENGINE NDB; ERROR 1005 (HY000): Can't create table 'c.t1' (errno: 140) mysql> CREATE TABLE t1 ( -> c1 INT STORAGE DISK, -> c2 INT STORAGE MEMORY -> ) TABLESPACE ts_1 ENGINE NDB; Query OK, 0 rows affected (1.06 sec)
Các mệnh đề
86 hoạt động tuần tự theo cách tương tự như các phầnCREATE TABLE t1 (c1 INT ENGINE_ATTRIBUTE='{"key":"value"}');
29 của khốimysql> CREATE TABLE t1 ( -> c1 INT STORAGE DISK, -> c2 INT STORAGE MEMORY -> ) ENGINE NDB; ERROR 1005 (HY000): Can't create table 'c.t1' (errno: 140) mysql> CREATE TABLE t1 ( -> c1 INT STORAGE DISK, -> c2 INT STORAGE MEMORY -> ) TABLESPACE ts_1 ENGINE NDB; Query OK, 0 rows affected (1.06 sec)
30 (như được tìm thấy trong nhiều ngôn ngữ lập trình như C, Java và PHP). Đó là, các điều khoản phải được sắp xếp theo cách mà giới hạn trên được chỉ định trong mỗimysql> CREATE TABLE t1 ( -> c1 INT STORAGE DISK, -> c2 INT STORAGE MEMORY -> ) ENGINE NDB; ERROR 1005 (HY000): Can't create table 'c.t1' (errno: 140) mysql> CREATE TABLE t1 ( -> c1 INT STORAGE DISK, -> c2 INT STORAGE MEMORY -> ) TABLESPACE ts_1 ENGINE NDB; Query OK, 0 rows affected (1.06 sec)
31 liên tiếp lớn hơn so với số trước, với một lần tham chiếumysql> CREATE TABLE t1 ( -> c1 INT STORAGE DISK, -> c2 INT STORAGE MEMORY -> ) ENGINE NDB; ERROR 1005 (HY000): Can't create table 'c.t1' (errno: 140) mysql> CREATE TABLE t1 ( -> c1 INT STORAGE DISK, -> c2 INT STORAGE MEMORY -> ) TABLESPACE ts_1 ENGINE NDB; Query OK, 0 rows affected (1.06 sec)
32 xuất hiện cuối cùng trong danh sách.mysql> CREATE TABLE t1 ( -> c1 INT STORAGE DISK, -> c2 INT STORAGE MEMORY -> ) ENGINE NDB; ERROR 1005 (HY000): Can't create table 'c.t1' (errno: 140) mysql> CREATE TABLE t1 ( -> c1 INT STORAGE DISK, -> c2 INT STORAGE MEMORY -> ) TABLESPACE ts_1 ENGINE NDB; Query OK, 0 rows affected (1.06 sec)
Các cột phạm vi (________ 695)
Biến thể này trên
22 tạo điều kiện cho việc cắt tỉa phân vùng cho các truy vấn sử dụng các điều kiện phạm vi trên nhiều cột (nghĩa là có các điều kiện nhưmysql> CREATE TABLE t1 ( -> c1 INT STORAGE DISK, -> c2 INT STORAGE MEMORY -> ) ENGINE NDB; ERROR 1005 (HY000): Can't create table 'c.t1' (errno: 140) mysql> CREATE TABLE t1 ( -> c1 INT STORAGE DISK, -> c2 INT STORAGE MEMORY -> ) TABLESPACE ts_1 ENGINE NDB; Query OK, 0 rows affected (1.06 sec)
35 hoặcmysql> CREATE TABLE t1 ( -> c1 INT STORAGE DISK, -> c2 INT STORAGE MEMORY -> ) ENGINE NDB; ERROR 1005 (HY000): Can't create table 'c.t1' (errno: 140) mysql> CREATE TABLE t1 ( -> c1 INT STORAGE DISK, -> c2 INT STORAGE MEMORY -> ) TABLESPACE ts_1 ENGINE NDB; Query OK, 0 rows affected (1.06 sec)
36). Nó cho phép bạn chỉ định phạm vi giá trị trong nhiều cột bằng cách sử dụng danh sách các cột trong mệnh đềmysql> CREATE TABLE t1 ( -> c1 INT STORAGE DISK, -> c2 INT STORAGE MEMORY -> ) ENGINE NDB; ERROR 1005 (HY000): Can't create table 'c.t1' (errno: 140) mysql> CREATE TABLE t1 ( -> c1 INT STORAGE DISK, -> c2 INT STORAGE MEMORY -> ) TABLESPACE ts_1 ENGINE NDB; Query OK, 0 rows affected (1.06 sec)
37 và một tập hợp các giá trị cột trong mỗi mệnh đề định nghĩa phân vùngmysql> CREATE TABLE t1 ( -> c1 INT STORAGE DISK, -> c2 INT STORAGE MEMORY -> ) ENGINE NDB; ERROR 1005 (HY000): Can't create table 'c.t1' (errno: 140) mysql> CREATE TABLE t1 ( -> c1 INT STORAGE DISK, -> c2 INT STORAGE MEMORY -> ) TABLESPACE ts_1 ENGINE NDB; Query OK, 0 rows affected (1.06 sec)
38). (Trong trường hợp đơn giản nhất, tập hợp này bao gồm một cột duy nhất.) Số lượng cột tối đa có thể được tham chiếu trongmysql> CREATE TABLE t1 ( -> c1 INT STORAGE DISK, -> c2 INT STORAGE MEMORY -> ) ENGINE NDB; ERROR 1005 (HY000): Can't create table 'c.t1' (errno: 140) mysql> CREATE TABLE t1 ( -> c1 INT STORAGE DISK, -> c2 INT STORAGE MEMORY -> ) TABLESPACE ts_1 ENGINE NDB; Query OK, 0 rows affected (1.06 sec)
95 vàCREATE TABLE t1 (c1 INT ENGINE_ATTRIBUTE='{"key":"value"}');
40 là 16.mysql> CREATE TABLE t1 ( -> c1 INT STORAGE DISK, -> c2 INT STORAGE MEMORY -> ) ENGINE NDB; ERROR 1005 (HY000): Can't create table 'c.t1' (errno: 140) mysql> CREATE TABLE t1 ( -> c1 INT STORAGE DISK, -> c2 INT STORAGE MEMORY -> ) TABLESPACE ts_1 ENGINE NDB; Query OK, 0 rows affected (1.06 sec)
95 được sử dụng trong mệnh đềCREATE TABLE t1 (c1 INT ENGINE_ATTRIBUTE='{"key":"value"}');
37 chỉ có thể chứa tên của các cột; Mỗi cột trong danh sách phải là một trong các loại dữ liệu MySQL sau: các loại số nguyên; các loại chuỗi; và các loại cột thời gian hoặc ngày. Các cột sử dụngmysql> CREATE TABLE t1 ( -> c1 INT STORAGE DISK, -> c2 INT STORAGE MEMORY -> ) ENGINE NDB; ERROR 1005 (HY000): Can't create table 'c.t1' (errno: 140) mysql> CREATE TABLE t1 ( -> c1 INT STORAGE DISK, -> c2 INT STORAGE MEMORY -> ) TABLESPACE ts_1 ENGINE NDB; Query OK, 0 rows affected (1.06 sec)
3,SELECT * FROM tbl_name WHERE auto_col IS NULL
4,SELECT * FROM tbl_name WHERE auto_col IS NULL
1,CREATE TABLE t1 (c1 INT ENGINE_ATTRIBUTE='{"key":"value"}');
0,CREATE TABLE t1 (c1 INT ENGINE_ATTRIBUTE='{"key":"value"}');
47 hoặc các loại dữ liệu không gian không được phép; Các cột sử dụng các loại số điểm nổi cũng không được phép. Bạn cũng không được sử dụng các hàm hoặc biểu thức số học trong mệnh đềmysql> CREATE TABLE t1 ( -> c1 INT STORAGE DISK, -> c2 INT STORAGE MEMORY -> ) ENGINE NDB; ERROR 1005 (HY000): Can't create table 'c.t1' (errno: 140) mysql> CREATE TABLE t1 ( -> c1 INT STORAGE DISK, -> c2 INT STORAGE MEMORY -> ) TABLESPACE ts_1 ENGINE NDB; Query OK, 0 rows affected (1.06 sec)
37.mysql> CREATE TABLE t1 ( -> c1 INT STORAGE DISK, -> c2 INT STORAGE MEMORY -> ) ENGINE NDB; ERROR 1005 (HY000): Can't create table 'c.t1' (errno: 140) mysql> CREATE TABLE t1 ( -> c1 INT STORAGE DISK, -> c2 INT STORAGE MEMORY -> ) TABLESPACE ts_1 ENGINE NDB; Query OK, 0 rows affected (1.06 sec)
Mệnh đề
86 được sử dụng trong định nghĩa phân vùng phải chỉ định giá trị theo nghĩa đen cho mỗi cột xuất hiện trong mệnh đềCREATE TABLE t1 (c1 INT ENGINE_ATTRIBUTE='{"key":"value"}');
50; nghĩa là, danh sách các giá trị được sử dụng cho mỗi mệnh đềmysql> CREATE TABLE t1 ( -> c1 INT STORAGE DISK, -> c2 INT STORAGE MEMORY -> ) ENGINE NDB; ERROR 1005 (HY000): Can't create table 'c.t1' (errno: 140) mysql> CREATE TABLE t1 ( -> c1 INT STORAGE DISK, -> c2 INT STORAGE MEMORY -> ) TABLESPACE ts_1 ENGINE NDB; Query OK, 0 rows affected (1.06 sec)
86 phải chứa cùng số lượng giá trị như có các cột được liệt kê trong mệnh đềCREATE TABLE t1 (c1 INT ENGINE_ATTRIBUTE='{"key":"value"}');
37. Một nỗ lực sử dụng nhiều hoặc ít giá trị hơn trong mệnh đềmysql> CREATE TABLE t1 ( -> c1 INT STORAGE DISK, -> c2 INT STORAGE MEMORY -> ) ENGINE NDB; ERROR 1005 (HY000): Can't create table 'c.t1' (errno: 140) mysql> CREATE TABLE t1 ( -> c1 INT STORAGE DISK, -> c2 INT STORAGE MEMORY -> ) TABLESPACE ts_1 ENGINE NDB; Query OK, 0 rows affected (1.06 sec)
86 so với trong mệnh đềCREATE TABLE t1 (c1 INT ENGINE_ATTRIBUTE='{"key":"value"}');
37 khiến câu lệnh không thành công với sự không nhất quán trong việc sử dụng danh sách cột để phân vùng .... bạn không thể sử dụngmysql> CREATE TABLE t1 ( -> c1 INT STORAGE DISK, -> c2 INT STORAGE MEMORY -> ) ENGINE NDB; ERROR 1005 (HY000): Can't create table 'c.t1' (errno: 140) mysql> CREATE TABLE t1 ( -> c1 INT STORAGE DISK, -> c2 INT STORAGE MEMORY -> ) TABLESPACE ts_1 ENGINE NDB; Query OK, 0 rows affected (1.06 sec)
2 cho bất kỳ giá trị nào xuất hiện trongCREATE TABLE t1 ( c1 INT NOT NULL AUTO_INCREMENT PRIMARY KEY, c2 VARCHAR(100), c3 VARCHAR(100) ) ENGINE=NDB COMMENT="NDB_TABLE=READ_BACKUP=0,PARTITION_BALANCE=FOR_RP_BY_NODE";
86. Có thể sử dụngCREATE TABLE t1 (c1 INT ENGINE_ATTRIBUTE='{"key":"value"}');
32 nhiều hơn một lần cho một cột nhất định khác với đầu tiên, như được hiển thị trong ví dụ này:Inconsistency in usage of column lists for partitioning.... You cannot usemysql> CREATE TABLE t1 ( -> c1 INT STORAGE DISK, -> c2 INT STORAGE MEMORY -> ) ENGINE NDB; ERROR 1005 (HY000): Can't create table 'c.t1' (errno: 140) mysql> CREATE TABLE t1 ( -> c1 INT STORAGE DISK, -> c2 INT STORAGE MEMORY -> ) TABLESPACE ts_1 ENGINE NDB; Query OK, 0 rows affected (1.06 sec)
2 for any value appearing inCREATE TABLE t1 ( c1 INT NOT NULL AUTO_INCREMENT PRIMARY KEY, c2 VARCHAR(100), c3 VARCHAR(100) ) ENGINE=NDB COMMENT="NDB_TABLE=READ_BACKUP=0,PARTITION_BALANCE=FOR_RP_BY_NODE";
86. It is possible to useCREATE TABLE t1 (c1 INT ENGINE_ATTRIBUTE='{"key":"value"}');
32 more than once for a given column other than the first, as shown in this example:mysql> CREATE TABLE t1 ( -> c1 INT STORAGE DISK, -> c2 INT STORAGE MEMORY -> ) ENGINE NDB; ERROR 1005 (HY000): Can't create table 'c.t1' (errno: 140) mysql> CREATE TABLE t1 ( -> c1 INT STORAGE DISK, -> c2 INT STORAGE MEMORY -> ) TABLESPACE ts_1 ENGINE NDB; Query OK, 0 rows affected (1.06 sec)
9CREATE TABLE new_tbl LIKE orig_tbl;
Mỗi giá trị được sử dụng trong danh sách giá trị
86 phải khớp với loại cột tương ứng chính xác; Không có chuyển đổi được thực hiện. Ví dụ: bạn không thể sử dụng chuỗiCREATE TABLE t1 (c1 INT ENGINE_ATTRIBUTE='{"key":"value"}');
59 cho một giá trị phù hợp với cột sử dụng loại số nguyên (bạn phải sử dụng sốmysql> CREATE TABLE t1 ( -> c1 INT STORAGE DISK, -> c2 INT STORAGE MEMORY -> ) ENGINE NDB; ERROR 1005 (HY000): Can't create table 'c.t1' (errno: 140) mysql> CREATE TABLE t1 ( -> c1 INT STORAGE DISK, -> c2 INT STORAGE MEMORY -> ) TABLESPACE ts_1 ENGINE NDB; Query OK, 0 rows affected (1.06 sec)
20 thay thế), bạn cũng không thể sử dụng sốCREATE TABLE new_tbl LIKE orig_tbl;
20 cho giá trị khớp với cột sử dụng loại chuỗi (Trong trường hợp như vậy, bạn phải sử dụng một chuỗi được trích dẫn:CREATE TABLE new_tbl LIKE orig_tbl;
59).mysql> CREATE TABLE t1 ( -> c1 INT STORAGE DISK, -> c2 INT STORAGE MEMORY -> ) ENGINE NDB; ERROR 1005 (HY000): Can't create table 'c.t1' (errno: 140) mysql> CREATE TABLE t1 ( -> c1 INT STORAGE DISK, -> c2 INT STORAGE MEMORY -> ) TABLESPACE ts_1 ENGINE NDB; Query OK, 0 rows affected (1.06 sec)
Để biết thêm thông tin, hãy xem Phần & NBSP; 24.2.1, Phân vùng Phạm vi và Phần & NBSP; 24.4, Phân vùng cắt tỉa.
LIST(
86)CREATE TABLE new_tbl AS SELECT * FROM orig_tbl;
Điều này rất hữu ích khi gán các phân vùng dựa trên cột bảng với một tập hợp các giá trị có thể hạn chế, chẳng hạn như mã trạng thái hoặc quốc gia. Trong trường hợp như vậy, tất cả các hàng liên quan đến một tiểu bang hoặc quốc gia nhất định có thể được chỉ định cho một phân vùng duy nhất hoặc một phân vùng có thể được dành riêng cho một tập hợp các tiểu bang hoặc quốc gia nhất định. Nó tương tự như
22, ngoại trừ chỉ có thể sử dụngmysql> CREATE TABLE t1 ( -> c1 INT STORAGE DISK, -> c2 INT STORAGE MEMORY -> ) ENGINE NDB; ERROR 1005 (HY000): Can't create table 'c.t1' (errno: 140) mysql> CREATE TABLE t1 ( -> c1 INT STORAGE DISK, -> c2 INT STORAGE MEMORY -> ) TABLESPACE ts_1 ENGINE NDB; Query OK, 0 rows affected (1.06 sec)
65 để chỉ định các giá trị cho phép cho từng phân vùng.mysql> CREATE TABLE t1 ( -> c1 INT STORAGE DISK, -> c2 INT STORAGE MEMORY -> ) ENGINE NDB; ERROR 1005 (HY000): Can't create table 'c.t1' (errno: 140) mysql> CREATE TABLE t1 ( -> c1 INT STORAGE DISK, -> c2 INT STORAGE MEMORY -> ) TABLESPACE ts_1 ENGINE NDB; Query OK, 0 rows affected (1.06 sec)
87 được sử dụng với danh sách các giá trị được khớp. Chẳng hạn, bạn có thể tạo một sơ đồ phân vùng như sau:CREATE TABLE t1 (c1 INT ENGINE_ATTRIBUTE='{"key":"value"}');
0CREATE TABLE new_tbl AS SELECT * FROM orig_tbl;
Khi sử dụng phân vùng danh sách, bạn phải xác định ít nhất một phân vùng bằng cách sử dụng
87. Bạn không thể sử dụngCREATE TABLE t1 (c1 INT ENGINE_ATTRIBUTE='{"key":"value"}');
86 vớiCREATE TABLE t1 (c1 INT ENGINE_ATTRIBUTE='{"key":"value"}');
69.mysql> CREATE TABLE t1 ( -> c1 INT STORAGE DISK, -> c2 INT STORAGE MEMORY -> ) ENGINE NDB; ERROR 1005 (HY000): Can't create table 'c.t1' (errno: 140) mysql> CREATE TABLE t1 ( -> c1 INT STORAGE DISK, -> c2 INT STORAGE MEMORY -> ) TABLESPACE ts_1 ENGINE NDB; Query OK, 0 rows affected (1.06 sec)
Ghi chú
Đối với các bảng được phân vùng bởi
70, danh sách giá trị được sử dụng vớimysql> CREATE TABLE t1 ( -> c1 INT STORAGE DISK, -> c2 INT STORAGE MEMORY -> ) ENGINE NDB; ERROR 1005 (HY000): Can't create table 'c.t1' (errno: 140) mysql> CREATE TABLE t1 ( -> c1 INT STORAGE DISK, -> c2 INT STORAGE MEMORY -> ) TABLESPACE ts_1 ENGINE NDB; Query OK, 0 rows affected (1.06 sec)
87 phải chỉ bao gồm các giá trị số nguyên. Trong MySQL 8.0, bạn có thể khắc phục giới hạn này bằng cách sử dụng phân vùng bởiCREATE TABLE t1 (c1 INT ENGINE_ATTRIBUTE='{"key":"value"}');
72, được mô tả sau trong phần này.mysql> CREATE TABLE t1 ( -> c1 INT STORAGE DISK, -> c2 INT STORAGE MEMORY -> ) ENGINE NDB; ERROR 1005 (HY000): Can't create table 'c.t1' (errno: 140) mysql> CREATE TABLE t1 ( -> c1 INT STORAGE DISK, -> c2 INT STORAGE MEMORY -> ) TABLESPACE ts_1 ENGINE NDB; Query OK, 0 rows affected (1.06 sec)
Danh sách cột (________ 695)
Biến thể này trên
70 tạo điều kiện cho việc cắt tỉa phân vùng cho các truy vấn sử dụng các điều kiện so sánh trên nhiều cột (nghĩa là có các điều kiện nhưmysql> CREATE TABLE t1 ( -> c1 INT STORAGE DISK, -> c2 INT STORAGE MEMORY -> ) ENGINE NDB; ERROR 1005 (HY000): Can't create table 'c.t1' (errno: 140) mysql> CREATE TABLE t1 ( -> c1 INT STORAGE DISK, -> c2 INT STORAGE MEMORY -> ) TABLESPACE ts_1 ENGINE NDB; Query OK, 0 rows affected (1.06 sec)
75 hoặcmysql> CREATE TABLE t1 ( -> c1 INT STORAGE DISK, -> c2 INT STORAGE MEMORY -> ) ENGINE NDB; ERROR 1005 (HY000): Can't create table 'c.t1' (errno: 140) mysql> CREATE TABLE t1 ( -> c1 INT STORAGE DISK, -> c2 INT STORAGE MEMORY -> ) TABLESPACE ts_1 ENGINE NDB; Query OK, 0 rows affected (1.06 sec)
76). Nó cho phép bạn chỉ định các giá trị trong nhiều cột bằng cách sử dụng danh sách các cột trong mệnh đềmysql> CREATE TABLE t1 ( -> c1 INT STORAGE DISK, -> c2 INT STORAGE MEMORY -> ) ENGINE NDB; ERROR 1005 (HY000): Can't create table 'c.t1' (errno: 140) mysql> CREATE TABLE t1 ( -> c1 INT STORAGE DISK, -> c2 INT STORAGE MEMORY -> ) TABLESPACE ts_1 ENGINE NDB; Query OK, 0 rows affected (1.06 sec)
37 và một tập hợp các giá trị cột trong mỗi phân vùng ... giá trị trong (mysql> CREATE TABLE t1 ( -> c1 INT STORAGE DISK, -> c2 INT STORAGE MEMORY -> ) ENGINE NDB; ERROR 1005 (HY000): Can't create table 'c.t1' (errno: 140) mysql> CREATE TABLE t1 ( -> c1 INT STORAGE DISK, -> c2 INT STORAGE MEMORY -> ) TABLESPACE ts_1 ENGINE NDB; Query OK, 0 rows affected (1.06 sec)
40) mệnh đề định nghĩa phân vùng.mysql> CREATE TABLE t1 ( -> c1 INT STORAGE DISK, -> c2 INT STORAGE MEMORY -> ) ENGINE NDB; ERROR 1005 (HY000): Can't create table 'c.t1' (errno: 140) mysql> CREATE TABLE t1 ( -> c1 INT STORAGE DISK, -> c2 INT STORAGE MEMORY -> ) TABLESPACE ts_1 ENGINE NDB; Query OK, 0 rows affected (1.06 sec)
PARTITION ... VALUES IN (
partition definition clause.
40)mysql> CREATE TABLE t1 ( -> c1 INT STORAGE DISK, -> c2 INT STORAGE MEMORY -> ) ENGINE NDB; ERROR 1005 (HY000): Can't create table 'c.t1' (errno: 140) mysql> CREATE TABLE t1 ( -> c1 INT STORAGE DISK, -> c2 INT STORAGE MEMORY -> ) TABLESPACE ts_1 ENGINE NDB; Query OK, 0 rows affected (1.06 sec)
Các quy tắc quản lý các loại dữ liệu cho danh sách cột được sử dụng trong các cột danh sách (____ ____ 695) và danh sách giá trị được sử dụng trong các giá trị trong (____ 740) giống như các danh sách được sử dụng trong các cột phạm vi (________ 695) và danh sách giá trị được sử dụng trong Các giá trị nhỏ hơn (____ 740), tương ứng, ngoại trừ trong mệnh đề
87,CREATE TABLE t1 (c1 INT ENGINE_ATTRIBUTE='{"key":"value"}');
32 không được phép và bạn có thể sử dụngmysql> CREATE TABLE t1 ( -> c1 INT STORAGE DISK, -> c2 INT STORAGE MEMORY -> ) ENGINE NDB; ERROR 1005 (HY000): Can't create table 'c.t1' (errno: 140) mysql> CREATE TABLE t1 ( -> c1 INT STORAGE DISK, -> c2 INT STORAGE MEMORY -> ) TABLESPACE ts_1 ENGINE NDB; Query OK, 0 rows affected (1.06 sec)
2.CREATE TABLE t1 ( c1 INT NOT NULL AUTO_INCREMENT PRIMARY KEY, c2 VARCHAR(100), c3 VARCHAR(100) ) ENGINE=NDB COMMENT="NDB_TABLE=READ_BACKUP=0,PARTITION_BALANCE=FOR_RP_BY_NODE";
LIST COLUMNS(
and the value list used in
95)CREATE TABLE t1 (c1 INT ENGINE_ATTRIBUTE='{"key":"value"}');
VALUES IN(
are the same as those for the column list used in
40)mysql> CREATE TABLE t1 ( -> c1 INT STORAGE DISK, -> c2 INT STORAGE MEMORY -> ) ENGINE NDB; ERROR 1005 (HY000): Can't create table 'c.t1' (errno: 140) mysql> CREATE TABLE t1 ( -> c1 INT STORAGE DISK, -> c2 INT STORAGE MEMORY -> ) TABLESPACE ts_1 ENGINE NDB; Query OK, 0 rows affected (1.06 sec)
RANGE COLUMNS(
and the value list used in
95)CREATE TABLE t1 (c1 INT ENGINE_ATTRIBUTE='{"key":"value"}');
VALUES LESS THAN(
, respectively, except that in the
40)mysql> CREATE TABLE t1 ( -> c1 INT STORAGE DISK, -> c2 INT STORAGE MEMORY -> ) ENGINE NDB; ERROR 1005 (HY000): Can't create table 'c.t1' (errno: 140) mysql> CREATE TABLE t1 ( -> c1 INT STORAGE DISK, -> c2 INT STORAGE MEMORY -> ) TABLESPACE ts_1 ENGINE NDB; Query OK, 0 rows affected (1.06 sec)
87 clause,CREATE TABLE t1 (c1 INT ENGINE_ATTRIBUTE='{"key":"value"}');
32 is not permitted, and you may usemysql> CREATE TABLE t1 ( -> c1 INT STORAGE DISK, -> c2 INT STORAGE MEMORY -> ) ENGINE NDB; ERROR 1005 (HY000): Can't create table 'c.t1' (errno: 140) mysql> CREATE TABLE t1 ( -> c1 INT STORAGE DISK, -> c2 INT STORAGE MEMORY -> ) TABLESPACE ts_1 ENGINE NDB; Query OK, 0 rows affected (1.06 sec)
2.CREATE TABLE t1 ( c1 INT NOT NULL AUTO_INCREMENT PRIMARY KEY, c2 VARCHAR(100), c3 VARCHAR(100) ) ENGINE=NDB COMMENT="NDB_TABLE=READ_BACKUP=0,PARTITION_BALANCE=FOR_RP_BY_NODE";
Có một sự khác biệt quan trọng giữa danh sách các giá trị được sử dụng cho
87 vớiCREATE TABLE t1 (c1 INT ENGINE_ATTRIBUTE='{"key":"value"}');
87 trái ngược với khi nó được sử dụng vớimysql> CREATE TABLE t1 ( -> c1 INT STORAGE DISK, -> c2 INT STORAGE MEMORY -> ) ENGINE NDB; ERROR 1005 (HY000): Can't create table 'c.t1' (errno: 140) mysql> CREATE TABLE t1 ( -> c1 INT STORAGE DISK, -> c2 INT STORAGE MEMORY -> ) TABLESPACE ts_1 ENGINE NDB; Query OK, 0 rows affected (1.06 sec)
88. Khi được sử dụng vớimysql> CREATE TABLE t1 ( -> c1 INT STORAGE DISK, -> c2 INT STORAGE MEMORY -> ) ENGINE NDB; ERROR 1005 (HY000): Can't create table 'c.t1' (errno: 140) mysql> CREATE TABLE t1 ( -> c1 INT STORAGE DISK, -> c2 INT STORAGE MEMORY -> ) TABLESPACE ts_1 ENGINE NDB; Query OK, 0 rows affected (1.06 sec)
89, mỗi phần tử trong mệnh đềmysql> CREATE TABLE t1 ( -> c1 INT STORAGE DISK, -> c2 INT STORAGE MEMORY -> ) ENGINE NDB; ERROR 1005 (HY000): Can't create table 'c.t1' (errno: 140) mysql> CREATE TABLE t1 ( -> c1 INT STORAGE DISK, -> c2 INT STORAGE MEMORY -> ) TABLESPACE ts_1 ENGINE NDB; Query OK, 0 rows affected (1.06 sec)
87 phải là một tập hợp các giá trị cột; Số lượng giá trị trong mỗi tập hợp phải giống với số lượng cột được sử dụng trong mệnh đềCREATE TABLE t1 (c1 INT ENGINE_ATTRIBUTE='{"key":"value"}');
37 và các loại dữ liệu của các giá trị này phải khớp với các cột của các cột (và xảy ra theo cùng một thứ tự). Trong trường hợp đơn giản nhất, tập hợp bao gồm một cột duy nhất. Số lượng cột tối đa có thể được sử dụng trongmysql> CREATE TABLE t1 ( -> c1 INT STORAGE DISK, -> c2 INT STORAGE MEMORY -> ) ENGINE NDB; ERROR 1005 (HY000): Can't create table 'c.t1' (errno: 140) mysql> CREATE TABLE t1 ( -> c1 INT STORAGE DISK, -> c2 INT STORAGE MEMORY -> ) TABLESPACE ts_1 ENGINE NDB; Query OK, 0 rows affected (1.06 sec)
95 và trong các phần tử tạo thànhCREATE TABLE t1 (c1 INT ENGINE_ATTRIBUTE='{"key":"value"}');
40 là 16.set of column values; the number of values in each set must be the same as the number of columns used in themysql> CREATE TABLE t1 ( -> c1 INT STORAGE DISK, -> c2 INT STORAGE MEMORY -> ) ENGINE NDB; ERROR 1005 (HY000): Can't create table 'c.t1' (errno: 140) mysql> CREATE TABLE t1 ( -> c1 INT STORAGE DISK, -> c2 INT STORAGE MEMORY -> ) TABLESPACE ts_1 ENGINE NDB; Query OK, 0 rows affected (1.06 sec)
37 clause, and the data types of these values must match those of the columns (and occur in the same order). In the simplest case, the set consists of a single column. The maximum number of columns that can be used in themysql> CREATE TABLE t1 ( -> c1 INT STORAGE DISK, -> c2 INT STORAGE MEMORY -> ) ENGINE NDB; ERROR 1005 (HY000): Can't create table 'c.t1' (errno: 140) mysql> CREATE TABLE t1 ( -> c1 INT STORAGE DISK, -> c2 INT STORAGE MEMORY -> ) TABLESPACE ts_1 ENGINE NDB; Query OK, 0 rows affected (1.06 sec)
95 and in the elements making up theCREATE TABLE t1 (c1 INT ENGINE_ATTRIBUTE='{"key":"value"}');
40 is 16.mysql> CREATE TABLE t1 ( -> c1 INT STORAGE DISK, -> c2 INT STORAGE MEMORY -> ) ENGINE NDB; ERROR 1005 (HY000): Can't create table 'c.t1' (errno: 140) mysql> CREATE TABLE t1 ( -> c1 INT STORAGE DISK, -> c2 INT STORAGE MEMORY -> ) TABLESPACE ts_1 ENGINE NDB; Query OK, 0 rows affected (1.06 sec)
Bảng được xác định bởi câu lệnh
26 sau đây cung cấp một ví dụ về bảng bằng cách sử dụng phân vùngCREATE TABLE t1 (c1 INT ENGINE_ATTRIBUTE='{"key":"value"}');
95:mysql> CREATE TABLE t1 ( -> c1 INT STORAGE DISK, -> c2 INT STORAGE MEMORY -> ) ENGINE NDB; ERROR 1005 (HY000): Can't create table 'c.t1' (errno: 140) mysql> CREATE TABLE t1 ( -> c1 INT STORAGE DISK, -> c2 INT STORAGE MEMORY -> ) TABLESPACE ts_1 ENGINE NDB; Query OK, 0 rows affected (1.06 sec)
1CREATE TABLE new_tbl AS SELECT * FROM orig_tbl;
Phân vùng
78CREATE TABLE t1 (c1 INT ENGINE_ATTRIBUTE='{"key":"value"}');
Số lượng phân vùng có thể tùy chọn được chỉ định với mệnh đề phân vùng
78, trong đóCREATE TABLE t1 (c1 INT ENGINE_ATTRIBUTE='{"key":"value"}');
78 là số lượng phân vùng. Nếu cả mệnh đề này và bất kỳ mệnh đềCREATE TABLE t1 (c1 INT ENGINE_ATTRIBUTE='{"key":"value"}');
99 nào được sử dụng,mysql> CREATE TABLE t1 ( -> c1 INT STORAGE DISK, -> c2 INT STORAGE MEMORY -> ) ENGINE NDB; ERROR 1005 (HY000): Can't create table 'c.t1' (errno: 140) mysql> CREATE TABLE t1 ( -> c1 INT STORAGE DISK, -> c2 INT STORAGE MEMORY -> ) TABLESPACE ts_1 ENGINE NDB; Query OK, 0 rows affected (1.06 sec)
78 phải bằng tổng số phân vùng được khai báo bằng các mệnh đềCREATE TABLE t1 (c1 INT ENGINE_ATTRIBUTE='{"key":"value"}');
99.mysql> CREATE TABLE t1 ( -> c1 INT STORAGE DISK, -> c2 INT STORAGE MEMORY -> ) ENGINE NDB; ERROR 1005 (HY000): Can't create table 'c.t1' (errno: 140) mysql> CREATE TABLE t1 ( -> c1 INT STORAGE DISK, -> c2 INT STORAGE MEMORY -> ) TABLESPACE ts_1 ENGINE NDB; Query OK, 0 rows affected (1.06 sec)
PARTITIONS
clause, where
78CREATE TABLE t1 (c1 INT ENGINE_ATTRIBUTE='{"key":"value"}');
78 is the number of partitions. If both this clause and anyCREATE TABLE t1 (c1 INT ENGINE_ATTRIBUTE='{"key":"value"}');
99 clauses are used,mysql> CREATE TABLE t1 ( -> c1 INT STORAGE DISK, -> c2 INT STORAGE MEMORY -> ) ENGINE NDB; ERROR 1005 (HY000): Can't create table 'c.t1' (errno: 140) mysql> CREATE TABLE t1 ( -> c1 INT STORAGE DISK, -> c2 INT STORAGE MEMORY -> ) TABLESPACE ts_1 ENGINE NDB; Query OK, 0 rows affected (1.06 sec)
78 must be equal to the total number of any partitions that are declared usingCREATE TABLE t1 (c1 INT ENGINE_ATTRIBUTE='{"key":"value"}');
99 clauses.mysql> CREATE TABLE t1 ( -> c1 INT STORAGE DISK, -> c2 INT STORAGE MEMORY -> ) ENGINE NDB; ERROR 1005 (HY000): Can't create table 'c.t1' (errno: 140) mysql> CREATE TABLE t1 ( -> c1 INT STORAGE DISK, -> c2 INT STORAGE MEMORY -> ) TABLESPACE ts_1 ENGINE NDB; Query OK, 0 rows affected (1.06 sec)
Ghi chú
Cho dù bạn có sử dụng mệnh đề
02 trong việc tạo bảng được phân vùng bởiCREATE TABLE lookup (id INT, INDEX USING BTREE (id)) ENGINE = MEMORY;
22 hoặcmysql> CREATE TABLE t1 ( -> c1 INT STORAGE DISK, -> c2 INT STORAGE MEMORY -> ) ENGINE NDB; ERROR 1005 (HY000): Can't create table 'c.t1' (errno: 140) mysql> CREATE TABLE t1 ( -> c1 INT STORAGE DISK, -> c2 INT STORAGE MEMORY -> ) TABLESPACE ts_1 ENGINE NDB; Query OK, 0 rows affected (1.06 sec)
70, bạn vẫn phải bao gồm ít nhất một mệnh đềmysql> CREATE TABLE t1 ( -> c1 INT STORAGE DISK, -> c2 INT STORAGE MEMORY -> ) ENGINE NDB; ERROR 1005 (HY000): Can't create table 'c.t1' (errno: 140) mysql> CREATE TABLE t1 ( -> c1 INT STORAGE DISK, -> c2 INT STORAGE MEMORY -> ) TABLESPACE ts_1 ENGINE NDB; Query OK, 0 rows affected (1.06 sec)
05 trong định nghĩa bảng (xem bên dưới).CREATE TABLE lookup (id INT, INDEX USING BTREE (id)) ENGINE = MEMORY;
06CREATE TABLE lookup (id INT, INDEX USING BTREE (id)) ENGINE = MEMORY;
Một phân vùng có thể tùy chọn được chia thành một số phần con. Điều này có thể được chỉ định bằng cách sử dụng mệnh đề
06 tùy chọn. Phân chia có thể được thực hiện bởiCREATE TABLE lookup (id INT, INDEX USING BTREE (id)) ENGINE = MEMORY;
94 hoặcCREATE TABLE t1 (c1 INT ENGINE_ATTRIBUTE='{"key":"value"}');
27. Một trong những điều này có thể làCREATE TABLE new_tbl AS SELECT * FROM orig_tbl;
91. Chúng hoạt động theo cùng một cách như được mô tả trước đây cho các loại phân vùng tương đương. (Không thể phân nhóm bởiCREATE TABLE t1 (c1 INT ENGINE_ATTRIBUTE='{"key":"value"}');
70 hoặcmysql> CREATE TABLE t1 ( -> c1 INT STORAGE DISK, -> c2 INT STORAGE MEMORY -> ) ENGINE NDB; ERROR 1005 (HY000): Can't create table 'c.t1' (errno: 140) mysql> CREATE TABLE t1 ( -> c1 INT STORAGE DISK, -> c2 INT STORAGE MEMORY -> ) TABLESPACE ts_1 ENGINE NDB; Query OK, 0 rows affected (1.06 sec)
22.)mysql> CREATE TABLE t1 ( -> c1 INT STORAGE DISK, -> c2 INT STORAGE MEMORY -> ) ENGINE NDB; ERROR 1005 (HY000): Can't create table 'c.t1' (errno: 140) mysql> CREATE TABLE t1 ( -> c1 INT STORAGE DISK, -> c2 INT STORAGE MEMORY -> ) TABLESPACE ts_1 ENGINE NDB; Query OK, 0 rows affected (1.06 sec)
Số lượng các phần con có thể được chỉ định bằng cách sử dụng từ khóa
13 theo sau là giá trị số nguyên.CREATE TABLE lookup (id INT, INDEX USING BTREE (id)) ENGINE = MEMORY;
Kiểm tra nghiêm ngặt giá trị được sử dụng trong các điều khoản
02 hoặcCREATE TABLE lookup (id INT, INDEX USING BTREE (id)) ENGINE = MEMORY;
13 được áp dụng và giá trị này phải tuân thủ các quy tắc sau:CREATE TABLE lookup (id INT, INDEX USING BTREE (id)) ENGINE = MEMORY;
Giá trị phải là một số nguyên dương, khác nhau.
Không có số không hàng đầu được phép.
Giá trị phải là một số nguyên theo nghĩa đen và không thể là một biểu thức. Ví dụ,
16 không được phép, mặc dùCREATE TABLE lookup (id INT, INDEX USING BTREE (id)) ENGINE = MEMORY;
17 đánh giá thànhCREATE TABLE lookup (id INT, INDEX USING BTREE (id)) ENGINE = MEMORY;
18. (Lỗi #15890)CREATE TABLE lookup (id INT, INDEX USING BTREE (id)) ENGINE = MEMORY;
19CREATE TABLE lookup (id INT, INDEX USING BTREE (id)) ENGINE = MEMORY;
Mỗi phân vùng có thể được xác định riêng lẻ bằng mệnh đề
20. Các bộ phận riêng lẻ tạo ra mệnh đề này như sau:CREATE TABLE lookup (id INT, INDEX USING BTREE (id)) ENGINE = MEMORY;
21CREATE TABLE lookup (id INT, INDEX USING BTREE (id)) ENGINE = MEMORY;
Chỉ định một tên hợp lý cho phân vùng.
22CREATE TABLE lookup (id INT, INDEX USING BTREE (id)) ENGINE = MEMORY;
Đối với phân vùng phạm vi, mỗi phân vùng phải bao gồm mệnh đề
86; Để phân vùng danh sách, bạn phải chỉ định mệnh đềCREATE TABLE t1 (c1 INT ENGINE_ATTRIBUTE='{"key":"value"}');
24 cho mỗi phân vùng. Điều này được sử dụng để xác định các hàng nào sẽ được lưu trữ trong phân vùng này. Xem các cuộc thảo luận về các loại phân vùng trong Chương & NBSP; 24, Phân vùng, để biết các ví dụ cú pháp.CREATE TABLE lookup (id INT, INDEX USING BTREE (id)) ENGINE = MEMORY;
25CREATE TABLE lookup (id INT, INDEX USING BTREE (id)) ENGINE = MEMORY;
MySQL chấp nhận tùy chọn
25 cho cảCREATE TABLE lookup (id INT, INDEX USING BTREE (id)) ENGINE = MEMORY;
99 vàmysql> CREATE TABLE t1 ( -> c1 INT STORAGE DISK, -> c2 INT STORAGE MEMORY -> ) ENGINE NDB; ERROR 1005 (HY000): Can't create table 'c.t1' (errno: 140) mysql> CREATE TABLE t1 ( -> c1 INT STORAGE DISK, -> c2 INT STORAGE MEMORY -> ) TABLESPACE ts_1 ENGINE NDB; Query OK, 0 rows affected (1.06 sec)
28. Hiện tại, cách duy nhất để tùy chọn này có thể được sử dụng là đặt tất cả các phân vùng hoặc tất cả các phần con cho cùng một công cụ lưu trữ và cố gắng đặt các công cụ lưu trữ khác nhau cho các phân vùng hoặc phân vùng trong cùng một bảng làm tăng lỗi lỗi 1469 (HY000) : Sự kết hợp của các trình xử lý trong các phân vùng không được phép trong phiên bản MySQL này.ERROR 1469 (HY000): The mix of handlers in the partitions is not permitted in this version of MySQL.CREATE TABLE lookup (id INT, INDEX USING BTREE (id)) ENGINE = MEMORY;
40CREATE TABLE new_tbl LIKE orig_tbl;
Một mệnh đề
40 tùy chọn có thể được sử dụng để chỉ định một chuỗi mô tả phân vùng. Thí dụ:CREATE TABLE new_tbl LIKE orig_tbl;
2CREATE TABLE new_tbl AS SELECT * FROM orig_tbl;
Độ dài tối đa cho một nhận xét phân vùng là 1024 ký tự.
39 vàCREATE TABLE test (blob_col BLOB, INDEX(blob_col(10)));
32CREATE TABLE lookup (id INT, INDEX USING BTREE (id)) ENGINE = MEMORY;
39 vàCREATE TABLE test (blob_col BLOB, INDEX(blob_col(10)));
32 có thể được sử dụng để chỉ ra thư mục trong đó, tương ứng, dữ liệu và chỉ mục cho phân vùng này sẽ được lưu trữ. CảCREATE TABLE lookup (id INT, INDEX USING BTREE (id)) ENGINE = MEMORY;
35 vàCREATE TABLE lookup (id INT, INDEX USING BTREE (id)) ENGINE = MEMORY;
36 phải là tên đường dẫn hệ thống tuyệt đối.CREATE TABLE lookup (id INT, INDEX USING BTREE (id)) ENGINE = MEMORY;
Kể từ MySQL 8.0.21, thư mục được chỉ định trong mệnh đề
39 phải được biết đếnCREATE TABLE test (blob_col BLOB, INDEX(blob_col(10)));
9. Để biết thêm thông tin, hãy xem bằng cách sử dụng mệnh đề thư mục dữ liệu.CREATE TABLE new_tbl AS SELECT * FROM orig_tbl;
Bạn phải có đặc quyền
54 để sử dụng tùy chọn phân vùngCREATE TABLE test (blob_col BLOB, INDEX(blob_col(10)));
39 hoặcCREATE TABLE test (blob_col BLOB, INDEX(blob_col(10)));
56.CREATE TABLE test (blob_col BLOB, INDEX(blob_col(10)));
Thí dụ:
3CREATE TABLE new_tbl AS SELECT * FROM orig_tbl;
39 vàCREATE TABLE test (blob_col BLOB, INDEX(blob_col(10)));
32 hoạt động giống như trong Điều khoảnCREATE TABLE lookup (id INT, INDEX USING BTREE (id)) ENGINE = MEMORY;
45 của câu lệnhCREATE TABLE lookup (id INT, INDEX USING BTREE (id)) ENGINE = MEMORY;
7 như được sử dụng cho các bảngCREATE TABLE new_tbl AS SELECT * FROM orig_tbl;
5.CREATE TABLE lookup (id INT, INDEX USING BTREE (id)) ENGINE = MEMORY;
Một thư mục dữ liệu và một thư mục chỉ mục có thể được chỉ định trên mỗi phân vùng. Nếu không được xác định, dữ liệu và chỉ mục được lưu trữ theo mặc định trong thư mục cơ sở dữ liệu của bảng.
Các tùy chọn
39 vàCREATE TABLE test (blob_col BLOB, INDEX(blob_col(10)));
32 bị bỏ qua để tạo các bảng được phân vùng nếuCREATE TABLE lookup (id INT, INDEX USING BTREE (id)) ENGINE = MEMORY;
49 có hiệu lực.CREATE TABLE lookup (id INT, INDEX USING BTREE (id)) ENGINE = MEMORY;
96 vàCREATE TABLE t (c CHAR(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin);
51SELECT * FROM tbl_name WHERE auto_col IS NULL
Có thể được sử dụng để chỉ định, tương ứng, số lượng hàng tối đa và tối thiểu sẽ được lưu trữ trong phân vùng. Các giá trị cho
52 vàCREATE TABLE lookup (id INT, INDEX USING BTREE (id)) ENGINE = MEMORY;
53 phải là số nguyên dương. Như với các tùy chọn cấp bảng có cùng tên, những người này chỉ hoạt động như các đề xuất của Cameron đối với máy chủ và không phải là giới hạn khó khăn.“suggestions” to the server and are not hard limits.CREATE TABLE lookup (id INT, INDEX USING BTREE (id)) ENGINE = MEMORY;
77CREATE TABLE new_tbl LIKE orig_tbl;
Có thể được sử dụng để chỉ định một không gian bảng
9 cho mỗi bảng cho phân vùng bằng cách chỉ địnhCREATE TABLE new_tbl AS SELECT * FROM orig_tbl;
56. Tất cả các phân vùng phải thuộc về cùng một công cụ lưu trữ.CREATE TABLE lookup (id INT, INDEX USING BTREE (id)) ENGINE = MEMORY;
Đặt các phân vùng bảng ____29 trong các không gian bảng
9 được chia sẻ không được hỗ trợ. Không gian bảng chia sẻ bao gồm không gian bảng hệ thốngCREATE TABLE new_tbl AS SELECT * FROM orig_tbl;
9 và không gian bảng chung.CREATE TABLE new_tbl AS SELECT * FROM orig_tbl;
60CREATE TABLE lookup (id INT, INDEX USING BTREE (id)) ENGINE = MEMORY;
Định nghĩa phân vùng có thể tùy chọn chứa một hoặc nhiều mệnh đề
61. Mỗi trong số này bao gồm ở mức tối thiểu củaCREATE TABLE lookup (id INT, INDEX USING BTREE (id)) ENGINE = MEMORY;
62, trong đóCREATE TABLE lookup (id INT, INDEX USING BTREE (id)) ENGINE = MEMORY;
63 là một định danh cho phần phụ. Ngoại trừ việc thay thế từ khóaCREATE TABLE lookup (id INT, INDEX USING BTREE (id)) ENGINE = MEMORY;
99 bằngmysql> CREATE TABLE t1 ( -> c1 INT STORAGE DISK, -> c2 INT STORAGE MEMORY -> ) ENGINE NDB; ERROR 1005 (HY000): Can't create table 'c.t1' (errno: 140) mysql> CREATE TABLE t1 ( -> c1 INT STORAGE DISK, -> c2 INT STORAGE MEMORY -> ) TABLESPACE ts_1 ENGINE NDB; Query OK, 0 rows affected (1.06 sec)
28, cú pháp cho một định nghĩa phân nhóm là giống hệt với định nghĩa phân vùng.CREATE TABLE lookup (id INT, INDEX USING BTREE (id)) ENGINE = MEMORY;
Phân chia phải được thực hiện bởi
94 hoặcCREATE TABLE t1 (c1 INT ENGINE_ATTRIBUTE='{"key":"value"}');
27 và chỉ có thể được thực hiện trên các phân vùngCREATE TABLE new_tbl AS SELECT * FROM orig_tbl;
22 hoặcmysql> CREATE TABLE t1 ( -> c1 INT STORAGE DISK, -> c2 INT STORAGE MEMORY -> ) ENGINE NDB; ERROR 1005 (HY000): Can't create table 'c.t1' (errno: 140) mysql> CREATE TABLE t1 ( -> c1 INT STORAGE DISK, -> c2 INT STORAGE MEMORY -> ) TABLESPACE ts_1 ENGINE NDB; Query OK, 0 rows affected (1.06 sec)
70. Xem Phần & NBSP; 24.2.6, Subpartitioning.mysql> CREATE TABLE t1 ( -> c1 INT STORAGE DISK, -> c2 INT STORAGE MEMORY -> ) ENGINE NDB; ERROR 1005 (HY000): Can't create table 'c.t1' (errno: 140) mysql> CREATE TABLE t1 ( -> c1 INT STORAGE DISK, -> c2 INT STORAGE MEMORY -> ) TABLESPACE ts_1 ENGINE NDB; Query OK, 0 rows affected (1.06 sec)
Phân vùng theo các cột được tạo
Phân vùng theo các cột được tạo được cho phép. Ví dụ:
CREATE TABLE new_tbl AS SELECT * FROM orig_tbl;
4Phân vùng coi một cột được tạo là một cột thông thường, cho phép giải quyết các hạn chế về các chức năng không được phép phân vùng (xem Phần & NBSP; 24.6.3, giới hạn phân vùng liên quan đến các chức năng). Ví dụ trước cho thấy kỹ thuật này:
CREATE TABLE lookup
(id INT, INDEX USING BTREE (id))
ENGINE = MEMORY;
70 không thể được sử dụng trực tiếp trong mệnh đề CREATE TABLE t1 (c1 INT ENGINE_ATTRIBUTE='{"key":"value"}');
75, nhưng một cột được tạo được xác định bằng cách sử dụng CREATE TABLE lookup
(id INT, INDEX USING BTREE (id))
ENGINE = MEMORY;
70 được cho phép.