Xin chào. Tôi đã viết câu lệnh sql này trong hoạt động truy vấn thực thi. Bây giờ hoạt động này trả về một dữ liệu
Tôi muốn kiểm tra xem bảng sql có trống hay không. Làm cách nào tôi có thể áp dụng kiểm tra Nếu trên kết quả của truy vấn trên?
Đọc "Cách cài đặt MySQL và bắt đầu" về cách cài đặt, tùy chỉnh và bắt đầu với MySQL
Tóm tắt các lệnh MySQL được sử dụng trong Hướng dẫn này
Để biết cú pháp chi tiết, hãy xem hướng dẫn sử dụng MySQL "Cú pháp câu lệnh SQL" @ http. // nhà phát triển. mysql. com/doc/refman/5. 5/en/sql-cú pháp. html
Một ví dụ cho người mới bắt đầu [Nhưng KHÔNG dành cho người giả]
Một máy chủ cơ sở dữ liệu MySQL chứa nhiều cơ sở dữ liệu [hoặc lược đồ]. Mỗi cơ sở dữ liệu bao gồm một hoặc nhiều bảng. Một bảng được tạo thành từ các cột [hoặc trường] và hàng [bản ghi]
Các từ khóa và lệnh SQL KHÔNG phân biệt chữ hoa chữ thường. Để rõ ràng, chúng được hiển thị bằng chữ hoa. Tên hoặc mã định danh [tên cơ sở dữ liệu, tên bảng, tên cột, v.v. ] phân biệt chữ hoa chữ thường trong một số hệ thống, nhưng không phân biệt chữ hoa chữ thường trong các hệ thống khác. Do đó, cách tốt nhất là coi số nhận dạng là phân biệt chữ hoa chữ thường
HIỂN THỊ CƠ SỞ DỮ LIỆUBạn có thể sử dụng
mysql> SELECT name, price FROM products WHERE price < 1.0; +-----------+-------+ | name | price | +-----------+-------+ | Pencil 2B | 0.48 | | Pencil 2H | 0.49 | +-----------+-------+ 2 rows in set [0.00 sec] mysql> SELECT name, quantity FROM products WHERE quantity SHOW DATABASES; +--------------------+ | Database | +--------------------+ | information_schema | | mysql | | performance_schema | | test | ........
Cơ sở dữ liệu "
mysql> SELECT name, price FROM products WHERE price < 1.0; +-----------+-------+ | name | price | +-----------+-------+ | Pencil 2B | 0.48 | | Pencil 2H | 0.49 | +-----------+-------+ 2 rows in set [0.00 sec] mysql> SELECT name, quantity FROM products WHERE quantity SELECT name, price FROM products WHERE price < 1.0; +-----------+-------+ | name | price | +-----------+-------+ | Pencil 2B | 0.48 | | Pencil 2H | 0.49 | +-----------+-------+ 2 rows in set [0.00 sec] mysql> SELECT name, quantity FROM products WHERE quantity SELECT name, price FROM products WHERE price < 1.0; +-----------+-------+ | name | price | +-----------+-------+ | Pencil 2B | 0.48 | | Pencil 2H | 0.49 | +-----------+-------+ 2 rows in set [0.00 sec] mysql> SELECT name, quantity FROM products WHERE quantity SELECT * FROM products WHERE quantity >= 5000 AND name LIKE 'Pen %'; +-----------+-------------+----------+----------+-------+ | productID | productCode | name | quantity | price | +-----------+-------------+----------+----------+-------+ | 1001 | PEN | Pen Red | 5000 | 1.23 | | 1002 | PEN | Pen Blue | 8000 | 1.25 | +-----------+-------------+----------+----------+-------+ mysql> SELECT * FROM products WHERE quantity >= 5000 AND price < 1.24 AND name LIKE 'Pen %'; +-----------+-------------+---------+----------+-------+ | productID | productCode | name | quantity | price | +-----------+-------------+---------+----------+-------+ | 1001 | PEN | Pen Red | 5000 | 1.23 | +-----------+-------------+---------+----------+-------+ mysql> SELECT * FROM products WHERE NOT [quantity >= 5000 AND name LIKE 'Pen %']; +-----------+-------------+-----------+----------+-------+ | productID | productCode | name | quantity | price | +-----------+-------------+-----------+----------+-------+ | 1003 | PEN | Pen Black | 2000 | 1.25 | | 1004 | PEC | Pencil 2B | 10000 | 0.48 | | 1005 | PEC | Pencil 2H | 8000 | 0.49 | +-----------+-------------+-----------+----------+-------+6" cho các lệnh này. Ví dụ,
mysql> CREATE DATABASE southwind; Query OK, 1 row affected [0.03 sec] mysql> DROP DATABASE southwind; Query OK, 0 rows affected [0.11 sec] mysql> CREATE DATABASE IF NOT EXISTS southwind; Query OK, 1 row affected [0.01 sec] mysql> DROP DATABASE IF EXISTS southwind; Query OK, 0 rows affected [0.00 sec]
QUAN TRỌNG. Sử dụng các lệnh SQL
mysql> SELECT * FROM products WHERE quantity >= 5000 AND name LIKE 'Pen %'; +-----------+-------------+----------+----------+-------+ | productID | productCode | name | quantity | price | +-----------+-------------+----------+----------+-------+ | 1001 | PEN | Pen Red | 5000 | 1.23 | | 1002 | PEN | Pen Blue | 8000 | 1.25 | +-----------+-------------+----------+----------+-------+ mysql> SELECT * FROM products WHERE quantity >= 5000 AND price < 1.24 AND name LIKE 'Pen %'; +-----------+-------------+---------+----------+-------+ | productID | productCode | name | quantity | price | +-----------+-------------+---------+----------+-------+ | 1001 | PEN | Pen Red | 5000 | 1.23 | +-----------+-------------+---------+----------+-------+ mysql> SELECT * FROM products WHERE NOT [quantity >= 5000 AND name LIKE 'Pen %']; +-----------+-------------+-----------+----------+-------+ | productID | productCode | name | quantity | price | +-----------+-------------+-----------+----------+-------+ | 1003 | PEN | Pen Black | 2000 | 1.25 | | 1004 | PEC | Pencil 2B | 10000 | 0.48 | | 1005 | PEC | Pencil 2H | 8000 | 0.49 | +-----------+-------------+-----------+----------+-------+7 [và
mysql> SELECT * FROM products WHERE quantity >= 5000 AND name LIKE 'Pen %'; +-----------+-------------+----------+----------+-------+ | productID | productCode | name | quantity | price | +-----------+-------------+----------+----------+-------+ | 1001 | PEN | Pen Red | 5000 | 1.23 | | 1002 | PEN | Pen Blue | 8000 | 1.25 | +-----------+-------------+----------+----------+-------+ mysql> SELECT * FROM products WHERE quantity >= 5000 AND price < 1.24 AND name LIKE 'Pen %'; +-----------+-------------+---------+----------+-------+ | productID | productCode | name | quantity | price | +-----------+-------------+---------+----------+-------+ | 1001 | PEN | Pen Red | 5000 | 1.23 | +-----------+-------------+---------+----------+-------+ mysql> SELECT * FROM products WHERE NOT [quantity >= 5000 AND name LIKE 'Pen %']; +-----------+-------------+-----------+----------+-------+ | productID | productCode | name | quantity | price | +-----------+-------------+-----------+----------+-------+ | 1003 | PEN | Pen Black | 2000 | 1.25 | | 1004 | PEC | Pencil 2B | 10000 | 0.48 | | 1005 | PEC | Pencil 2H | 8000 | 0.49 | +-----------+-------------+-----------+----------+-------+8] hết sức cẩn thận, vì các thực thể đã xóa không thể khôi phục được. KHÔNG CÓ HOÀN TÁCHIỂN THỊ TẠO CƠ SỞ DỮ LIỆU
Các lệnh
mysql> SELECT * FROM products WHERE quantity >= 5000 AND name LIKE 'Pen %'; +-----------+-------------+----------+----------+-------+ | productID | productCode | name | quantity | price | +-----------+-------------+----------+----------+-------+ | 1001 | PEN | Pen Red | 5000 | 1.23 | | 1002 | PEN | Pen Blue | 8000 | 1.25 | +-----------+-------------+----------+----------+-------+ mysql> SELECT * FROM products WHERE quantity >= 5000 AND price < 1.24 AND name LIKE 'Pen %'; +-----------+-------------+---------+----------+-------+ | productID | productCode | name | quantity | price | +-----------+-------------+---------+----------+-------+ | 1001 | PEN | Pen Red | 5000 | 1.23 | +-----------+-------------+---------+----------+-------+ mysql> SELECT * FROM products WHERE NOT [quantity >= 5000 AND name LIKE 'Pen %']; +-----------+-------------+-----------+----------+-------+ | productID | productCode | name | quantity | price | +-----------+-------------+-----------+----------+-------+ | 1003 | PEN | Pen Black | 2000 | 1.25 | | 1004 | PEC | Pencil 2B | 10000 | 0.48 | | 1005 | PEC | Pencil 2H | 8000 | 0.49 | +-----------+-------------+-----------+----------+-------+9 sử dụng một số giá trị mặc định. Bạn có thể gõ "
mysql> SELECT * FROM products WHERE name IN ['Pen Red', 'Pen Black']; +-----------+-------------+-----------+----------+-------+ | productID | productCode | name | quantity | price | +-----------+-------------+-----------+----------+-------+ | 1001 | PEN | Pen Red | 5000 | 1.23 | | 1003 | PEN | Pen Black | 2000 | 1.25 | +-----------+-------------+-----------+----------+-------+0" để hiển thị toàn bộ lệnh và kiểm tra các giá trị mặc định này. Chúng tôi sử dụng
mysql> SELECT * FROM products WHERE name IN ['Pen Red', 'Pen Black']; +-----------+-------------+-----------+----------+-------+ | productID | productCode | name | quantity | price | +-----------+-------------+-----------+----------+-------+ | 1001 | PEN | Pen Red | 5000 | 1.23 | | 1003 | PEN | Pen Black | 2000 | 1.25 | +-----------+-------------+-----------+----------+-------+1 [thay vì
mysql> SELECT * FROM products WHERE name IN ['Pen Red', 'Pen Black']; +-----------+-------------+-----------+----------+-------+ | productID | productCode | name | quantity | price | +-----------+-------------+-----------+----------+-------+ | 1001 | PEN | Pen Red | 5000 | 1.23 | | 1003 | PEN | Pen Black | 2000 | 1.25 | +-----------+-------------+-----------+----------+-------+2] để hiển thị kết quả theo chiều dọc. [Hãy thử so sánh kết quả đầu ra của
mysql> SELECT * FROM products WHERE name IN ['Pen Red', 'Pen Black']; +-----------+-------------+-----------+----------+-------+ | productID | productCode | name | quantity | price | +-----------+-------------+-----------+----------+-------+ | 1001 | PEN | Pen Red | 5000 | 1.23 | | 1003 | PEN | Pen Black | 2000 | 1.25 | +-----------+-------------+-----------+----------+-------+2 và
mysql> SELECT * FROM products WHERE name IN ['Pen Red', 'Pen Black']; +-----------+-------------+-----------+----------+-------+ | productID | productCode | name | quantity | price | +-----------+-------------+-----------+----------+-------+ | 1001 | PEN | Pen Red | 5000 | 1.23 | | 1003 | PEN | Pen Black | 2000 | 1.25 | +-----------+-------------+-----------+----------+-------+1. ]
mysql> CREATE DATABASE IF NOT EXISTS southwind; mysql> SHOW CREATE DATABASE southwind \G *************************** 1. row *************************** Database: southwind Create Database: CREATE DATABASE `southwind` /*!40100 DEFAULT CHARACTER SET latin1 */Số nhận dạng trích dẫn ngược [`tên`]
Các tên hoặc mã định danh không được trích dẫn [chẳng hạn như tên cơ sở dữ liệu, tên bảng và tên cột] không được chứa các ký tự trống và ký tự đặc biệt hoặc trùng với các từ khóa MySQL [chẳng hạn như
mysql> SELECT * FROM products WHERE name IN ['Pen Red', 'Pen Black']; +-----------+-------------+-----------+----------+-------+ | productID | productCode | name | quantity | price | +-----------+-------------+-----------+----------+-------+ | 1001 | PEN | Pen Red | 5000 | 1.23 | | 1003 | PEN | Pen Black | 2000 | 1.25 | +-----------+-------------+-----------+----------+-------+5 và
mysql> SELECT * FROM products WHERE name IN ['Pen Red', 'Pen Black']; +-----------+-------------+-----------+----------+-------+ | productID | productCode | name | quantity | price | +-----------+-------------+-----------+----------+-------+ | 1001 | PEN | Pen Red | 5000 | 1.23 | | 1003 | PEN | Pen Black | 2000 | 1.25 | +-----------+-------------+-----------+----------+-------+6]. Bạn có thể bao gồm các khoảng trống và ký tự đặc biệt hoặc sử dụng từ khóa MySQL làm định danh bằng cách kèm theo một cặp trích dẫn ngược, ở dạng
mysql> SELECT * FROM products WHERE name IN ['Pen Red', 'Pen Black']; +-----------+-------------+-----------+----------+-------+ | productID | productCode | name | quantity | price | +-----------+-------------+-----------+----------+-------+ | 1001 | PEN | Pen Red | 5000 | 1.23 | | 1003 | PEN | Pen Black | 2000 | 1.25 | +-----------+-------------+-----------+----------+-------+7
Để chắc chắn, lệnh
mysql> SELECT * FROM products WHERE name IN ['Pen Red', 'Pen Black']; +-----------+-------------+-----------+----------+-------+ | productID | productCode | name | quantity | price | +-----------+-------------+-----------+----------+-------+ | 1001 | PEN | Pen Red | 5000 | 1.23 | | 1003 | PEN | Pen Black | 2000 | 1.25 | +-----------+-------------+-----------+----------+-------+8 trích dẫn lại tất cả các mã định danh, như được minh họa trong ví dụ trênNhận xét và Phiên bản Nhận xét
Nhận xét nhiều dòng của MySQL được đính kèm trong
mysql> SELECT * FROM products WHERE name IN ['Pen Red', 'Pen Black']; +-----------+-------------+-----------+----------+-------+ | productID | productCode | name | quantity | price | +-----------+-------------+-----------+----------+-------+ | 1001 | PEN | Pen Red | 5000 | 1.23 | | 1003 | PEN | Pen Black | 2000 | 1.25 | +-----------+-------------+-----------+----------+-------+9 và
mysql> SELECT * FROM products WHERE [price BETWEEN 1.0 AND 2.0] AND [quantity BETWEEN 1000 AND 2000]; +-----------+-------------+-----------+----------+-------+ | productID | productCode | name | quantity | price | +-----------+-------------+-----------+----------+-------+ | 1003 | PEN | Pen Black | 2000 | 1.25 | +-----------+-------------+-----------+----------+-------+0;
mysql> SELECT * FROM products WHERE [price BETWEEN 1.0 AND 2.0] AND [quantity BETWEEN 1000 AND 2000]; +-----------+-------------+-----------+----------+-------+ | productID | productCode | name | quantity | price | +-----------+-------------+-----------+----------+-------+ | 1003 | PEN | Pen Black | 2000 | 1.25 | +-----------+-------------+-----------+----------+-------+3 được gọi là nhận xét phiên bản, sẽ chỉ được chạy nếu máy chủ bằng hoặc cao hơn số phiên bản này
mysql> SELECT * FROM products WHERE [price BETWEEN 1.0 AND 2.0] AND [quantity BETWEEN 1000 AND 2000]; +-----------+-------------+-----------+----------+-------+ | productID | productCode | name | quantity | price | +-----------+-------------+-----------+----------+-------+ | 1003 | PEN | Pen Black | 2000 | 1.25 | +-----------+-------------+-----------+----------+-------+4. Để kiểm tra phiên bản máy chủ MySQL của bạn, hãy đưa ra truy vấn "
mysql> SELECT * FROM products WHERE [price BETWEEN 1.0 AND 2.0] AND [quantity BETWEEN 1000 AND 2000]; +-----------+-------------+-----------+----------+-------+ | productID | productCode | name | quantity | price | +-----------+-------------+-----------+----------+-------+ | 1003 | PEN | Pen Black | 2000 | 1.25 | +-----------+-------------+-----------+----------+-------+5"
Đặt cơ sở dữ liệu mặc định - SỬ DỤNG
Lệnh "
mysql> SELECT * FROM products WHERE [price BETWEEN 1.0 AND 2.0] AND [quantity BETWEEN 1000 AND 2000]; +-----------+-------------+-----------+----------+-------+ | productID | productCode | name | quantity | price | +-----------+-------------+-----------+----------+-------+ | 1003 | PEN | Pen Black | 2000 | 1.25 | +-----------+-------------+-----------+----------+-------+6" đặt một cơ sở dữ liệu cụ thể làm cơ sở dữ liệu mặc định [hoặc hiện tại]. Bạn có thể tham khảo trực tiếp một bảng trong cơ sở dữ liệu mặc định bằng cách sử dụng
mysql> SELECT * FROM products WHERE [price BETWEEN 1.0 AND 2.0] AND [quantity BETWEEN 1000 AND 2000]; +-----------+-------------+-----------+----------+-------+ | productID | productCode | name | quantity | price | +-----------+-------------+-----------+----------+-------+ | 1003 | PEN | Pen Black | 2000 | 1.25 | +-----------+-------------+-----------+----------+-------+7. Nhưng bạn cần sử dụng
mysql> SELECT * FROM products WHERE [price BETWEEN 1.0 AND 2.0] AND [quantity BETWEEN 1000 AND 2000]; +-----------+-------------+-----------+----------+-------+ | productID | productCode | name | quantity | price | +-----------+-------------+-----------+----------+-------+ | 1003 | PEN | Pen Black | 2000 | 1.25 | +-----------+-------------+-----------+----------+-------+8 đủ điều kiện để tham chiếu một bảng KHÔNG có trong cơ sở dữ liệu mặc định
Trong ví dụ của chúng tôi, chúng tôi có một cơ sở dữ liệu có tên "
mysql> SELECT * FROM products WHERE quantity >= 5000 AND name LIKE 'Pen %'; +-----------+-------------+----------+----------+-------+ | productID | productCode | name | quantity | price | +-----------+-------------+----------+----------+-------+ | 1001 | PEN | Pen Red | 5000 | 1.23 | | 1002 | PEN | Pen Blue | 8000 | 1.25 | +-----------+-------------+----------+----------+-------+ mysql> SELECT * FROM products WHERE quantity >= 5000 AND price < 1.24 AND name LIKE 'Pen %'; +-----------+-------------+---------+----------+-------+ | productID | productCode | name | quantity | price | +-----------+-------------+---------+----------+-------+ | 1001 | PEN | Pen Red | 5000 | 1.23 | +-----------+-------------+---------+----------+-------+ mysql> SELECT * FROM products WHERE NOT [quantity >= 5000 AND name LIKE 'Pen %']; +-----------+-------------+-----------+----------+-------+ | productID | productCode | name | quantity | price | +-----------+-------------+-----------+----------+-------+ | 1003 | PEN | Pen Black | 2000 | 1.25 | | 1004 | PEC | Pencil 2B | 10000 | 0.48 | | 1005 | PEC | Pencil 2H | 8000 | 0.49 | +-----------+-------------+-----------+----------+-------+1" với một bảng có tên "
mysql> SELECT * FROM products WHERE quantity >= 5000 AND name LIKE 'Pen %'; +-----------+-------------+----------+----------+-------+ | productID | productCode | name | quantity | price | +-----------+-------------+----------+----------+-------+ | 1001 | PEN | Pen Red | 5000 | 1.23 | | 1002 | PEN | Pen Blue | 8000 | 1.25 | +-----------+-------------+----------+----------+-------+ mysql> SELECT * FROM products WHERE quantity >= 5000 AND price < 1.24 AND name LIKE 'Pen %'; +-----------+-------------+---------+----------+-------+ | productID | productCode | name | quantity | price | +-----------+-------------+---------+----------+-------+ | 1001 | PEN | Pen Red | 5000 | 1.23 | +-----------+-------------+---------+----------+-------+ mysql> SELECT * FROM products WHERE NOT [quantity >= 5000 AND name LIKE 'Pen %']; +-----------+-------------+-----------+----------+-------+ | productID | productCode | name | quantity | price | +-----------+-------------+-----------+----------+-------+ | 1003 | PEN | Pen Black | 2000 | 1.25 | | 1004 | PEC | Pencil 2B | 10000 | 0.48 | | 1005 | PEC | Pencil 2H | 8000 | 0.49 | +-----------+-------------+-----------+----------+-------+2". Nếu chúng tôi phát hành "
mysql> SELECT * FROM products WHERE productCode IS NULL; Empty set [0.00 sec]1" để đặt
mysql> SELECT * FROM products WHERE quantity >= 5000 AND name LIKE 'Pen %'; +-----------+-------------+----------+----------+-------+ | productID | productCode | name | quantity | price | +-----------+-------------+----------+----------+-------+ | 1001 | PEN | Pen Red | 5000 | 1.23 | | 1002 | PEN | Pen Blue | 8000 | 1.25 | +-----------+-------------+----------+----------+-------+ mysql> SELECT * FROM products WHERE quantity >= 5000 AND price < 1.24 AND name LIKE 'Pen %'; +-----------+-------------+---------+----------+-------+ | productID | productCode | name | quantity | price | +-----------+-------------+---------+----------+-------+ | 1001 | PEN | Pen Red | 5000 | 1.23 | +-----------+-------------+---------+----------+-------+ mysql> SELECT * FROM products WHERE NOT [quantity >= 5000 AND name LIKE 'Pen %']; +-----------+-------------+-----------+----------+-------+ | productID | productCode | name | quantity | price | +-----------+-------------+-----------+----------+-------+ | 1003 | PEN | Pen Black | 2000 | 1.25 | | 1004 | PEC | Pencil 2B | 10000 | 0.48 | | 1005 | PEC | Pencil 2H | 8000 | 0.49 | +-----------+-------------+-----------+----------+-------+1 làm cơ sở dữ liệu mặc định, chúng tôi chỉ cần gọi bảng là "
mysql> SELECT * FROM products WHERE quantity >= 5000 AND name LIKE 'Pen %'; +-----------+-------------+----------+----------+-------+ | productID | productCode | name | quantity | price | +-----------+-------------+----------+----------+-------+ | 1001 | PEN | Pen Red | 5000 | 1.23 | | 1002 | PEN | Pen Blue | 8000 | 1.25 | +-----------+-------------+----------+----------+-------+ mysql> SELECT * FROM products WHERE quantity >= 5000 AND price < 1.24 AND name LIKE 'Pen %'; +-----------+-------------+---------+----------+-------+ | productID | productCode | name | quantity | price | +-----------+-------------+---------+----------+-------+ | 1001 | PEN | Pen Red | 5000 | 1.23 | +-----------+-------------+---------+----------+-------+ mysql> SELECT * FROM products WHERE NOT [quantity >= 5000 AND name LIKE 'Pen %']; +-----------+-------------+-----------+----------+-------+ | productID | productCode | name | quantity | price | +-----------+-------------+-----------+----------+-------+ | 1003 | PEN | Pen Black | 2000 | 1.25 | | 1004 | PEC | Pencil 2B | 10000 | 0.48 | | 1005 | PEC | Pencil 2H | 8000 | 0.49 | +-----------+-------------+-----------+----------+-------+2". Mặt khác, chúng ta cần tham chiếu bảng là "
mysql> SELECT * FROM products WHERE productCode IS NULL; Empty set [0.00 sec]4"
Để hiển thị cơ sở dữ liệu mặc định hiện tại, hãy ra lệnh "______38_______5"
Tạo và xóa bảng - CREATE TABLE và DROP TABLE
Bạn có thể tạo một bảng mới trong cơ sở dữ liệu mặc định bằng cách sử dụng lệnh "_______38_______6" và "
mysql> SELECT * FROM products WHERE productCode IS NULL; Empty set [0.00 sec]7". Bạn cũng có thể áp dụng điều kiện "_______5_______5" hoặc "
mysql> SELECT * FROM products WHERE quantity >= 5000 AND name LIKE 'Pen %'; +-----------+-------------+----------+----------+-------+ | productID | productCode | name | quantity | price | +-----------+-------------+----------+----------+-------+ | 1001 | PEN | Pen Red | 5000 | 1.23 | | 1002 | PEN | Pen Blue | 8000 | 1.25 | +-----------+-------------+----------+----------+-------+ mysql> SELECT * FROM products WHERE quantity >= 5000 AND price < 1.24 AND name LIKE 'Pen %'; +-----------+-------------+---------+----------+-------+ | productID | productCode | name | quantity | price | +-----------+-------------+---------+----------+-------+ | 1001 | PEN | Pen Red | 5000 | 1.23 | +-----------+-------------+---------+----------+-------+ mysql> SELECT * FROM products WHERE NOT [quantity >= 5000 AND name LIKE 'Pen %']; +-----------+-------------+-----------+----------+-------+ | productID | productCode | name | quantity | price | +-----------+-------------+-----------+----------+-------+ | 1003 | PEN | Pen Black | 2000 | 1.25 | | 1004 | PEC | Pencil 2B | 10000 | 0.48 | | 1005 | PEC | Pencil 2H | 8000 | 0.49 | +-----------+-------------+-----------+----------+-------+6". Để tạo một bảng, bạn cần xác định tất cả các cột của nó bằng cách cung cấp tên, loại và thuộc tính của các cột
Hãy tạo một bảng "
mysql> SELECT * FROM products WHERE quantity >= 5000 AND name LIKE 'Pen %'; +-----------+-------------+----------+----------+-------+ | productID | productCode | name | quantity | price | +-----------+-------------+----------+----------+-------+ | 1001 | PEN | Pen Red | 5000 | 1.23 | | 1002 | PEN | Pen Blue | 8000 | 1.25 | +-----------+-------------+----------+----------+-------+ mysql> SELECT * FROM products WHERE quantity >= 5000 AND price < 1.24 AND name LIKE 'Pen %'; +-----------+-------------+---------+----------+-------+ | productID | productCode | name | quantity | price | +-----------+-------------+---------+----------+-------+ | 1001 | PEN | Pen Red | 5000 | 1.23 | +-----------+-------------+---------+----------+-------+ mysql> SELECT * FROM products WHERE NOT [quantity >= 5000 AND name LIKE 'Pen %']; +-----------+-------------+-----------+----------+-------+ | productID | productCode | name | quantity | price | +-----------+-------------+-----------+----------+-------+ | 1003 | PEN | Pen Black | 2000 | 1.25 | | 1004 | PEC | Pencil 2B | 10000 | 0.48 | | 1005 | PEC | Pencil 2H | 8000 | 0.49 | +-----------+-------------+-----------+----------+-------+2" trong cơ sở dữ liệu của chúng tôi "
mysql> SELECT * FROM products WHERE quantity >= 5000 AND name LIKE 'Pen %'; +-----------+-------------+----------+----------+-------+ | productID | productCode | name | quantity | price | +-----------+-------------+----------+----------+-------+ | 1001 | PEN | Pen Red | 5000 | 1.23 | | 1002 | PEN | Pen Blue | 8000 | 1.25 | +-----------+-------------+----------+----------+-------+ mysql> SELECT * FROM products WHERE quantity >= 5000 AND price < 1.24 AND name LIKE 'Pen %'; +-----------+-------------+---------+----------+-------+ | productID | productCode | name | quantity | price | +-----------+-------------+---------+----------+-------+ | 1001 | PEN | Pen Red | 5000 | 1.23 | +-----------+-------------+---------+----------+-------+ mysql> SELECT * FROM products WHERE NOT [quantity >= 5000 AND name LIKE 'Pen %']; +-----------+-------------+-----------+----------+-------+ | productID | productCode | name | quantity | price | +-----------+-------------+-----------+----------+-------+ | 1003 | PEN | Pen Black | 2000 | 1.25 | | 1004 | PEC | Pencil 2B | 10000 | 0.48 | | 1005 | PEC | Pencil 2H | 8000 | 0.49 | +-----------+-------------+-----------+----------+-------+1"giải thích
Chúng tôi xác định 5 cột trong bảng
mysql> SELECT * FROM products WHERE quantity >= 5000 AND name LIKE 'Pen %'; +-----------+-------------+----------+----------+-------+ | productID | productCode | name | quantity | price | +-----------+-------------+----------+----------+-------+ | 1001 | PEN | Pen Red | 5000 | 1.23 | | 1002 | PEN | Pen Blue | 8000 | 1.25 | +-----------+-------------+----------+----------+-------+ mysql> SELECT * FROM products WHERE quantity >= 5000 AND price < 1.24 AND name LIKE 'Pen %'; +-----------+-------------+---------+----------+-------+ | productID | productCode | name | quantity | price | +-----------+-------------+---------+----------+-------+ | 1001 | PEN | Pen Red | 5000 | 1.23 | +-----------+-------------+---------+----------+-------+ mysql> SELECT * FROM products WHERE NOT [quantity >= 5000 AND name LIKE 'Pen %']; +-----------+-------------+-----------+----------+-------+ | productID | productCode | name | quantity | price | +-----------+-------------+-----------+----------+-------+ | 1003 | PEN | Pen Black | 2000 | 1.25 | | 1004 | PEC | Pencil 2B | 10000 | 0.48 | | 1005 | PEC | Pencil 2H | 8000 | 0.49 | +-----------+-------------+-----------+----------+-------+2.
SELECT .. FROM tableName WHERE criteria ORDER BY columnA ASC|DESC, columnB ASC|DESC, ...3,
SELECT .. FROM tableName WHERE criteria ORDER BY columnA ASC|DESC, columnB ASC|DESC, ...4,
SELECT .. FROM tableName WHERE criteria ORDER BY columnA ASC|DESC, columnB ASC|DESC, ...5,
SELECT .. FROM tableName WHERE criteria ORDER BY columnA ASC|DESC, columnB ASC|DESC, ...6 và
SELECT .. FROM tableName WHERE criteria ORDER BY columnA ASC|DESC, columnB ASC|DESC, ...7. các loại là
SELECT .. FROM tableName WHERE criteria ORDER BY columnA ASC|DESC, columnB ASC|DESC, ...
3 isSELECT .. FROM tableName WHERE criteria ORDER BY columnA ASC|DESC, columnB ASC|DESC, ...
9 - số nguyên không âmSELECT .. FROM tableName WHERE criteria ORDER BY columnA ASC|DESC, columnB ASC|DESC, ...
4 làmysql> CREATE DATABASE southwind; Query OK, 1 row affected [0.03 sec] mysql> DROP DATABASE southwind; Query OK, 0 rows affected [0.11 sec] mysql> CREATE DATABASE IF NOT EXISTS southwind; Query OK, 1 row affected [0.01 sec] mysql> DROP DATABASE IF EXISTS southwind; Query OK, 0 rows affected [0.00 sec]
01 - một chuỗi chữ và số có độ dài cố định gồm 3 ký tựSELECT .. FROM tableName WHERE criteria ORDER BY columnA ASC|DESC, columnB ASC|DESC, ...
5 làmysql> CREATE DATABASE southwind; Query OK, 1 row affected [0.03 sec] mysql> DROP DATABASE southwind; Query OK, 0 rows affected [0.11 sec] mysql> CREATE DATABASE IF NOT EXISTS southwind; Query OK, 1 row affected [0.01 sec] mysql> DROP DATABASE IF EXISTS southwind; Query OK, 0 rows affected [0.00 sec]
03 - một chuỗi có độ dài thay đổi lên đến 30 ký tự
Chúng tôi sử dụng chuỗi có độ dài cố định choSELECT .. FROM tableName WHERE criteria ORDER BY columnA ASC|DESC, columnB ASC|DESC, ...
4, vì chúng tôi giả định rằngSELECT .. FROM tableName WHERE criteria ORDER BY columnA ASC|DESC, columnB ASC|DESC, ...
4 chứa chính xác 3 ký tự. Mặt khác, chúng tôi sử dụng chuỗi có độ dài thay đổi choSELECT .. FROM tableName WHERE criteria ORDER BY columnA ASC|DESC, columnB ASC|DESC, ...
5, vì độ dài của nó thay đổi -mysql> CREATE DATABASE southwind; Query OK, 1 row affected [0.03 sec] mysql> DROP DATABASE southwind; Query OK, 0 rows affected [0.11 sec] mysql> CREATE DATABASE IF NOT EXISTS southwind; Query OK, 1 row affected [0.01 sec] mysql> DROP DATABASE IF EXISTS southwind; Query OK, 0 rows affected [0.00 sec]
07 hiệu quả hơnmysql> CREATE DATABASE southwind; Query OK, 1 row affected [0.03 sec] mysql> DROP DATABASE southwind; Query OK, 0 rows affected [0.11 sec] mysql> CREATE DATABASE IF NOT EXISTS southwind; Query OK, 1 row affected [0.01 sec] mysql> DROP DATABASE IF EXISTS southwind; Query OK, 0 rows affected [0.00 sec]
08SELECT .. FROM tableName WHERE criteria ORDER BY columnA ASC|DESC, columnB ASC|DESC, ...
6 cũng làSELECT .. FROM tableName WHERE criteria ORDER BY columnA ASC|DESC, columnB ASC|DESC, ...
9 [số nguyên không âm]SELECT .. FROM tableName WHERE criteria ORDER BY columnA ASC|DESC, columnB ASC|DESC, ...
7 làmysql> CREATE DATABASE southwind; Query OK, 1 row affected [0.03 sec] mysql> DROP DATABASE southwind; Query OK, 0 rows affected [0.11 sec] mysql> CREATE DATABASE IF NOT EXISTS southwind; Query OK, 1 row affected [0.01 sec] mysql> DROP DATABASE IF EXISTS southwind; Query OK, 0 rows affected [0.00 sec]
12- một số thập phân có 2 chữ số thập phânmysql> CREATE DATABASE southwind; Query OK, 1 row affected [0.03 sec] mysql> DROP DATABASE southwind; Query OK, 0 rows affected [0.11 sec] mysql> CREATE DATABASE IF NOT EXISTS southwind; Query OK, 1 row affected [0.01 sec] mysql> DROP DATABASE IF EXISTS southwind; Query OK, 0 rows affected [0.00 sec]
13 là chính xác [được biểu thị dưới dạng số nguyên có dấu thập phân cố định]. Mặt khác,mysql> CREATE DATABASE southwind; Query OK, 1 row affected [0.03 sec] mysql> DROP DATABASE southwind; Query OK, 0 rows affected [0.11 sec] mysql> CREATE DATABASE IF NOT EXISTS southwind; Query OK, 1 row affected [0.01 sec] mysql> DROP DATABASE IF EXISTS southwind; Query OK, 0 rows affected [0.00 sec]
14 vàmysql> CREATE DATABASE southwind; Query OK, 1 row affected [0.03 sec] mysql> DROP DATABASE southwind; Query OK, 0 rows affected [0.11 sec] mysql> CREATE DATABASE IF NOT EXISTS southwind; Query OK, 1 row affected [0.01 sec] mysql> DROP DATABASE IF EXISTS southwind; Query OK, 0 rows affected [0.00 sec]
15 [số thực] không chính xác và chỉ xấp xỉ.mysql> CREATE DATABASE southwind; Query OK, 1 row affected [0.03 sec] mysql> DROP DATABASE southwind; Query OK, 0 rows affected [0.11 sec] mysql> CREATE DATABASE IF NOT EXISTS southwind; Query OK, 1 row affected [0.01 sec] mysql> DROP DATABASE IF EXISTS southwind; Query OK, 0 rows affected [0.00 sec]
13 loại được khuyến nghị cho tiền tệ
Thuộc tính "_______12_______17" xác định rằng cột không được chứa giá trị
mysql> CREATE DATABASE southwind; Query OK, 1 row affected [0.03 sec] mysql> DROP DATABASE southwind; Query OK, 0 rows affected [0.11 sec] mysql> CREATE DATABASE IF NOT EXISTS southwind; Query OK, 1 row affected [0.01 sec] mysql> DROP DATABASE IF EXISTS southwind; Query OK, 0 rows affected [0.00 sec]18.
mysql> CREATE DATABASE southwind; Query OK, 1 row affected [0.03 sec] mysql> DROP DATABASE southwind; Query OK, 0 rows affected [0.11 sec] mysql> CREATE DATABASE IF NOT EXISTS southwind; Query OK, 1 row affected [0.01 sec] mysql> DROP DATABASE IF EXISTS southwind; Query OK, 0 rows affected [0.00 sec]18 là một giá trị đặc biệt cho biết "không có giá trị", "giá trị không xác định" hoặc "giá trị bị thiếu". Trong trường hợp của chúng tôi, các cột này sẽ có một giá trị phù hợp. Chúng tôi cũng đặt giá trị mặc định của các cột. Cột sẽ nhận giá trị mặc định nếu không có giá trị nào được chỉ định trong quá trình tạo bản ghi
Chúng tôi đặt cột
SELECT .. FROM tableName WHERE criteria ORDER BY columnA ASC|DESC, columnB ASC|DESC, ...3 làm cái gọi là khóa chính. Giá trị của cột khóa chính phải là duy nhất. Mỗi bảng sẽ chứa một khóa chính. Điều này đảm bảo rằng mọi hàng có thể được phân biệt với các hàng khác. Bạn có thể chỉ định một cột hoặc một tập hợp các cột [e. g. ,
mysql> CREATE DATABASE southwind; Query OK, 1 row affected [0.03 sec] mysql> DROP DATABASE southwind; Query OK, 0 rows affected [0.11 sec] mysql> CREATE DATABASE IF NOT EXISTS southwind; Query OK, 1 row affected [0.01 sec] mysql> DROP DATABASE IF EXISTS southwind; Query OK, 0 rows affected [0.00 sec]21 và
mysql> CREATE DATABASE southwind; Query OK, 1 row affected [0.03 sec] mysql> DROP DATABASE southwind; Query OK, 0 rows affected [0.11 sec] mysql> CREATE DATABASE IF NOT EXISTS southwind; Query OK, 1 row affected [0.01 sec] mysql> DROP DATABASE IF EXISTS southwind; Query OK, 0 rows affected [0.00 sec]22] làm khóa chính. Một chỉ mục được xây dựng tự động trên cột khóa chính để hỗ trợ tìm kiếm nhanh. Khóa chính cũng được sử dụng làm tham chiếu cho các bảng khác
Chúng tôi đặt cột
SELECT .. FROM tableName WHERE criteria ORDER BY columnA ASC|DESC, columnB ASC|DESC, ...3 thành
mysql> CREATE DATABASE southwind; Query OK, 1 row affected [0.03 sec] mysql> DROP DATABASE southwind; Query OK, 0 rows affected [0.11 sec] mysql> CREATE DATABASE IF NOT EXISTS southwind; Query OK, 1 row affected [0.01 sec] mysql> DROP DATABASE IF EXISTS southwind; Query OK, 0 rows affected [0.00 sec]24. với giá trị bắt đầu mặc định là 1. Khi bạn chèn một hàng có
mysql> CREATE DATABASE southwind; Query OK, 1 row affected [0.03 sec] mysql> DROP DATABASE southwind; Query OK, 0 rows affected [0.11 sec] mysql> CREATE DATABASE IF NOT EXISTS southwind; Query OK, 1 row affected [0.01 sec] mysql> DROP DATABASE IF EXISTS southwind; Query OK, 0 rows affected [0.00 sec]18 [được đề xuất] [hoặc 0 hoặc giá trị bị thiếu] cho cột
mysql> CREATE DATABASE southwind; Query OK, 1 row affected [0.03 sec] mysql> DROP DATABASE southwind; Query OK, 0 rows affected [0.11 sec] mysql> CREATE DATABASE IF NOT EXISTS southwind; Query OK, 1 row affected [0.01 sec] mysql> DROP DATABASE IF EXISTS southwind; Query OK, 0 rows affected [0.00 sec]24, giá trị tối đa của cột đó cộng với 1 sẽ được chèn vào. Bạn cũng có thể chèn một giá trị hợp lệ vào cột
mysql> CREATE DATABASE southwind; Query OK, 1 row affected [0.03 sec] mysql> DROP DATABASE southwind; Query OK, 0 rows affected [0.11 sec] mysql> CREATE DATABASE IF NOT EXISTS southwind; Query OK, 1 row affected [0.01 sec] mysql> DROP DATABASE IF EXISTS southwind; Query OK, 0 rows affected [0.00 sec]24, bỏ qua phần tăng tự động
Chèn hàng - INSERT INTO
Hãy lấp đầy bảng "______5_______2" của chúng ta bằng các hàng. Chúng tôi đặt
SELECT .. FROM tableName WHERE criteria ORDER BY columnA ASC|DESC, columnB ASC|DESC, ...3 của bản ghi đầu tiên thành 1001 và sử dụng
mysql> CREATE DATABASE southwind; Query OK, 1 row affected [0.03 sec] mysql> DROP DATABASE southwind; Query OK, 0 rows affected [0.11 sec] mysql> CREATE DATABASE IF NOT EXISTS southwind; Query OK, 1 row affected [0.01 sec] mysql> DROP DATABASE IF EXISTS southwind; Query OK, 0 rows affected [0.00 sec]24 cho phần còn lại của bản ghi bằng cách chèn
mysql> CREATE DATABASE southwind; Query OK, 1 row affected [0.03 sec] mysql> DROP DATABASE southwind; Query OK, 0 rows affected [0.11 sec] mysql> CREATE DATABASE IF NOT EXISTS southwind; Query OK, 1 row affected [0.01 sec] mysql> DROP DATABASE IF EXISTS southwind; Query OK, 0 rows affected [0.00 sec]18 hoặc với giá trị cột bị thiếu. Lưu ý rằng các chuỗi phải được đặt trong một cặp dấu ngoặc đơn [hoặc dấu ngoặc kép]CHÈN VÀO Cú pháp
Chúng ta có thể sử dụng câu lệnh
mysql> CREATE DATABASE southwind; Query OK, 1 row affected [0.03 sec] mysql> DROP DATABASE southwind; Query OK, 0 rows affected [0.11 sec] mysql> CREATE DATABASE IF NOT EXISTS southwind; Query OK, 1 row affected [0.01 sec] mysql> DROP DATABASE IF EXISTS southwind; Query OK, 0 rows affected [0.00 sec]32 để chèn một hàng mới với tất cả các giá trị của cột, sử dụng cú pháp sau
Bạn cần liệt kê các giá trị theo cùng thứ tự mà các cột được xác định trong
mysql> CREATE DATABASE southwind; Query OK, 1 row affected [0.03 sec] mysql> DROP DATABASE southwind; Query OK, 0 rows affected [0.11 sec] mysql> CREATE DATABASE IF NOT EXISTS southwind; Query OK, 1 row affected [0.01 sec] mysql> DROP DATABASE IF EXISTS southwind; Query OK, 0 rows affected [0.00 sec]33, được phân tách bằng dấu phẩy. Đối với các cột kiểu dữ liệu chuỗi [_______12_______08,
mysql> CREATE DATABASE southwind; Query OK, 1 row affected [0.03 sec] mysql> DROP DATABASE southwind; Query OK, 0 rows affected [0.11 sec] mysql> CREATE DATABASE IF NOT EXISTS southwind; Query OK, 1 row affected [0.01 sec] mysql> DROP DATABASE IF EXISTS southwind; Query OK, 0 rows affected [0.00 sec]07] thì kèm theo giá trị bằng một cặp dấu nháy đơn [hoặc nháy kép]. Đối với các cột có kiểu dữ liệu số [
mysql> CREATE DATABASE southwind; Query OK, 1 row affected [0.03 sec] mysql> DROP DATABASE southwind; Query OK, 0 rows affected [0.11 sec] mysql> CREATE DATABASE IF NOT EXISTS southwind; Query OK, 1 row affected [0.01 sec] mysql> DROP DATABASE IF EXISTS southwind; Query OK, 0 rows affected [0.00 sec]36,
mysql> CREATE DATABASE southwind; Query OK, 1 row affected [0.03 sec] mysql> DROP DATABASE southwind; Query OK, 0 rows affected [0.11 sec] mysql> CREATE DATABASE IF NOT EXISTS southwind; Query OK, 1 row affected [0.01 sec] mysql> DROP DATABASE IF EXISTS southwind; Query OK, 0 rows affected [0.00 sec]13,
mysql> CREATE DATABASE southwind; Query OK, 1 row affected [0.03 sec] mysql> DROP DATABASE southwind; Query OK, 0 rows affected [0.11 sec] mysql> CREATE DATABASE IF NOT EXISTS southwind; Query OK, 1 row affected [0.01 sec] mysql> DROP DATABASE IF EXISTS southwind; Query OK, 0 rows affected [0.00 sec]14,
mysql> CREATE DATABASE southwind; Query OK, 1 row affected [0.03 sec] mysql> DROP DATABASE southwind; Query OK, 0 rows affected [0.11 sec] mysql> CREATE DATABASE IF NOT EXISTS southwind; Query OK, 1 row affected [0.01 sec] mysql> DROP DATABASE IF EXISTS southwind; Query OK, 0 rows affected [0.00 sec]15], chỉ cần đặt số
Bạn cũng có thể chèn nhiều hàng vào một câu lệnh
mysql> CREATE DATABASE southwind; Query OK, 1 row affected [0.03 sec] mysql> DROP DATABASE southwind; Query OK, 0 rows affected [0.11 sec] mysql> CREATE DATABASE IF NOT EXISTS southwind; Query OK, 1 row affected [0.01 sec] mysql> DROP DATABASE IF EXISTS southwind; Query OK, 0 rows affected [0.00 sec]32
INSERT INTO tableName VALUES [row1FirstColumnValue, ..., row1lastColumnValue], [row2FirstColumnValue, ..., row2lastColumnValue], ...
Để chỉ chèn một hàng có giá trị trên các cột đã chọn, hãy sử dụng
Các cột còn lại sẽ nhận giá trị mặc định, chẳng hạn như
mysql> CREATE DATABASE southwind; Query OK, 1 row affected [0.03 sec] mysql> DROP DATABASE southwind; Query OK, 0 rows affected [0.11 sec] mysql> CREATE DATABASE IF NOT EXISTS southwind; Query OK, 1 row affected [0.01 sec] mysql> DROP DATABASE IF EXISTS southwind; Query OK, 0 rows affected [0.00 sec]24, mặc định hoặc
mysql> CREATE DATABASE southwind; Query OK, 1 row affected [0.03 sec] mysql> DROP DATABASE southwind; Query OK, 0 rows affected [0.11 sec] mysql> CREATE DATABASE IF NOT EXISTS southwind; Query OK, 1 row affected [0.01 sec] mysql> DROP DATABASE IF EXISTS southwind; Query OK, 0 rows affected [0.00 sec]18
Truy vấn cơ sở dữ liệu - CHỌN
Nhiệm vụ phổ biến, quan trọng và phức tạp nhất là truy vấn cơ sở dữ liệu để tìm tập hợp con dữ liệu đáp ứng nhu cầu của bạn - bằng lệnh
mysql> CREATE DATABASE southwind; Query OK, 1 row affected [0.03 sec] mysql> DROP DATABASE southwind; Query OK, 0 rows affected [0.11 sec] mysql> CREATE DATABASE IF NOT EXISTS southwind; Query OK, 1 row affected [0.01 sec] mysql> DROP DATABASE IF EXISTS southwind; Query OK, 0 rows affected [0.00 sec]43. Lệnh
mysql> CREATE DATABASE southwind; Query OK, 1 row affected [0.03 sec] mysql> DROP DATABASE southwind; Query OK, 0 rows affected [0.11 sec] mysql> CREATE DATABASE IF NOT EXISTS southwind; Query OK, 1 row affected [0.01 sec] mysql> DROP DATABASE IF EXISTS southwind; Query OK, 0 rows affected [0.00 sec]43 có cú pháp như sau
Ví dụ như,
Bạn cũng có thể phát hành
mysql> CREATE DATABASE southwind; Query OK, 1 row affected [0.03 sec] mysql> DROP DATABASE southwind; Query OK, 0 rows affected [0.11 sec] mysql> CREATE DATABASE IF NOT EXISTS southwind; Query OK, 1 row affected [0.01 sec] mysql> DROP DATABASE IF EXISTS southwind; Query OK, 0 rows affected [0.00 sec]43 mà không cần bàn. Ví dụ: bạn có thể
mysql> CREATE DATABASE southwind; Query OK, 1 row affected [0.03 sec] mysql> DROP DATABASE southwind; Query OK, 0 rows affected [0.11 sec] mysql> CREATE DATABASE IF NOT EXISTS southwind; Query OK, 1 row affected [0.01 sec] mysql> DROP DATABASE IF EXISTS southwind; Query OK, 0 rows affected [0.00 sec]43 một biểu thức hoặc đánh giá một hàm dựng sẵnToán tử so sánh
Đối với các số [
mysql> CREATE DATABASE southwind; Query OK, 1 row affected [0.03 sec] mysql> DROP DATABASE southwind; Query OK, 0 rows affected [0.11 sec] mysql> CREATE DATABASE IF NOT EXISTS southwind; Query OK, 1 row affected [0.01 sec] mysql> DROP DATABASE IF EXISTS southwind; Query OK, 0 rows affected [0.00 sec]36,
mysql> CREATE DATABASE southwind; Query OK, 1 row affected [0.03 sec] mysql> DROP DATABASE southwind; Query OK, 0 rows affected [0.11 sec] mysql> CREATE DATABASE IF NOT EXISTS southwind; Query OK, 1 row affected [0.01 sec] mysql> DROP DATABASE IF EXISTS southwind; Query OK, 0 rows affected [0.00 sec]13,
mysql> CREATE DATABASE southwind; Query OK, 1 row affected [0.03 sec] mysql> DROP DATABASE southwind; Query OK, 0 rows affected [0.11 sec] mysql> CREATE DATABASE IF NOT EXISTS southwind; Query OK, 1 row affected [0.01 sec] mysql> DROP DATABASE IF EXISTS southwind; Query OK, 0 rows affected [0.00 sec]14], bạn có thể sử dụng các toán tử so sánh.
mysql> CREATE DATABASE southwind; Query OK, 1 row affected [0.03 sec] mysql> DROP DATABASE southwind; Query OK, 0 rows affected [0.11 sec] mysql> CREATE DATABASE IF NOT EXISTS southwind; Query OK, 1 row affected [0.01 sec] mysql> DROP DATABASE IF EXISTS southwind; Query OK, 0 rows affected [0.00 sec]50 [bằng],
mysql> CREATE DATABASE southwind; Query OK, 1 row affected [0.03 sec] mysql> DROP DATABASE southwind; Query OK, 0 rows affected [0.11 sec] mysql> CREATE DATABASE IF NOT EXISTS southwind; Query OK, 1 row affected [0.01 sec] mysql> DROP DATABASE IF EXISTS southwind; Query OK, 0 rows affected [0.00 sec]51 hoặc
mysql> CREATE DATABASE southwind; Query OK, 1 row affected [0.03 sec] mysql> DROP DATABASE southwind; Query OK, 0 rows affected [0.11 sec] mysql> CREATE DATABASE IF NOT EXISTS southwind; Query OK, 1 row affected [0.01 sec] mysql> DROP DATABASE IF EXISTS southwind; Query OK, 0 rows affected [0.00 sec]52 [không bằng],
mysql> CREATE DATABASE southwind; Query OK, 1 row affected [0.03 sec] mysql> DROP DATABASE southwind; Query OK, 0 rows affected [0.11 sec] mysql> CREATE DATABASE IF NOT EXISTS southwind; Query OK, 1 row affected [0.01 sec] mysql> DROP DATABASE IF EXISTS southwind; Query OK, 0 rows affected [0.00 sec]53 [lớn hơn],
mysql> CREATE DATABASE southwind; Query OK, 1 row affected [0.03 sec] mysql> DROP DATABASE southwind; Query OK, 0 rows affected [0.11 sec] mysql> CREATE DATABASE IF NOT EXISTS southwind; Query OK, 1 row affected [0.01 sec] mysql> DROP DATABASE IF EXISTS southwind; Query OK, 0 rows affected [0.00 sec]54 [nhỏ hơn],
mysql> CREATE DATABASE southwind; Query OK, 1 row affected [0.03 sec] mysql> DROP DATABASE southwind; Query OK, 0 rows affected [0.11 sec] mysql> CREATE DATABASE IF NOT EXISTS southwind; Query OK, 1 row affected [0.01 sec] mysql> DROP DATABASE IF EXISTS southwind; Query OK, 0 rows affected [0.00 sec]55 [lớn hơn hoặc bằng],
mysql> CREATE DATABASE southwind; Query OK, 1 row affected [0.03 sec] mysql> DROP DATABASE southwind; Query OK, 0 rows affected [0.11 sec] mysql> CREATE DATABASE IF NOT EXISTS southwind; Query OK, 1 row affected [0.01 sec] mysql> DROP DATABASE IF EXISTS southwind; Query OK, 0 rows affected [0.00 sec]56 [nhỏ hơn hoặc bằng], để so sánh hai số. Ví dụ,
mysql> CREATE DATABASE southwind; Query OK, 1 row affected [0.03 sec] mysql> DROP DATABASE southwind; Query OK, 0 rows affected [0.11 sec] mysql> CREATE DATABASE IF NOT EXISTS southwind; Query OK, 1 row affected [0.01 sec] mysql> DROP DATABASE IF EXISTS southwind; Query OK, 0 rows affected [0.00 sec]57,
mysql> CREATE DATABASE southwind; Query OK, 1 row affected [0.03 sec] mysql> DROP DATABASE southwind; Query OK, 0 rows affected [0.11 sec] mysql> CREATE DATABASE IF NOT EXISTS southwind; Query OK, 1 row affected [0.01 sec] mysql> DROP DATABASE IF EXISTS southwind; Query OK, 0 rows affected [0.00 sec]58
mysql> SELECT name, price FROM products WHERE price < 1.0; +-----------+-------+ | name | price | +-----------+-------+ | Pencil 2B | 0.48 | | Pencil 2H | 0.49 | +-----------+-------+ 2 rows in set [0.00 sec] mysql> SELECT name, quantity FROM products WHERE quantity CREATE DATABASE southwind; Query OK, 1 row affected [0.03 sec] mysql> DROP DATABASE southwind; Query OK, 0 rows affected [0.11 sec] mysql> CREATE DATABASE IF NOT EXISTS southwind; Query OK, 1 row affected [0.01 sec] mysql> DROP DATABASE IF EXISTS southwind; Query OK, 0 rows affected [0.00 sec]14 [số thực] [
mysql> CREATE DATABASE southwind; Query OK, 1 row affected [0.03 sec] mysql> DROP DATABASE southwind; Query OK, 0 rows affected [0.11 sec] mysql> CREATE DATABASE IF NOT EXISTS southwind; Query OK, 1 row affected [0.01 sec] mysql> DROP DATABASE IF EXISTS southwind; Query OK, 0 rows affected [0.00 sec]50 hoặc
mysql> CREATE DATABASE southwind; Query OK, 1 row affected [0.03 sec] mysql> DROP DATABASE southwind; Query OK, 0 rows affected [0.11 sec] mysql> CREATE DATABASE IF NOT EXISTS southwind; Query OK, 1 row affected [0.01 sec] mysql> DROP DATABASE IF EXISTS southwind; Query OK, 0 rows affected [0.00 sec]51], vì chúng không chính xác. Mặt khác,
mysql> CREATE DATABASE southwind; Query OK, 1 row affected [0.03 sec] mysql> DROP DATABASE southwind; Query OK, 0 rows affected [0.11 sec] mysql> CREATE DATABASE IF NOT EXISTS southwind; Query OK, 1 row affected [0.01 sec] mysql> DROP DATABASE IF EXISTS southwind; Query OK, 0 rows affected [0.00 sec]13 là chính xác
Đối với chuỗi, bạn cũng có thể sử dụng
mysql> CREATE DATABASE southwind; Query OK, 1 row affected [0.03 sec] mysql> DROP DATABASE southwind; Query OK, 0 rows affected [0.11 sec] mysql> CREATE DATABASE IF NOT EXISTS southwind; Query OK, 1 row affected [0.01 sec] mysql> DROP DATABASE IF EXISTS southwind; Query OK, 0 rows affected [0.00 sec]50,
mysql> CREATE DATABASE southwind; Query OK, 1 row affected [0.03 sec] mysql> DROP DATABASE southwind; Query OK, 0 rows affected [0.11 sec] mysql> CREATE DATABASE IF NOT EXISTS southwind; Query OK, 1 row affected [0.01 sec] mysql> DROP DATABASE IF EXISTS southwind; Query OK, 0 rows affected [0.00 sec]51,
mysql> CREATE DATABASE southwind; Query OK, 1 row affected [0.03 sec] mysql> DROP DATABASE southwind; Query OK, 0 rows affected [0.11 sec] mysql> CREATE DATABASE IF NOT EXISTS southwind; Query OK, 1 row affected [0.01 sec] mysql> DROP DATABASE IF EXISTS southwind; Query OK, 0 rows affected [0.00 sec]53,
mysql> CREATE DATABASE southwind; Query OK, 1 row affected [0.03 sec] mysql> DROP DATABASE southwind; Query OK, 0 rows affected [0.11 sec] mysql> CREATE DATABASE IF NOT EXISTS southwind; Query OK, 1 row affected [0.01 sec] mysql> DROP DATABASE IF EXISTS southwind; Query OK, 0 rows affected [0.00 sec]54,
mysql> CREATE DATABASE southwind; Query OK, 1 row affected [0.03 sec] mysql> DROP DATABASE southwind; Query OK, 0 rows affected [0.11 sec] mysql> CREATE DATABASE IF NOT EXISTS southwind; Query OK, 1 row affected [0.01 sec] mysql> DROP DATABASE IF EXISTS southwind; Query OK, 0 rows affected [0.00 sec]55,
mysql> CREATE DATABASE southwind; Query OK, 1 row affected [0.03 sec] mysql> DROP DATABASE southwind; Query OK, 0 rows affected [0.11 sec] mysql> CREATE DATABASE IF NOT EXISTS southwind; Query OK, 1 row affected [0.01 sec] mysql> DROP DATABASE IF EXISTS southwind; Query OK, 0 rows affected [0.00 sec]56 để so sánh hai chuỗi [e. g. ,
mysql> CREATE DATABASE southwind; Query OK, 1 row affected [0.03 sec] mysql> DROP DATABASE southwind; Query OK, 0 rows affected [0.11 sec] mysql> CREATE DATABASE IF NOT EXISTS southwind; Query OK, 1 row affected [0.01 sec] mysql> DROP DATABASE IF EXISTS southwind; Query OK, 0 rows affected [0.00 sec]69 Thứ tự của chuỗi phụ thuộc vào cái gọi là đối chiếu được chọn. Ví dụ,Khớp mẫu chuỗi - THÍCH và KHÔNG THÍCH
Đối với các chuỗi, ngoài việc khớp hoàn toàn bằng cách sử dụng các toán tử như
mysql> CREATE DATABASE southwind; Query OK, 1 row affected [0.03 sec] mysql> DROP DATABASE southwind; Query OK, 0 rows affected [0.11 sec] mysql> CREATE DATABASE IF NOT EXISTS southwind; Query OK, 1 row affected [0.01 sec] mysql> DROP DATABASE IF EXISTS southwind; Query OK, 0 rows affected [0.00 sec]50 và
mysql> CREATE DATABASE southwind; Query OK, 1 row affected [0.03 sec] mysql> DROP DATABASE southwind; Query OK, 0 rows affected [0.11 sec] mysql> CREATE DATABASE IF NOT EXISTS southwind; Query OK, 1 row affected [0.01 sec] mysql> DROP DATABASE IF EXISTS southwind; Query OK, 0 rows affected [0.00 sec]51, chúng ta có thể thực hiện khớp mẫu bằng cách sử dụng toán tử
mysql> CREATE DATABASE southwind; Query OK, 1 row affected [0.03 sec] mysql> DROP DATABASE southwind; Query OK, 0 rows affected [0.11 sec] mysql> CREATE DATABASE IF NOT EXISTS southwind; Query OK, 1 row affected [0.01 sec] mysql> DROP DATABASE IF EXISTS southwind; Query OK, 0 rows affected [0.00 sec]72 [hoặc
mysql> CREATE DATABASE southwind; Query OK, 1 row affected [0.03 sec] mysql> DROP DATABASE southwind; Query OK, 0 rows affected [0.11 sec] mysql> CREATE DATABASE IF NOT EXISTS southwind; Query OK, 1 row affected [0.01 sec] mysql> DROP DATABASE IF EXISTS southwind; Query OK, 0 rows affected [0.00 sec]73] với các ký tự đại diện. Ký tự đại diện
mysql> CREATE DATABASE southwind; Query OK, 1 row affected [0.03 sec] mysql> DROP DATABASE southwind; Query OK, 0 rows affected [0.11 sec] mysql> CREATE DATABASE IF NOT EXISTS southwind; Query OK, 1 row affected [0.01 sec] mysql> DROP DATABASE IF EXISTS southwind; Query OK, 0 rows affected [0.00 sec]74 khớp với bất kỳ ký tự đơn nào; . Ví dụ,
mysql> CREATE DATABASE southwind; Query OK, 1 row affected [0.03 sec] mysql> DROP DATABASE southwind; Query OK, 0 rows affected [0.11 sec] mysql> CREATE DATABASE IF NOT EXISTS southwind; Query OK, 1 row affected [0.01 sec] mysql> DROP DATABASE IF EXISTS southwind; Query OK, 0 rows affected [0.00 sec]
76 khớp với các chuỗi bắt đầu bằngmysql> CREATE DATABASE southwind; Query OK, 1 row affected [0.03 sec] mysql> DROP DATABASE southwind; Query OK, 0 rows affected [0.11 sec] mysql> CREATE DATABASE IF NOT EXISTS southwind; Query OK, 1 row affected [0.01 sec] mysql> DROP DATABASE IF EXISTS southwind; Query OK, 0 rows affected [0.00 sec]
77;mysql> CREATE DATABASE southwind; Query OK, 1 row affected [0.03 sec] mysql> DROP DATABASE southwind; Query OK, 0 rows affected [0.11 sec] mysql> CREATE DATABASE IF NOT EXISTS southwind; Query OK, 1 row affected [0.01 sec] mysql> DROP DATABASE IF EXISTS southwind; Query OK, 0 rows affected [0.00 sec]
78 khớp với các chuỗi kết thúc bằngmysql> CREATE DATABASE southwind; Query OK, 1 row affected [0.03 sec] mysql> DROP DATABASE southwind; Query OK, 0 rows affected [0.11 sec] mysql> CREATE DATABASE IF NOT EXISTS southwind; Query OK, 1 row affected [0.01 sec] mysql> DROP DATABASE IF EXISTS southwind; Query OK, 0 rows affected [0.00 sec]
79;mysql> CREATE DATABASE southwind; Query OK, 1 row affected [0.03 sec] mysql> DROP DATABASE southwind; Query OK, 0 rows affected [0.11 sec] mysql> CREATE DATABASE IF NOT EXISTS southwind; Query OK, 1 row affected [0.01 sec] mysql> DROP DATABASE IF EXISTS southwind; Query OK, 0 rows affected [0.00 sec]
80 khớp với các chuỗi chứamysql> CREATE DATABASE southwind; Query OK, 1 row affected [0.03 sec] mysql> DROP DATABASE southwind; Query OK, 0 rows affected [0.11 sec] mysql> CREATE DATABASE IF NOT EXISTS southwind; Query OK, 1 row affected [0.01 sec] mysql> DROP DATABASE IF EXISTS southwind; Query OK, 0 rows affected [0.00 sec]
81;mysql> CREATE DATABASE southwind; Query OK, 1 row affected [0.03 sec] mysql> DROP DATABASE southwind; Query OK, 0 rows affected [0.11 sec] mysql> CREATE DATABASE IF NOT EXISTS southwind; Query OK, 1 row affected [0.01 sec] mysql> DROP DATABASE IF EXISTS southwind; Query OK, 0 rows affected [0.00 sec]
82 khớp với các chuỗi chứa chính xác ba ký tự;mysql> CREATE DATABASE southwind; Query OK, 1 row affected [0.03 sec] mysql> DROP DATABASE southwind; Query OK, 0 rows affected [0.11 sec] mysql> CREATE DATABASE IF NOT EXISTS southwind; Query OK, 1 row affected [0.01 sec] mysql> DROP DATABASE IF EXISTS southwind; Query OK, 0 rows affected [0.00 sec]
83 khớp với các chuỗi bắt đầu bằngmysql> CREATE DATABASE southwind; Query OK, 1 row affected [0.03 sec] mysql> DROP DATABASE southwind; Query OK, 0 rows affected [0.11 sec] mysql> CREATE DATABASE IF NOT EXISTS southwind; Query OK, 1 row affected [0.01 sec] mysql> DROP DATABASE IF EXISTS southwind; Query OK, 0 rows affected [0.00 sec]
84, theo sau là bất kỳ ký tự đơn nào, theo sau làmysql> CREATE DATABASE southwind; Query OK, 1 row affected [0.03 sec] mysql> DROP DATABASE southwind; Query OK, 0 rows affected [0.11 sec] mysql> CREATE DATABASE IF NOT EXISTS southwind; Query OK, 1 row affected [0.01 sec] mysql> DROP DATABASE IF EXISTS southwind; Query OK, 0 rows affected [0.00 sec]
85, theo sau là 0 hoặc nhiều ký tự
MySQL cũng hỗ trợ khớp biểu thức chính quy thông qua toán tử
mysql> CREATE DATABASE southwind; Query OK, 1 row affected [0.03 sec] mysql> DROP DATABASE southwind; Query OK, 0 rows affected [0.11 sec] mysql> CREATE DATABASE IF NOT EXISTS southwind; Query OK, 1 row affected [0.01 sec] mysql> DROP DATABASE IF EXISTS southwind; Query OK, 0 rows affected [0.00 sec]86toán tử số học
Bạn có thể thực hiện các phép toán số học trên các trường số bằng các toán tử số học, như được lập bảng dưới đây
Toán tử Mô tả+Cộng-Trừ*Nhân/chia DIVInteger Division%Modulus [Phần dư]Toán tử logic - AND, OR, NOT, XORBạn có thể kết hợp nhiều điều kiện với toán tử boolean
mysql> CREATE DATABASE southwind; Query OK, 1 row affected [0.03 sec] mysql> DROP DATABASE southwind; Query OK, 0 rows affected [0.11 sec] mysql> CREATE DATABASE IF NOT EXISTS southwind; Query OK, 1 row affected [0.01 sec] mysql> DROP DATABASE IF EXISTS southwind; Query OK, 0 rows affected [0.00 sec]87,
mysql> CREATE DATABASE southwind; Query OK, 1 row affected [0.03 sec] mysql> DROP DATABASE southwind; Query OK, 0 rows affected [0.11 sec] mysql> CREATE DATABASE IF NOT EXISTS southwind; Query OK, 1 row affected [0.01 sec] mysql> DROP DATABASE IF EXISTS southwind; Query OK, 0 rows affected [0.00 sec]88,
mysql> CREATE DATABASE southwind; Query OK, 1 row affected [0.03 sec] mysql> DROP DATABASE southwind; Query OK, 0 rows affected [0.11 sec] mysql> CREATE DATABASE IF NOT EXISTS southwind; Query OK, 1 row affected [0.01 sec] mysql> DROP DATABASE IF EXISTS southwind; Query OK, 0 rows affected [0.00 sec]89. Bạn cũng có thể đảo ngược điều kiện bằng cách sử dụng toán tử
mysql> CREATE DATABASE southwind; Query OK, 1 row affected [0.03 sec] mysql> DROP DATABASE southwind; Query OK, 0 rows affected [0.11 sec] mysql> CREATE DATABASE IF NOT EXISTS southwind; Query OK, 1 row affected [0.01 sec] mysql> DROP DATABASE IF EXISTS southwind; Query OK, 0 rows affected [0.00 sec]90. Ví dụ như,
mysql> SELECT * FROM products WHERE quantity >= 5000 AND name LIKE 'Pen %'; +-----------+-------------+----------+----------+-------+ | productID | productCode | name | quantity | price | +-----------+-------------+----------+----------+-------+ | 1001 | PEN | Pen Red | 5000 | 1.23 | | 1002 | PEN | Pen Blue | 8000 | 1.25 | +-----------+-------------+----------+----------+-------+ mysql> SELECT * FROM products WHERE quantity >= 5000 AND price < 1.24 AND name LIKE 'Pen %'; +-----------+-------------+---------+----------+-------+ | productID | productCode | name | quantity | price | +-----------+-------------+---------+----------+-------+ | 1001 | PEN | Pen Red | 5000 | 1.23 | +-----------+-------------+---------+----------+-------+ mysql> SELECT * FROM products WHERE NOT [quantity >= 5000 AND name LIKE 'Pen %']; +-----------+-------------+-----------+----------+-------+ | productID | productCode | name | quantity | price | +-----------+-------------+-----------+----------+-------+ | 1003 | PEN | Pen Black | 2000 | 1.25 | | 1004 | PEC | Pencil 2B | 10000 | 0.48 | | 1005 | PEC | Pencil 2H | 8000 | 0.49 | +-----------+-------------+-----------+----------+-------+VÀO, KHÔNG VÀO
Bạn có thể chọn từ các phần tử của một tập hợp với toán tử
mysql> CREATE DATABASE southwind; Query OK, 1 row affected [0.03 sec] mysql> DROP DATABASE southwind; Query OK, 0 rows affected [0.11 sec] mysql> CREATE DATABASE IF NOT EXISTS southwind; Query OK, 1 row affected [0.01 sec] mysql> DROP DATABASE IF EXISTS southwind; Query OK, 0 rows affected [0.00 sec]91 [hoặc
mysql> CREATE DATABASE southwind; Query OK, 1 row affected [0.03 sec] mysql> DROP DATABASE southwind; Query OK, 0 rows affected [0.11 sec] mysql> CREATE DATABASE IF NOT EXISTS southwind; Query OK, 1 row affected [0.01 sec] mysql> DROP DATABASE IF EXISTS southwind; Query OK, 0 rows affected [0.00 sec]92]. Điều này dễ dàng và rõ ràng hơn so với biểu thức
mysql> CREATE DATABASE southwind; Query OK, 1 row affected [0.03 sec] mysql> DROP DATABASE southwind; Query OK, 0 rows affected [0.11 sec] mysql> CREATE DATABASE IF NOT EXISTS southwind; Query OK, 1 row affected [0.01 sec] mysql> DROP DATABASE IF EXISTS southwind; Query OK, 0 rows affected [0.00 sec]93 tương đương
mysql> SELECT * FROM products WHERE name IN ['Pen Red', 'Pen Black']; +-----------+-------------+-----------+----------+-------+ | productID | productCode | name | quantity | price | +-----------+-------------+-----------+----------+-------+ | 1001 | PEN | Pen Red | 5000 | 1.23 | | 1003 | PEN | Pen Black | 2000 | 1.25 | +-----------+-------------+-----------+----------+-------+GIỮA, KHÔNG GIỮA
Để kiểm tra xem giá trị có nằm trong một phạm vi hay không, bạn có thể sử dụng toán tử
mysql> CREATE DATABASE southwind; Query OK, 1 row affected [0.03 sec] mysql> DROP DATABASE southwind; Query OK, 0 rows affected [0.11 sec] mysql> CREATE DATABASE IF NOT EXISTS southwind; Query OK, 1 row affected [0.01 sec] mysql> DROP DATABASE IF EXISTS southwind; Query OK, 0 rows affected [0.00 sec]94. Một lần nữa, điều này dễ dàng và rõ ràng hơn biểu thức
mysql> CREATE DATABASE southwind; Query OK, 1 row affected [0.03 sec] mysql> DROP DATABASE southwind; Query OK, 0 rows affected [0.11 sec] mysql> CREATE DATABASE IF NOT EXISTS southwind; Query OK, 1 row affected [0.01 sec] mysql> DROP DATABASE IF EXISTS southwind; Query OK, 0 rows affected [0.00 sec]93 tương đương
mysql> SELECT * FROM products WHERE [price BETWEEN 1.0 AND 2.0] AND [quantity BETWEEN 1000 AND 2000]; +-----------+-------------+-----------+----------+-------+ | productID | productCode | name | quantity | price | +-----------+-------------+-----------+----------+-------+ | 1003 | PEN | Pen Black | 2000 | 1.25 | +-----------+-------------+-----------+----------+-------+LÀ NULL, KHÔNG PHẢI LÀ NULL
mysql> CREATE DATABASE southwind; Query OK, 1 row affected [0.03 sec] mysql> DROP DATABASE southwind; Query OK, 0 rows affected [0.11 sec] mysql> CREATE DATABASE IF NOT EXISTS southwind; Query OK, 1 row affected [0.01 sec] mysql> DROP DATABASE IF EXISTS southwind; Query OK, 0 rows affected [0.00 sec]18 là một giá trị đặc biệt, đại diện cho "không có giá trị", "giá trị bị thiếu" hoặc "giá trị không xác định". Bạn có thể kiểm tra xem một cột có chứa
mysql> CREATE DATABASE southwind; Query OK, 1 row affected [0.03 sec] mysql> DROP DATABASE southwind; Query OK, 0 rows affected [0.11 sec] mysql> CREATE DATABASE IF NOT EXISTS southwind; Query OK, 1 row affected [0.01 sec] mysql> DROP DATABASE IF EXISTS southwind; Query OK, 0 rows affected [0.00 sec]18 bởi
mysql> CREATE DATABASE southwind; Query OK, 1 row affected [0.03 sec] mysql> DROP DATABASE southwind; Query OK, 0 rows affected [0.11 sec] mysql> CREATE DATABASE IF NOT EXISTS southwind; Query OK, 1 row affected [0.01 sec] mysql> DROP DATABASE IF EXISTS southwind; Query OK, 0 rows affected [0.00 sec]98 hoặc
mysql> CREATE DATABASE southwind; Query OK, 1 row affected [0.03 sec] mysql> DROP DATABASE southwind; Query OK, 0 rows affected [0.11 sec] mysql> CREATE DATABASE IF NOT EXISTS southwind; Query OK, 1 row affected [0.01 sec] mysql> DROP DATABASE IF EXISTS southwind; Query OK, 0 rows affected [0.00 sec]99 hay không. Ví dụ,
mysql> SELECT * FROM products WHERE productCode IS NULL; Empty set [0.00 sec]
Sử dụng toán tử so sánh [chẳng hạn như
mysql> CREATE DATABASE IF NOT EXISTS southwind; mysql> SHOW CREATE DATABASE southwind \G *************************** 1. row *************************** Database: southwind Create Database: CREATE DATABASE `southwind` /*!40100 DEFAULT CHARACTER SET latin1 */00 hoặc
mysql> CREATE DATABASE IF NOT EXISTS southwind; mysql> SHOW CREATE DATABASE southwind \G *************************** 1. row *************************** Database: southwind Create Database: CREATE DATABASE `southwind` /*!40100 DEFAULT CHARACTER SET latin1 */01] để kiểm tra
mysql> CREATE DATABASE southwind; Query OK, 1 row affected [0.03 sec] mysql> DROP DATABASE southwind; Query OK, 0 rows affected [0.11 sec] mysql> CREATE DATABASE IF NOT EXISTS southwind; Query OK, 1 row affected [0.01 sec] mysql> DROP DATABASE IF EXISTS southwind; Query OK, 0 rows affected [0.00 sec]18 là một lỗi - một lỗi rất phổ biến. Ví dụ,ĐẶT HÀNG THEO Mệnh đề
Bạn có thể sắp xếp thứ tự các hàng đã chọn bằng mệnh đề
mysql> CREATE DATABASE IF NOT EXISTS southwind; mysql> SHOW CREATE DATABASE southwind \G *************************** 1. row *************************** Database: southwind Create Database: CREATE DATABASE `southwind` /*!40100 DEFAULT CHARACTER SET latin1 */03, với cú pháp sau
SELECT .. FROM tableName WHERE criteria ORDER BY columnA ASC|DESC, columnB ASC|DESC, ...
Hàng đã chọn sẽ được sắp xếp theo các giá trị trong
mysql> CREATE DATABASE IF NOT EXISTS southwind; mysql> SHOW CREATE DATABASE southwind \G *************************** 1. row *************************** Database: southwind Create Database: CREATE DATABASE `southwind` /*!40100 DEFAULT CHARACTER SET latin1 */04, theo thứ tự tăng dần [
mysql> CREATE DATABASE IF NOT EXISTS southwind; mysql> SHOW CREATE DATABASE southwind \G *************************** 1. row *************************** Database: southwind Create Database: CREATE DATABASE `southwind` /*!40100 DEFAULT CHARACTER SET latin1 */05] [mặc định] hoặc giảm dần [
mysql> SELECT * FROM products WHERE name IN ['Pen Red', 'Pen Black']; +-----------+-------------+-----------+----------+-------+ | productID | productCode | name | quantity | price | +-----------+-------------+-----------+----------+-------+ | 1001 | PEN | Pen Red | 5000 | 1.23 | | 1003 | PEN | Pen Black | 2000 | 1.25 | +-----------+-------------+-----------+----------+-------+6]. Nếu một số hàng có cùng giá trị trong
mysql> CREATE DATABASE IF NOT EXISTS southwind; mysql> SHOW CREATE DATABASE southwind \G *************************** 1. row *************************** Database: southwind Create Database: CREATE DATABASE `southwind` /*!40100 DEFAULT CHARACTER SET latin1 */04, nó sẽ được sắp xếp theo
mysql> CREATE DATABASE IF NOT EXISTS southwind; mysql> SHOW CREATE DATABASE southwind \G *************************** 1. row *************************** Database: southwind Create Database: CREATE DATABASE `southwind` /*!40100 DEFAULT CHARACTER SET latin1 */08, v.v. Đối với các chuỗi, thứ tự có thể phân biệt chữ hoa chữ thường hoặc không phân biệt chữ hoa chữ thường, tùy thuộc vào cái gọi là trình tự đối chiếu ký tự được sử dụng. Ví dụ như,
Bạn có thể chọn ngẫu nhiên các bản ghi được trả về thông qua chức năng
mysql> CREATE DATABASE IF NOT EXISTS southwind; mysql> SHOW CREATE DATABASE southwind \G *************************** 1. row *************************** Database: southwind Create Database: CREATE DATABASE `southwind` /*!40100 DEFAULT CHARACTER SET latin1 */09, e. g. ,
mysql> CREATE DATABASE southwind; Query OK, 1 row affected [0.03 sec] mysql> DROP DATABASE southwind; Query OK, 0 rows affected [0.11 sec] mysql> CREATE DATABASE IF NOT EXISTS southwind; Query OK, 1 row affected [0.01 sec] mysql> DROP DATABASE IF EXISTS southwind; Query OK, 0 rows affected [0.00 sec]0Mệnh đề GIỚI HẠN
Truy vấn
mysql> CREATE DATABASE southwind; Query OK, 1 row affected [0.03 sec] mysql> DROP DATABASE southwind; Query OK, 0 rows affected [0.11 sec] mysql> CREATE DATABASE IF NOT EXISTS southwind; Query OK, 1 row affected [0.01 sec] mysql> DROP DATABASE IF EXISTS southwind; Query OK, 0 rows affected [0.00 sec]43 trên cơ sở dữ liệu lớn có thể tạo ra nhiều hàng. Bạn có thể sử dụng mệnh đề
mysql> CREATE DATABASE IF NOT EXISTS southwind; mysql> SHOW CREATE DATABASE southwind \G *************************** 1. row *************************** Database: southwind Create Database: CREATE DATABASE `southwind` /*!40100 DEFAULT CHARACTER SET latin1 */11 để giới hạn số hàng được hiển thị, e. g. ,
Để tiếp tục đến các bản ghi sau, bạn có thể chỉ định số hàng sẽ được bỏ qua, theo sau là số hàng sẽ được hiển thị trong mệnh đề
mysql> CREATE DATABASE IF NOT EXISTS southwind; mysql> SHOW CREATE DATABASE southwind \G *************************** 1. row *************************** Database: southwind Create Database: CREATE DATABASE `southwind` /*!40100 DEFAULT CHARACTER SET latin1 */11, như sauAS - Bí danh
Bạn có thể sử dụng từ khóa
mysql> CREATE DATABASE IF NOT EXISTS southwind; mysql> SHOW CREATE DATABASE southwind \G *************************** 1. row *************************** Database: southwind Create Database: CREATE DATABASE `southwind` /*!40100 DEFAULT CHARACTER SET latin1 */13 để xác định bí danh cho một mã định danh [chẳng hạn như tên cột, tên bảng]. Bí danh sẽ được sử dụng để hiển thị tên. Nó cũng có thể được sử dụng như tài liệu tham khảo. Ví dụ,
Lưu ý rằng mã định danh "______21_______14" chứa khoảng trống và phải được đặt trong dấu ngoặc kép
Hàm CONCAT[]Bạn cũng có thể nối một vài cột thành một [e. g. , nối họ và tên] sử dụng hàm
mysql> CREATE DATABASE IF NOT EXISTS southwind; mysql> SHOW CREATE DATABASE southwind \G *************************** 1. row *************************** Database: southwind Create Database: CREATE DATABASE `southwind` /*!40100 DEFAULT CHARACTER SET latin1 */15. Ví dụ,
mysql> CREATE DATABASE southwind; Query OK, 1 row affected [0.03 sec] mysql> DROP DATABASE southwind; Query OK, 0 rows affected [0.11 sec] mysql> CREATE DATABASE IF NOT EXISTS southwind; Query OK, 1 row affected [0.01 sec] mysql> DROP DATABASE IF EXISTS southwind; Query OK, 0 rows affected [0.00 sec]1
Sản xuất báo cáo tóm tắt
Để tạo báo cáo tóm tắt, chúng ta thường cần tổng hợp các hàng có liên quan
RIÊNG BIỆTMột cột có thể có các giá trị trùng lặp, chúng tôi có thể sử dụng từ khóa
mysql> CREATE DATABASE IF NOT EXISTS southwind; mysql> SHOW CREATE DATABASE southwind \G *************************** 1. row *************************** Database: southwind Create Database: CREATE DATABASE `southwind` /*!40100 DEFAULT CHARACTER SET latin1 */16 để chỉ chọn các giá trị khác biệt. Chúng tôi cũng có thể áp dụng
mysql> CREATE DATABASE IF NOT EXISTS southwind; mysql> SHOW CREATE DATABASE southwind \G *************************** 1. row *************************** Database: southwind Create Database: CREATE DATABASE `southwind` /*!40100 DEFAULT CHARACTER SET latin1 */16 cho một số cột để chọn các kết hợp riêng biệt của các cột này. Ví dụ như,NHÓM THEO Mệnh đề
Mệnh đề
mysql> CREATE DATABASE IF NOT EXISTS southwind; mysql> SHOW CREATE DATABASE southwind \G *************************** 1. row *************************** Database: southwind Create Database: CREATE DATABASE `southwind` /*!40100 DEFAULT CHARACTER SET latin1 */18 cho phép bạn thu gọn nhiều bản ghi có giá trị chung thành các nhóm. Ví dụ,
mysql> CREATE DATABASE IF NOT EXISTS southwind; mysql> SHOW CREATE DATABASE southwind \G *************************** 1. row *************************** Database: southwind Create Database: CREATE DATABASE `southwind` /*!40100 DEFAULT CHARACTER SET latin1 */18 tự nó không có ý nghĩa. Nó được sử dụng cùng với các hàm tổng hợp
mysql> CREATE DATABASE IF NOT EXISTS southwind; mysql> SHOW CREATE DATABASE southwind \G *************************** 1. row *************************** Database: southwind Create Database: CREATE DATABASE `southwind` /*!40100 DEFAULT CHARACTER SET latin1 */18 [chẳng hạn như
mysql> CREATE DATABASE IF NOT EXISTS southwind; mysql> SHOW CREATE DATABASE southwind \G *************************** 1. row *************************** Database: southwind Create Database: CREATE DATABASE `southwind` /*!40100 DEFAULT CHARACTER SET latin1 */21,
mysql> CREATE DATABASE IF NOT EXISTS southwind; mysql> SHOW CREATE DATABASE southwind \G *************************** 1. row *************************** Database: southwind Create Database: CREATE DATABASE `southwind` /*!40100 DEFAULT CHARACTER SET latin1 */22,
mysql> CREATE DATABASE IF NOT EXISTS southwind; mysql> SHOW CREATE DATABASE southwind \G *************************** 1. row *************************** Database: southwind Create Database: CREATE DATABASE `southwind` /*!40100 DEFAULT CHARACTER SET latin1 */23] để tạo tóm tắt nhómNHÓM THEO Hàm tổng hợp. ĐẾM, TỐI ĐA, TỐI THIỂU, AVG, SUM, STD, GROUP_CONCAT
Chúng ta có thể áp dụng
mysql> CREATE DATABASE IF NOT EXISTS southwind; mysql> SHOW CREATE DATABASE southwind \G *************************** 1. row *************************** Database: southwind Create Database: CREATE DATABASE `southwind` /*!40100 DEFAULT CHARACTER SET latin1 */18 Hàm tổng hợp cho từng nhóm để tạo báo cáo tóm tắt nhóm
Hàm
mysql> CREATE DATABASE IF NOT EXISTS southwind; mysql> SHOW CREATE DATABASE southwind \G *************************** 1. row *************************** Database: southwind Create Database: CREATE DATABASE `southwind` /*!40100 DEFAULT CHARACTER SET latin1 */25 trả về các hàng đã chọn; . Ví dụ,
Bên cạnh
mysql> CREATE DATABASE IF NOT EXISTS southwind; mysql> SHOW CREATE DATABASE southwind \G *************************** 1. row *************************** Database: southwind Create Database: CREATE DATABASE `southwind` /*!40100 DEFAULT CHARACTER SET latin1 */21, còn có nhiều hàm tổng hợp
mysql> CREATE DATABASE IF NOT EXISTS southwind; mysql> SHOW CREATE DATABASE southwind \G *************************** 1. row *************************** Database: southwind Create Database: CREATE DATABASE `southwind` /*!40100 DEFAULT CHARACTER SET latin1 */18 khác như
mysql> CREATE DATABASE IF NOT EXISTS southwind; mysql> SHOW CREATE DATABASE southwind \G *************************** 1. row *************************** Database: southwind Create Database: CREATE DATABASE `southwind` /*!40100 DEFAULT CHARACTER SET latin1 */22,
mysql> CREATE DATABASE IF NOT EXISTS southwind; mysql> SHOW CREATE DATABASE southwind \G *************************** 1. row *************************** Database: southwind Create Database: CREATE DATABASE `southwind` /*!40100 DEFAULT CHARACTER SET latin1 */31,
mysql> CREATE DATABASE IF NOT EXISTS southwind; mysql> SHOW CREATE DATABASE southwind \G *************************** 1. row *************************** Database: southwind Create Database: CREATE DATABASE `southwind` /*!40100 DEFAULT CHARACTER SET latin1 */32 và
mysql> CREATE DATABASE IF NOT EXISTS southwind; mysql> SHOW CREATE DATABASE southwind \G *************************** 1. row *************************** Database: southwind Create Database: CREATE DATABASE `southwind` /*!40100 DEFAULT CHARACTER SET latin1 */23. Ví dụ,mệnh đề HAVING
mysql> CREATE DATABASE IF NOT EXISTS southwind; mysql> SHOW CREATE DATABASE southwind \G *************************** 1. row *************************** Database: southwind Create Database: CREATE DATABASE `southwind` /*!40100 DEFAULT CHARACTER SET latin1 */34 tương tự như
mysql> CREATE DATABASE IF NOT EXISTS southwind; mysql> SHOW CREATE DATABASE southwind \G *************************** 1. row *************************** Database: southwind Create Database: CREATE DATABASE `southwind` /*!40100 DEFAULT CHARACTER SET latin1 */35, nhưng nó có thể hoạt động trên các hàm tổng hợp
mysql> CREATE DATABASE IF NOT EXISTS southwind; mysql> SHOW CREATE DATABASE southwind \G *************************** 1. row *************************** Database: southwind Create Database: CREATE DATABASE `southwind` /*!40100 DEFAULT CHARACTER SET latin1 */18; VỚI ROLLUP
Mệnh đề
mysql> CREATE DATABASE IF NOT EXISTS southwind; mysql> SHOW CREATE DATABASE southwind \G *************************** 1. row *************************** Database: southwind Create Database: CREATE DATABASE `southwind` /*!40100 DEFAULT CHARACTER SET latin1 */38 thể hiện tóm tắt tóm tắt của nhóm, e. g. ,
Sửa đổi dữ liệu - CẬP NHẬT
Để sửa đổi dữ liệu hiện có, hãy sử dụng lệnh
mysql> CREATE DATABASE IF NOT EXISTS southwind; mysql> SHOW CREATE DATABASE southwind \G *************************** 1. row *************************** Database: southwind Create Database: CREATE DATABASE `southwind` /*!40100 DEFAULT CHARACTER SET latin1 */39, với cú pháp sau
mysql> CREATE DATABASE southwind; Query OK, 1 row affected [0.03 sec] mysql> DROP DATABASE southwind; Query OK, 0 rows affected [0.11 sec] mysql> CREATE DATABASE IF NOT EXISTS southwind; Query OK, 1 row affected [0.01 sec] mysql> DROP DATABASE IF EXISTS southwind; Query OK, 0 rows affected [0.00 sec]2
Ví dụ,
THẬN TRỌNG. Nếu mệnh đề
mysql> CREATE DATABASE IF NOT EXISTS southwind; mysql> SHOW CREATE DATABASE southwind \G *************************** 1. row *************************** Database: southwind Create Database: CREATE DATABASE `southwind` /*!40100 DEFAULT CHARACTER SET latin1 */35 bị bỏ qua trong lệnh
mysql> CREATE DATABASE IF NOT EXISTS southwind; mysql> SHOW CREATE DATABASE southwind \G *************************** 1. row *************************** Database: southwind Create Database: CREATE DATABASE `southwind` /*!40100 DEFAULT CHARACTER SET latin1 */41, TẤT CẢ HÀNG sẽ được cập nhật. Do đó, nên thực hiện một truy vấn
mysql> CREATE DATABASE southwind; Query OK, 1 row affected [0.03 sec] mysql> DROP DATABASE southwind; Query OK, 0 rows affected [0.11 sec] mysql> CREATE DATABASE IF NOT EXISTS southwind; Query OK, 1 row affected [0.01 sec] mysql> DROP DATABASE IF EXISTS southwind; Query OK, 0 rows affected [0.00 sec]43, sử dụng cùng tiêu chí, để kiểm tra tập kết quả trước khi đưa ra câu hỏi
mysql> CREATE DATABASE IF NOT EXISTS southwind; mysql> SHOW CREATE DATABASE southwind \G *************************** 1. row *************************** Database: southwind Create Database: CREATE DATABASE `southwind` /*!40100 DEFAULT CHARACTER SET latin1 */41. Điều này cũng áp dụng cho câu lệnh
mysql> SELECT * FROM products WHERE quantity >= 5000 AND name LIKE 'Pen %'; +-----------+-------------+----------+----------+-------+ | productID | productCode | name | quantity | price | +-----------+-------------+----------+----------+-------+ | 1001 | PEN | Pen Red | 5000 | 1.23 | | 1002 | PEN | Pen Blue | 8000 | 1.25 | +-----------+-------------+----------+----------+-------+ mysql> SELECT * FROM products WHERE quantity >= 5000 AND price < 1.24 AND name LIKE 'Pen %'; +-----------+-------------+---------+----------+-------+ | productID | productCode | name | quantity | price | +-----------+-------------+---------+----------+-------+ | 1001 | PEN | Pen Red | 5000 | 1.23 | +-----------+-------------+---------+----------+-------+ mysql> SELECT * FROM products WHERE NOT [quantity >= 5000 AND name LIKE 'Pen %']; +-----------+-------------+-----------+----------+-------+ | productID | productCode | name | quantity | price | +-----------+-------------+-----------+----------+-------+ | 1003 | PEN | Pen Black | 2000 | 1.25 | | 1004 | PEC | Pencil 2B | 10000 | 0.48 | | 1005 | PEC | Pencil 2H | 8000 | 0.49 | +-----------+-------------+-----------+----------+-------+8 trong phần sau
Xóa hàng - DELETE FROM
Sử dụng lệnh
mysql> CREATE DATABASE IF NOT EXISTS southwind; mysql> SHOW CREATE DATABASE southwind \G *************************** 1. row *************************** Database: southwind Create Database: CREATE DATABASE `southwind` /*!40100 DEFAULT CHARACTER SET latin1 */45 để xóa [các] hàng khỏi bảng, với cú pháp sau
Ví dụ,
Lưu ý rằng
mysql> CREATE DATABASE IF NOT EXISTS southwind; mysql> SHOW CREATE DATABASE southwind \G *************************** 1. row *************************** Database: southwind Create Database: CREATE DATABASE `southwind` /*!40100 DEFAULT CHARACTER SET latin1 */46" không có mệnh đề
mysql> CREATE DATABASE IF NOT EXISTS southwind; mysql> SHOW CREATE DATABASE southwind \G *************************** 1. row *************************** Database: southwind Create Database: CREATE DATABASE `southwind` /*!40100 DEFAULT CHARACTER SET latin1 */35 sẽ xóa TẤT CẢ các bản ghi khỏi bảng. Ngay cả với mệnh đề
mysql> CREATE DATABASE IF NOT EXISTS southwind; mysql> SHOW CREATE DATABASE southwind \G *************************** 1. row *************************** Database: southwind Create Database: CREATE DATABASE `southwind` /*!40100 DEFAULT CHARACTER SET latin1 */35, bạn có thể đã vô tình xóa một số bản ghi. Luôn luôn nên đưa ra lệnh
mysql> CREATE DATABASE southwind; Query OK, 1 row affected [0.03 sec] mysql> DROP DATABASE southwind; Query OK, 0 rows affected [0.11 sec] mysql> CREATE DATABASE IF NOT EXISTS southwind; Query OK, 1 row affected [0.01 sec] mysql> DROP DATABASE IF EXISTS southwind; Query OK, 0 rows affected [0.00 sec]43 với cùng mệnh đề
mysql> CREATE DATABASE IF NOT EXISTS southwind; mysql> SHOW CREATE DATABASE southwind \G *************************** 1. row *************************** Database: southwind Create Database: CREATE DATABASE `southwind` /*!40100 DEFAULT CHARACTER SET latin1 */35 để kiểm tra tập kết quả trước khi đưa ra lệnh
mysql> SELECT * FROM products WHERE quantity >= 5000 AND name LIKE 'Pen %'; +-----------+-------------+----------+----------+-------+ | productID | productCode | name | quantity | price | +-----------+-------------+----------+----------+-------+ | 1001 | PEN | Pen Red | 5000 | 1.23 | | 1002 | PEN | Pen Blue | 8000 | 1.25 | +-----------+-------------+----------+----------+-------+ mysql> SELECT * FROM products WHERE quantity >= 5000 AND price < 1.24 AND name LIKE 'Pen %'; +-----------+-------------+---------+----------+-------+ | productID | productCode | name | quantity | price | +-----------+-------------+---------+----------+-------+ | 1001 | PEN | Pen Red | 5000 | 1.23 | +-----------+-------------+---------+----------+-------+ mysql> SELECT * FROM products WHERE NOT [quantity >= 5000 AND name LIKE 'Pen %']; +-----------+-------------+-----------+----------+-------+ | productID | productCode | name | quantity | price | +-----------+-------------+-----------+----------+-------+ | 1003 | PEN | Pen Black | 2000 | 1.25 | | 1004 | PEC | Pencil 2B | 10000 | 0.48 | | 1005 | PEC | Pencil 2H | 8000 | 0.49 | +-----------+-------------+-----------+----------+-------+8 [và
mysql> CREATE DATABASE IF NOT EXISTS southwind; mysql> SHOW CREATE DATABASE southwind \G *************************** 1. row *************************** Database: southwind Create Database: CREATE DATABASE `southwind` /*!40100 DEFAULT CHARACTER SET latin1 */41]
Tải/Xuất dữ liệu từ/sang tệp văn bản
Có một số cách để thêm dữ liệu vào cơ sở dữ liệu. [a] đưa ra các lệnh
mysql> CREATE DATABASE IF NOT EXISTS southwind; mysql> SHOW CREATE DATABASE southwind \G *************************** 1. row *************************** Database: southwind Create Database: CREATE DATABASE `southwind` /*!40100 DEFAULT CHARACTER SET latin1 */53 theo cách thủ công; LOAD DATA INFILE ĐỊA PHƯƠNG. VÀO BẢNG
Bên cạnh việc sử dụng các lệnh
mysql> CREATE DATABASE IF NOT EXISTS southwind; mysql> SHOW CREATE DATABASE southwind \G *************************** 1. row *************************** Database: southwind Create Database: CREATE DATABASE `southwind` /*!40100 DEFAULT CHARACTER SET latin1 */53 để chèn hàng, bạn có thể giữ dữ liệu thô của mình trong một tệp văn bản và tải chúng vào bảng thông qua lệnh
mysql> CREATE DATABASE IF NOT EXISTS southwind; mysql> SHOW CREATE DATABASE southwind \G *************************** 1. row *************************** Database: southwind Create Database: CREATE DATABASE `southwind` /*!40100 DEFAULT CHARACTER SET latin1 */55. Ví dụ: sử dụng trình soạn thảo văn bản để TẠO TẬP TIN MỚI có tên "
mysql> CREATE DATABASE IF NOT EXISTS southwind; mysql> SHOW CREATE DATABASE southwind \G *************************** 1. row *************************** Database: southwind Create Database: CREATE DATABASE `southwind` /*!40100 DEFAULT CHARACTER SET latin1 */59", trong "
mysql> CREATE DATABASE IF NOT EXISTS southwind; mysql> SHOW CREATE DATABASE southwind \G *************************** 1. row *************************** Database: southwind Create Database: CREATE DATABASE `southwind` /*!40100 DEFAULT CHARACTER SET latin1 */60" [dành cho Windows] hoặc "
mysql> CREATE DATABASE IF NOT EXISTS southwind; mysql> SHOW CREATE DATABASE southwind \G *************************** 1. row *************************** Database: southwind Create Database: CREATE DATABASE `southwind` /*!40100 DEFAULT CHARACTER SET latin1 */61" [dành cho Mac], chứa các bản ghi sau, trong đó các giá trị được phân tách bằng ____21_______62. Phần mở rộng tệp của "
mysql> CREATE DATABASE IF NOT EXISTS southwind; mysql> SHOW CREATE DATABASE southwind \G *************************** 1. row *************************** Database: southwind Create Database: CREATE DATABASE `southwind` /*!40100 DEFAULT CHARACTER SET latin1 */63" là viết tắt của tệp văn bản Giá trị được phân tách bằng dấu phẩy
mysql> CREATE DATABASE southwind; Query OK, 1 row affected [0.03 sec] mysql> DROP DATABASE southwind; Query OK, 0 rows affected [0.11 sec] mysql> CREATE DATABASE IF NOT EXISTS southwind; Query OK, 1 row affected [0.01 sec] mysql> DROP DATABASE IF EXISTS southwind; Query OK, 0 rows affected [0.00 sec]3
Bạn có thể tải dữ liệu thô vào bảng
mysql> SELECT * FROM products WHERE quantity >= 5000 AND name LIKE 'Pen %'; +-----------+-------------+----------+----------+-------+ | productID | productCode | name | quantity | price | +-----------+-------------+----------+----------+-------+ | 1001 | PEN | Pen Red | 5000 | 1.23 | | 1002 | PEN | Pen Blue | 8000 | 1.25 | +-----------+-------------+----------+----------+-------+ mysql> SELECT * FROM products WHERE quantity >= 5000 AND price < 1.24 AND name LIKE 'Pen %'; +-----------+-------------+---------+----------+-------+ | productID | productCode | name | quantity | price | +-----------+-------------+---------+----------+-------+ | 1001 | PEN | Pen Red | 5000 | 1.23 | +-----------+-------------+---------+----------+-------+ mysql> SELECT * FROM products WHERE NOT [quantity >= 5000 AND name LIKE 'Pen %']; +-----------+-------------+-----------+----------+-------+ | productID | productCode | name | quantity | price | +-----------+-------------+-----------+----------+-------+ | 1003 | PEN | Pen Black | 2000 | 1.25 | | 1004 | PEC | Pencil 2B | 10000 | 0.48 | | 1005 | PEC | Pencil 2H | 8000 | 0.49 | +-----------+-------------+-----------+----------+-------+2 như sau
mysql> CREATE DATABASE southwind; Query OK, 1 row affected [0.03 sec] mysql> DROP DATABASE southwind; Query OK, 0 rows affected [0.11 sec] mysql> CREATE DATABASE IF NOT EXISTS southwind; Query OK, 1 row affected [0.01 sec] mysql> DROP DATABASE IF EXISTS southwind; Query OK, 0 rows affected [0.00 sec]4
ghi chú
- Bạn cần cung cấp đường dẫn [tuyệt đối hoặc tương đối] và tên tệp. Sử dụng dấu gạch chéo xuôi kiểu Unix
mysql> CREATE DATABASE IF NOT EXISTS southwind; mysql> SHOW CREATE DATABASE southwind \G *************************** 1. row *************************** Database: southwind Create Database: CREATE DATABASE `southwind` /*!40100 DEFAULT CHARACTER SET latin1 */
65 làm dấu phân cách thư mục, thay vì dấu gạch chéo ngược kiểu Windowsmysql> CREATE DATABASE IF NOT EXISTS southwind; mysql> SHOW CREATE DATABASE southwind \G *************************** 1. row *************************** Database: southwind Create Database: CREATE DATABASE `southwind` /*!40100 DEFAULT CHARACTER SET latin1 */
66 - Dấu phân cách dòng mặc định [hoặc cuối dòng] là
mysql> CREATE DATABASE IF NOT EXISTS southwind; mysql> SHOW CREATE DATABASE southwind \G *************************** 1. row *************************** Database: southwind Create Database: CREATE DATABASE `southwind` /*!40100 DEFAULT CHARACTER SET latin1 */
67 [kiểu Unix]. Nếu tệp văn bản được chuẩn bị trong Windows, bạn cần bao gồmmysql> CREATE DATABASE IF NOT EXISTS southwind; mysql> SHOW CREATE DATABASE southwind \G *************************** 1. row *************************** Database: southwind Create Database: CREATE DATABASE `southwind` /*!40100 DEFAULT CHARACTER SET latin1 */
68 - Dấu phân cách cột mặc định là "tab" [trong tệp được gọi là tệp TSV - Giá trị được phân tách bằng tab]. Nếu bạn sử dụng một dấu phân cách khác, e. g.
mysql> CREATE DATABASE IF NOT EXISTS southwind; mysql> SHOW CREATE DATABASE southwind \G *************************** 1. row *************************** Database: southwind Create Database: CREATE DATABASE `southwind` /*!40100 DEFAULT CHARACTER SET latin1 */
62, bao gồmmysql> CREATE DATABASE IF NOT EXISTS southwind; mysql> SHOW CREATE DATABASE southwind \G *************************** 1. row *************************** Database: southwind Create Database: CREATE DATABASE `southwind` /*!40100 DEFAULT CHARACTER SET latin1 */
70 - Bạn cần sử dụng
mysql> CREATE DATABASE IF NOT EXISTS southwind; mysql> SHOW CREATE DATABASE southwind \G *************************** 1. row *************************** Database: southwind Create Database: CREATE DATABASE `southwind` /*!40100 DEFAULT CHARACTER SET latin1 */
71 chomysql> CREATE DATABASE southwind; Query OK, 1 row affected [0.03 sec] mysql> DROP DATABASE southwind; Query OK, 0 rows affected [0.11 sec] mysql> CREATE DATABASE IF NOT EXISTS southwind; Query OK, 1 row affected [0.01 sec] mysql> DROP DATABASE IF EXISTS southwind; Query OK, 0 rows affected [0.00 sec]
18
Bạn cũng có thể sử dụng chương trình tiện ích
mysql> CREATE DATABASE IF NOT EXISTS southwind; mysql> SHOW CREATE DATABASE southwind \G *************************** 1. row *************************** Database: southwind Create Database: CREATE DATABASE `southwind` /*!40100 DEFAULT CHARACTER SET latin1 */56 để tải dữ liệu từ tệp văn bản
mysql> CREATE DATABASE southwind; Query OK, 1 row affected [0.03 sec] mysql> DROP DATABASE southwind; Query OK, 0 rows affected [0.11 sec] mysql> CREATE DATABASE IF NOT EXISTS southwind; Query OK, 1 row affected [0.01 sec] mysql> DROP DATABASE IF EXISTS southwind; Query OK, 0 rows affected [0.00 sec]5LỰA CHỌN. INTO OUTFILE
Khen ngợi lệnh
mysql> CREATE DATABASE IF NOT EXISTS southwind; mysql> SHOW CREATE DATABASE southwind \G *************************** 1. row *************************** Database: southwind Create Database: CREATE DATABASE `southwind` /*!40100 DEFAULT CHARACTER SET latin1 */55, bạn có thể sử dụng
mysql> CREATE DATABASE IF NOT EXISTS southwind; mysql> SHOW CREATE DATABASE southwind \G *************************** 1. row *************************** Database: southwind Create Database: CREATE DATABASE `southwind` /*!40100 DEFAULT CHARACTER SET latin1 */75 để xuất dữ liệu từ bảng thành tệp văn bản. Ví dụ,
mysql> CREATE DATABASE southwind; Query OK, 1 row affected [0.03 sec] mysql> DROP DATABASE southwind; Query OK, 0 rows affected [0.11 sec] mysql> CREATE DATABASE IF NOT EXISTS southwind; Query OK, 1 row affected [0.01 sec] mysql> DROP DATABASE IF EXISTS southwind; Query OK, 0 rows affected [0.00 sec]6
Chạy tập lệnh SQL
Thay vì nhập từng câu lệnh SQL theo cách thủ công, bạn có thể giữ nhiều câu lệnh SQL trong một tệp văn bản, được gọi là tập lệnh SQL và chạy tập lệnh. Ví dụ: sử dụng trình soạn thảo văn bản lập trình để chuẩn bị tập lệnh sau và lưu dưới dạng "
mysql> CREATE DATABASE IF NOT EXISTS southwind; mysql> SHOW CREATE DATABASE southwind \G *************************** 1. row *************************** Database: southwind Create Database: CREATE DATABASE `southwind` /*!40100 DEFAULT CHARACTER SET latin1 */76" trong "
mysql> CREATE DATABASE IF NOT EXISTS southwind; mysql> SHOW CREATE DATABASE southwind \G *************************** 1. row *************************** Database: southwind Create Database: CREATE DATABASE `southwind` /*!40100 DEFAULT CHARACTER SET latin1 */60" [đối với Windows] hoặc "
mysql> CREATE DATABASE IF NOT EXISTS southwind; mysql> SHOW CREATE DATABASE southwind \G *************************** 1. row *************************** Database: southwind Create Database: CREATE DATABASE `southwind` /*!40100 DEFAULT CHARACTER SET latin1 */61" [đối với Mac]
mysql> CREATE DATABASE southwind; Query OK, 1 row affected [0.03 sec] mysql> DROP DATABASE southwind; Query OK, 0 rows affected [0.11 sec] mysql> CREATE DATABASE IF NOT EXISTS southwind; Query OK, 1 row affected [0.01 sec] mysql> DROP DATABASE IF EXISTS southwind; Query OK, 0 rows affected [0.00 sec]7
Bạn có thể chạy tập lệnh hoặc
- thông qua lệnh "
mysql> CREATE DATABASE IF NOT EXISTS southwind; mysql> SHOW CREATE DATABASE southwind \G *************************** 1. row *************************** Database: southwind Create Database: CREATE DATABASE `southwind` /*!40100 DEFAULT CHARACTER SET latin1 */
79" trong máy khách MySQL. Ví dụ: để khôi phục bản sao lưumysql> SELECT * FROM products WHERE quantity >= 5000 AND name LIKE 'Pen %'; +-----------+-------------+----------+----------+-------+ | productID | productCode | name | quantity | price | +-----------+-------------+----------+----------+-------+ | 1001 | PEN | Pen Red | 5000 | 1.23 | | 1002 | PEN | Pen Blue | 8000 | 1.25 | +-----------+-------------+----------+----------+-------+ mysql> SELECT * FROM products WHERE quantity >= 5000 AND price < 1.24 AND name LIKE 'Pen %'; +-----------+-------------+---------+----------+-------+ | productID | productCode | name | quantity | price | +-----------+-------------+---------+----------+-------+ | 1001 | PEN | Pen Red | 5000 | 1.23 | +-----------+-------------+---------+----------+-------+ mysql> SELECT * FROM products WHERE NOT [quantity >= 5000 AND name LIKE 'Pen %']; +-----------+-------------+-----------+----------+-------+ | productID | productCode | name | quantity | price | +-----------+-------------+-----------+----------+-------+ | 1003 | PEN | Pen Black | 2000 | 1.25 | | 1004 | PEC | Pencil 2B | 10000 | 0.48 | | 1005 | PEC | Pencil 2H | 8000 | 0.49 | +-----------+-------------+-----------+----------+-------+
1 trước đó - thông qua "chế độ hàng loạt" của chương trình máy khách
mysql> SELECT name, price FROM products WHERE price < 1.0; +-----------+-------+ | name | price | +-----------+-------+ | Pencil 2B | 0.48 | | Pencil 2H | 0.49 | +-----------+-------+ 2 rows in set [0.00 sec] mysql> SELECT name, quantity FROM products WHERE quantity CREATE DATABASE southwind; Query OK, 1 row affected [0.03 sec] mysql> DROP DATABASE southwind; Query OK, 0 rows affected [0.11 sec] mysql> CREATE DATABASE IF NOT EXISTS southwind; Query OK, 1 row affected [0.01 sec] mysql> DROP DATABASE IF EXISTS southwind; Query OK, 0 rows affected [0.00 sec]
8
Nhiều hơn một bảng
Ví dụ của chúng tôi cho đến nay chỉ liên quan đến một bảng "_______5_______2". Một cơ sở dữ liệu thực tế chứa nhiều bảng liên quan
Sản phẩm có nhà cung cấp. Nếu mỗi sản phẩm có một nhà cung cấp và mỗi nhà cung cấp chỉ cung cấp một sản phẩm [được gọi là mối quan hệ một-một], chúng ta chỉ cần thêm dữ liệu của nhà cung cấp [tên, địa chỉ, số điện thoại] vào bảng
mysql> SELECT * FROM products WHERE quantity >= 5000 AND name LIKE 'Pen %'; +-----------+-------------+----------+----------+-------+ | productID | productCode | name | quantity | price | +-----------+-------------+----------+----------+-------+ | 1001 | PEN | Pen Red | 5000 | 1.23 | | 1002 | PEN | Pen Blue | 8000 | 1.25 | +-----------+-------------+----------+----------+-------+ mysql> SELECT * FROM products WHERE quantity >= 5000 AND price < 1.24 AND name LIKE 'Pen %'; +-----------+-------------+---------+----------+-------+ | productID | productCode | name | quantity | price | +-----------+-------------+---------+----------+-------+ | 1001 | PEN | Pen Red | 5000 | 1.23 | +-----------+-------------+---------+----------+-------+ mysql> SELECT * FROM products WHERE NOT [quantity >= 5000 AND name LIKE 'Pen %']; +-----------+-------------+-----------+----------+-------+ | productID | productCode | name | quantity | price | +-----------+-------------+-----------+----------+-------+ | 1003 | PEN | Pen Black | 2000 | 1.25 | | 1004 | PEC | Pencil 2B | 10000 | 0.48 | | 1005 | PEC | Pencil 2H | 8000 | 0.49 | +-----------+-------------+-----------+----------+-------+2. Giả sử rằng mỗi sản phẩm có một nhà cung cấp và một nhà cung cấp có thể cung cấp 0 hoặc nhiều sản phẩm [được gọi là mối quan hệ một-nhiều]. Đưa dữ liệu của nhà cung cấp vào bảng
mysql> SELECT * FROM products WHERE quantity >= 5000 AND name LIKE 'Pen %'; +-----------+-------------+----------+----------+-------+ | productID | productCode | name | quantity | price | +-----------+-------------+----------+----------+-------+ | 1001 | PEN | Pen Red | 5000 | 1.23 | | 1002 | PEN | Pen Blue | 8000 | 1.25 | +-----------+-------------+----------+----------+-------+ mysql> SELECT * FROM products WHERE quantity >= 5000 AND price < 1.24 AND name LIKE 'Pen %'; +-----------+-------------+---------+----------+-------+ | productID | productCode | name | quantity | price | +-----------+-------------+---------+----------+-------+ | 1001 | PEN | Pen Red | 5000 | 1.23 | +-----------+-------------+---------+----------+-------+ mysql> SELECT * FROM products WHERE NOT [quantity >= 5000 AND name LIKE 'Pen %']; +-----------+-------------+-----------+----------+-------+ | productID | productCode | name | quantity | price | +-----------+-------------+-----------+----------+-------+ | 1003 | PEN | Pen Black | 2000 | 1.25 | | 1004 | PEC | Pencil 2B | 10000 | 0.48 | | 1005 | PEC | Pencil 2H | 8000 | 0.49 | +-----------+-------------+-----------+----------+-------+2 dẫn đến trùng lặp dữ liệu. Điều này là do một nhà cung cấp có thể cung cấp nhiều sản phẩm, do đó, dữ liệu của cùng một nhà cung cấp xuất hiện trong nhiều hàng. Điều này không chỉ gây lãng phí dung lượng lưu trữ mà còn dễ dẫn đến tình trạng không thống nhất [vì tất cả các dữ liệu trùng nhau phải được cập nhật đồng thời]. Tình hình thậm chí còn phức tạp hơn nếu một sản phẩm có nhiều nhà cung cấp và mỗi nhà cung cấp có thể cung cấp nhiều sản phẩm, trong mối quan hệ nhiều-nhiều
Mối quan hệ một-nhiều
Giả sử rằng mỗi sản phẩm có một nhà cung cấp và mỗi nhà cung cấp cung cấp một hoặc nhiều sản phẩm. Chúng ta có thể tạo một bảng tên là
mysql> CREATE DATABASE IF NOT EXISTS southwind; mysql> SHOW CREATE DATABASE southwind \G *************************** 1. row *************************** Database: southwind Create Database: CREATE DATABASE `southwind` /*!40100 DEFAULT CHARACTER SET latin1 */85 để lưu trữ dữ liệu của nhà cung cấp [e. g. tên, địa chỉ và số điện thoại]. Chúng tôi tạo một cột có giá trị duy nhất được gọi là
mysql> CREATE DATABASE IF NOT EXISTS southwind; mysql> SHOW CREATE DATABASE southwind \G *************************** 1. row *************************** Database: southwind Create Database: CREATE DATABASE `southwind` /*!40100 DEFAULT CHARACTER SET latin1 */86 để xác định mọi nhà cung cấp. Ta đặt
mysql> CREATE DATABASE IF NOT EXISTS southwind; mysql> SHOW CREATE DATABASE southwind \G *************************** 1. row *************************** Database: southwind Create Database: CREATE DATABASE `southwind` /*!40100 DEFAULT CHARACTER SET latin1 */86 làm khóa chính cho bảng
mysql> CREATE DATABASE IF NOT EXISTS southwind; mysql> SHOW CREATE DATABASE southwind \G *************************** 1. row *************************** Database: southwind Create Database: CREATE DATABASE `southwind` /*!40100 DEFAULT CHARACTER SET latin1 */85 [để đảm bảo tính duy nhất và tạo điều kiện tìm kiếm nhanh]
Để liên kết bảng
mysql> CREATE DATABASE IF NOT EXISTS southwind; mysql> SHOW CREATE DATABASE southwind \G *************************** 1. row *************************** Database: southwind Create Database: CREATE DATABASE `southwind` /*!40100 DEFAULT CHARACTER SET latin1 */85 với bảng
mysql> SELECT * FROM products WHERE quantity >= 5000 AND name LIKE 'Pen %'; +-----------+-------------+----------+----------+-------+ | productID | productCode | name | quantity | price | +-----------+-------------+----------+----------+-------+ | 1001 | PEN | Pen Red | 5000 | 1.23 | | 1002 | PEN | Pen Blue | 8000 | 1.25 | +-----------+-------------+----------+----------+-------+ mysql> SELECT * FROM products WHERE quantity >= 5000 AND price < 1.24 AND name LIKE 'Pen %'; +-----------+-------------+---------+----------+-------+ | productID | productCode | name | quantity | price | +-----------+-------------+---------+----------+-------+ | 1001 | PEN | Pen Red | 5000 | 1.23 | +-----------+-------------+---------+----------+-------+ mysql> SELECT * FROM products WHERE NOT [quantity >= 5000 AND name LIKE 'Pen %']; +-----------+-------------+-----------+----------+-------+ | productID | productCode | name | quantity | price | +-----------+-------------+-----------+----------+-------+ | 1003 | PEN | Pen Black | 2000 | 1.25 | | 1004 | PEC | Pencil 2B | 10000 | 0.48 | | 1005 | PEC | Pencil 2H | 8000 | 0.49 | +-----------+-------------+-----------+----------+-------+2, chúng tôi thêm một cột mới vào bảng
mysql> SELECT * FROM products WHERE quantity >= 5000 AND name LIKE 'Pen %'; +-----------+-------------+----------+----------+-------+ | productID | productCode | name | quantity | price | +-----------+-------------+----------+----------+-------+ | 1001 | PEN | Pen Red | 5000 | 1.23 | | 1002 | PEN | Pen Blue | 8000 | 1.25 | +-----------+-------------+----------+----------+-------+ mysql> SELECT * FROM products WHERE quantity >= 5000 AND price < 1.24 AND name LIKE 'Pen %'; +-----------+-------------+---------+----------+-------+ | productID | productCode | name | quantity | price | +-----------+-------------+---------+----------+-------+ | 1001 | PEN | Pen Red | 5000 | 1.23 | +-----------+-------------+---------+----------+-------+ mysql> SELECT * FROM products WHERE NOT [quantity >= 5000 AND name LIKE 'Pen %']; +-----------+-------------+-----------+----------+-------+ | productID | productCode | name | quantity | price | +-----------+-------------+-----------+----------+-------+ | 1003 | PEN | Pen Black | 2000 | 1.25 | | 1004 | PEC | Pencil 2B | 10000 | 0.48 | | 1005 | PEC | Pencil 2H | 8000 | 0.49 | +-----------+-------------+-----------+----------+-------+2 - bảng
mysql> CREATE DATABASE IF NOT EXISTS southwind; mysql> SHOW CREATE DATABASE southwind \G *************************** 1. row *************************** Database: southwind Create Database: CREATE DATABASE `southwind` /*!40100 DEFAULT CHARACTER SET latin1 */86. Sau đó, chúng tôi đặt cột
mysql> CREATE DATABASE IF NOT EXISTS southwind; mysql> SHOW CREATE DATABASE southwind \G *************************** 1. row *************************** Database: southwind Create Database: CREATE DATABASE `southwind` /*!40100 DEFAULT CHARACTER SET latin1 */86 của bảng
mysql> SELECT * FROM products WHERE quantity >= 5000 AND name LIKE 'Pen %'; +-----------+-------------+----------+----------+-------+ | productID | productCode | name | quantity | price | +-----------+-------------+----------+----------+-------+ | 1001 | PEN | Pen Red | 5000 | 1.23 | | 1002 | PEN | Pen Blue | 8000 | 1.25 | +-----------+-------------+----------+----------+-------+ mysql> SELECT * FROM products WHERE quantity >= 5000 AND price < 1.24 AND name LIKE 'Pen %'; +-----------+-------------+---------+----------+-------+ | productID | productCode | name | quantity | price | +-----------+-------------+---------+----------+-------+ | 1001 | PEN | Pen Red | 5000 | 1.23 | +-----------+-------------+---------+----------+-------+ mysql> SELECT * FROM products WHERE NOT [quantity >= 5000 AND name LIKE 'Pen %']; +-----------+-------------+-----------+----------+-------+ | productID | productCode | name | quantity | price | +-----------+-------------+-----------+----------+-------+ | 1003 | PEN | Pen Black | 2000 | 1.25 | | 1004 | PEC | Pencil 2B | 10000 | 0.48 | | 1005 | PEC | Pencil 2H | 8000 | 0.49 | +-----------+-------------+-----------+----------+-------+2 làm khóa ngoại tham chiếu cột
mysql> CREATE DATABASE IF NOT EXISTS southwind; mysql> SHOW CREATE DATABASE southwind \G *************************** 1. row *************************** Database: southwind Create Database: CREATE DATABASE `southwind` /*!40100 DEFAULT CHARACTER SET latin1 */86 của bảng
mysql> CREATE DATABASE IF NOT EXISTS southwind; mysql> SHOW CREATE DATABASE southwind \G *************************** 1. row *************************** Database: southwind Create Database: CREATE DATABASE `southwind` /*!40100 DEFAULT CHARACTER SET latin1 */85 để đảm bảo cái gọi là tính toàn vẹn tham chiếucơ sở dữ liệu. Gió nam
Bàn. nhà cung cấp ID nhà cung cấp
tên INT
VARCHAR[3]điện thoại
CHAR[8]501Thương nhân ABC88881111502Công ty XYZ88882222503QQ Corp88883333
cơ sở dữ liệu. Gió nam
Bàn. ID sản phẩm
INTmã sản phẩm
tên CHAR[3]
VARCHAR[30]số lượng
INTprice
ID nhà cung cấp DECIMAL[10,2]
INT
[Khóa ngoại]2001PECBút chì 3B5000. 525012002PECBút chì 4B2000. 625012003PECBút chì 5B1000. 735012004PECBút chì 6B5000. 47502
Trước tiên, chúng ta cần tạo bảng
mysql> CREATE DATABASE IF NOT EXISTS southwind; mysql> SHOW CREATE DATABASE southwind \G *************************** 1. row *************************** Database: southwind Create Database: CREATE DATABASE `southwind` /*!40100 DEFAULT CHARACTER SET latin1 */85, vì bảng
mysql> SELECT * FROM products WHERE quantity >= 5000 AND name LIKE 'Pen %'; +-----------+-------------+----------+----------+-------+ | productID | productCode | name | quantity | price | +-----------+-------------+----------+----------+-------+ | 1001 | PEN | Pen Red | 5000 | 1.23 | | 1002 | PEN | Pen Blue | 8000 | 1.25 | +-----------+-------------+----------+----------+-------+ mysql> SELECT * FROM products WHERE quantity >= 5000 AND price < 1.24 AND name LIKE 'Pen %'; +-----------+-------------+---------+----------+-------+ | productID | productCode | name | quantity | price | +-----------+-------------+---------+----------+-------+ | 1001 | PEN | Pen Red | 5000 | 1.23 | +-----------+-------------+---------+----------+-------+ mysql> SELECT * FROM products WHERE NOT [quantity >= 5000 AND name LIKE 'Pen %']; +-----------+-------------+-----------+----------+-------+ | productID | productCode | name | quantity | price | +-----------+-------------+-----------+----------+-------+ | 1003 | PEN | Pen Black | 2000 | 1.25 | | 1004 | PEC | Pencil 2B | 10000 | 0.48 | | 1005 | PEC | Pencil 2H | 8000 | 0.49 | +-----------+-------------+-----------+----------+-------+2 tham chiếu đến bảng
mysql> CREATE DATABASE IF NOT EXISTS southwind; mysql> SHOW CREATE DATABASE southwind \G *************************** 1. row *************************** Database: southwind Create Database: CREATE DATABASE `southwind` /*!40100 DEFAULT CHARACTER SET latin1 */85. Bảng
mysql> CREATE DATABASE IF NOT EXISTS southwind; mysql> SHOW CREATE DATABASE southwind \G *************************** 1. row *************************** Database: southwind Create Database: CREATE DATABASE `southwind` /*!40100 DEFAULT CHARACTER SET latin1 */85 được gọi là bảng cha;
mysql> CREATE DATABASE southwind; Query OK, 1 row affected [0.03 sec] mysql> DROP DATABASE southwind; Query OK, 0 rows affected [0.11 sec] mysql> CREATE DATABASE IF NOT EXISTS southwind; Query OK, 1 row affected [0.01 sec] mysql> DROP DATABASE IF EXISTS southwind; Query OK, 0 rows affected [0.00 sec]9THAY ĐỔI BẢNG
Thay vì xóa và tạo lại bảng
mysql> SELECT * FROM products WHERE quantity >= 5000 AND name LIKE 'Pen %'; +-----------+-------------+----------+----------+-------+ | productID | productCode | name | quantity | price | +-----------+-------------+----------+----------+-------+ | 1001 | PEN | Pen Red | 5000 | 1.23 | | 1002 | PEN | Pen Blue | 8000 | 1.25 | +-----------+-------------+----------+----------+-------+ mysql> SELECT * FROM products WHERE quantity >= 5000 AND price < 1.24 AND name LIKE 'Pen %'; +-----------+-------------+---------+----------+-------+ | productID | productCode | name | quantity | price | +-----------+-------------+---------+----------+-------+ | 1001 | PEN | Pen Red | 5000 | 1.23 | +-----------+-------------+---------+----------+-------+ mysql> SELECT * FROM products WHERE NOT [quantity >= 5000 AND name LIKE 'Pen %']; +-----------+-------------+-----------+----------+-------+ | productID | productCode | name | quantity | price | +-----------+-------------+-----------+----------+-------+ | 1003 | PEN | Pen Black | 2000 | 1.25 | | 1004 | PEC | Pencil 2B | 10000 | 0.48 | | 1005 | PEC | Pencil 2H | 8000 | 0.49 | +-----------+-------------+-----------+----------+-------+2, chúng ta sẽ sử dụng "
INSERT INTO tableName VALUES [row1FirstColumnValue, ..., row1lastColumnValue], [row2FirstColumnValue, ..., row2lastColumnValue], ...03" để thêm một cột mới
mysql> CREATE DATABASE IF NOT EXISTS southwind; mysql> SHOW CREATE DATABASE southwind \G *************************** 1. row *************************** Database: southwind Create Database: CREATE DATABASE `southwind` /*!40100 DEFAULT CHARACTER SET latin1 */86 vào bảng
mysql> SELECT * FROM products WHERE quantity >= 5000 AND name LIKE 'Pen %'; +-----------+-------------+----------+----------+-------+ | productID | productCode | name | quantity | price | +-----------+-------------+----------+----------+-------+ | 1001 | PEN | Pen Red | 5000 | 1.23 | | 1002 | PEN | Pen Blue | 8000 | 1.25 | +-----------+-------------+----------+----------+-------+ mysql> SELECT * FROM products WHERE quantity >= 5000 AND price < 1.24 AND name LIKE 'Pen %'; +-----------+-------------+---------+----------+-------+ | productID | productCode | name | quantity | price | +-----------+-------------+---------+----------+-------+ | 1001 | PEN | Pen Red | 5000 | 1.23 | +-----------+-------------+---------+----------+-------+ mysql> SELECT * FROM products WHERE NOT [quantity >= 5000 AND name LIKE 'Pen %']; +-----------+-------------+-----------+----------+-------+ | productID | productCode | name | quantity | price | +-----------+-------------+-----------+----------+-------+ | 1003 | PEN | Pen Black | 2000 | 1.25 | | 1004 | PEC | Pencil 2B | 10000 | 0.48 | | 1005 | PEC | Pencil 2H | 8000 | 0.49 | +-----------+-------------+-----------+----------+-------+2
mysql> CREATE DATABASE IF NOT EXISTS southwind; mysql> SHOW CREATE DATABASE southwind \G *************************** 1. row *************************** Database: southwind Create Database: CREATE DATABASE `southwind` /*!40100 DEFAULT CHARACTER SET latin1 */0
Tiếp theo, chúng ta sẽ thêm một ràng buộc khóa ngoại trên các cột
mysql> CREATE DATABASE IF NOT EXISTS southwind; mysql> SHOW CREATE DATABASE southwind \G *************************** 1. row *************************** Database: southwind Create Database: CREATE DATABASE `southwind` /*!40100 DEFAULT CHARACTER SET latin1 */86 của bảng con
mysql> SELECT * FROM products WHERE quantity >= 5000 AND name LIKE 'Pen %'; +-----------+-------------+----------+----------+-------+ | productID | productCode | name | quantity | price | +-----------+-------------+----------+----------+-------+ | 1001 | PEN | Pen Red | 5000 | 1.23 | | 1002 | PEN | Pen Blue | 8000 | 1.25 | +-----------+-------------+----------+----------+-------+ mysql> SELECT * FROM products WHERE quantity >= 5000 AND price < 1.24 AND name LIKE 'Pen %'; +-----------+-------------+---------+----------+-------+ | productID | productCode | name | quantity | price | +-----------+-------------+---------+----------+-------+ | 1001 | PEN | Pen Red | 5000 | 1.23 | +-----------+-------------+---------+----------+-------+ mysql> SELECT * FROM products WHERE NOT [quantity >= 5000 AND name LIKE 'Pen %']; +-----------+-------------+-----------+----------+-------+ | productID | productCode | name | quantity | price | +-----------+-------------+-----------+----------+-------+ | 1003 | PEN | Pen Black | 2000 | 1.25 | | 1004 | PEC | Pencil 2B | 10000 | 0.48 | | 1005 | PEC | Pencil 2H | 8000 | 0.49 | +-----------+-------------+-----------+----------+-------+2 vào bảng cha
mysql> CREATE DATABASE IF NOT EXISTS southwind; mysql> SHOW CREATE DATABASE southwind \G *************************** 1. row *************************** Database: southwind Create Database: CREATE DATABASE `southwind` /*!40100 DEFAULT CHARACTER SET latin1 */85, để đảm bảo rằng mọi
mysql> CREATE DATABASE IF NOT EXISTS southwind; mysql> SHOW CREATE DATABASE southwind \G *************************** 1. row *************************** Database: southwind Create Database: CREATE DATABASE `southwind` /*!40100 DEFAULT CHARACTER SET latin1 */86 trong bảng
mysql> SELECT * FROM products WHERE quantity >= 5000 AND name LIKE 'Pen %'; +-----------+-------------+----------+----------+-------+ | productID | productCode | name | quantity | price | +-----------+-------------+----------+----------+-------+ | 1001 | PEN | Pen Red | 5000 | 1.23 | | 1002 | PEN | Pen Blue | 8000 | 1.25 | +-----------+-------------+----------+----------+-------+ mysql> SELECT * FROM products WHERE quantity >= 5000 AND price < 1.24 AND name LIKE 'Pen %'; +-----------+-------------+---------+----------+-------+ | productID | productCode | name | quantity | price | +-----------+-------------+---------+----------+-------+ | 1001 | PEN | Pen Red | 5000 | 1.23 | +-----------+-------------+---------+----------+-------+ mysql> SELECT * FROM products WHERE NOT [quantity >= 5000 AND name LIKE 'Pen %']; +-----------+-------------+-----------+----------+-------+ | productID | productCode | name | quantity | price | +-----------+-------------+-----------+----------+-------+ | 1003 | PEN | Pen Black | 2000 | 1.25 | | 1004 | PEC | Pencil 2B | 10000 | 0.48 | | 1005 | PEC | Pencil 2H | 8000 | 0.49 | +-----------+-------------+-----------+----------+-------+2 luôn đề cập đến một
mysql> CREATE DATABASE IF NOT EXISTS southwind; mysql> SHOW CREATE DATABASE southwind \G *************************** 1. row *************************** Database: southwind Create Database: CREATE DATABASE `southwind` /*!40100 DEFAULT CHARACTER SET latin1 */86 hợp lệ trong bảng
mysql> CREATE DATABASE IF NOT EXISTS southwind; mysql> SHOW CREATE DATABASE southwind \G *************************** 1. row *************************** Database: southwind Create Database: CREATE DATABASE `southwind` /*!40100 DEFAULT CHARACTER SET latin1 */85 - điều này được gọi là tính toàn vẹn tham chiếu
Trước khi chúng tôi có thể thêm khóa ngoại, chúng tôi cần đặt
mysql> CREATE DATABASE IF NOT EXISTS southwind; mysql> SHOW CREATE DATABASE southwind \G *************************** 1. row *************************** Database: southwind Create Database: CREATE DATABASE `southwind` /*!40100 DEFAULT CHARACTER SET latin1 */86 của các bản ghi hiện có trong bảng
mysql> SELECT * FROM products WHERE quantity >= 5000 AND name LIKE 'Pen %'; +-----------+-------------+----------+----------+-------+ | productID | productCode | name | quantity | price | +-----------+-------------+----------+----------+-------+ | 1001 | PEN | Pen Red | 5000 | 1.23 | | 1002 | PEN | Pen Blue | 8000 | 1.25 | +-----------+-------------+----------+----------+-------+ mysql> SELECT * FROM products WHERE quantity >= 5000 AND price < 1.24 AND name LIKE 'Pen %'; +-----------+-------------+---------+----------+-------+ | productID | productCode | name | quantity | price | +-----------+-------------+---------+----------+-------+ | 1001 | PEN | Pen Red | 5000 | 1.23 | +-----------+-------------+---------+----------+-------+ mysql> SELECT * FROM products WHERE NOT [quantity >= 5000 AND name LIKE 'Pen %']; +-----------+-------------+-----------+----------+-------+ | productID | productCode | name | quantity | price | +-----------+-------------+-----------+----------+-------+ | 1003 | PEN | Pen Black | 2000 | 1.25 | | 1004 | PEC | Pencil 2B | 10000 | 0.48 | | 1005 | PEC | Pencil 2H | 8000 | 0.49 | +-----------+-------------+-----------+----------+-------+2 thành một
mysql> CREATE DATABASE IF NOT EXISTS southwind; mysql> SHOW CREATE DATABASE southwind \G *************************** 1. row *************************** Database: southwind Create Database: CREATE DATABASE `southwind` /*!40100 DEFAULT CHARACTER SET latin1 */86 hợp lệ trong bảng [giả sử
INSERT INTO tableName VALUES [row1FirstColumnValue, ..., row1lastColumnValue], [row2FirstColumnValue, ..., row2lastColumnValue], ...16]CHỌN với THAM GIA
Lệnh
mysql> CREATE DATABASE southwind; Query OK, 1 row affected [0.03 sec] mysql> DROP DATABASE southwind; Query OK, 0 rows affected [0.11 sec] mysql> CREATE DATABASE IF NOT EXISTS southwind; Query OK, 1 row affected [0.01 sec] mysql> DROP DATABASE IF EXISTS southwind; Query OK, 0 rows affected [0.00 sec]43 có thể được sử dụng để truy vấn và nối dữ liệu từ hai bảng có liên quan. Ví dụ: để liệt kê
SELECT .. FROM tableName WHERE criteria ORDER BY columnA ASC|DESC, columnB ASC|DESC, ...5 của sản phẩm [trong bảng
mysql> SELECT * FROM products WHERE quantity >= 5000 AND name LIKE 'Pen %'; +-----------+-------------+----------+----------+-------+ | productID | productCode | name | quantity | price | +-----------+-------------+----------+----------+-------+ | 1001 | PEN | Pen Red | 5000 | 1.23 | | 1002 | PEN | Pen Blue | 8000 | 1.25 | +-----------+-------------+----------+----------+-------+ mysql> SELECT * FROM products WHERE quantity >= 5000 AND price < 1.24 AND name LIKE 'Pen %'; +-----------+-------------+---------+----------+-------+ | productID | productCode | name | quantity | price | +-----------+-------------+---------+----------+-------+ | 1001 | PEN | Pen Red | 5000 | 1.23 | +-----------+-------------+---------+----------+-------+ mysql> SELECT * FROM products WHERE NOT [quantity >= 5000 AND name LIKE 'Pen %']; +-----------+-------------+-----------+----------+-------+ | productID | productCode | name | quantity | price | +-----------+-------------+-----------+----------+-------+ | 1003 | PEN | Pen Black | 2000 | 1.25 | | 1004 | PEC | Pencil 2B | 10000 | 0.48 | | 1005 | PEC | Pencil 2H | 8000 | 0.49 | +-----------+-------------+-----------+----------+-------+2] và
SELECT .. FROM tableName WHERE criteria ORDER BY columnA ASC|DESC, columnB ASC|DESC, ...5 của nhà cung cấp [trong bảng
mysql> CREATE DATABASE IF NOT EXISTS southwind; mysql> SHOW CREATE DATABASE southwind \G *************************** 1. row *************************** Database: southwind Create Database: CREATE DATABASE `southwind` /*!40100 DEFAULT CHARACTER SET latin1 */85], chúng ta có thể nối hai bảng thông qua hai cột chung
mysql> CREATE DATABASE IF NOT EXISTS southwind; mysql> SHOW CREATE DATABASE southwind \G *************************** 1. row *************************** Database: southwind Create Database: CREATE DATABASE `southwind` /*!40100 DEFAULT CHARACTER SET latin1 */86
Trong kết quả truy vấn ở trên, hai trong số các cột có cùng tiêu đề "
SELECT .. FROM tableName WHERE criteria ORDER BY columnA ASC|DESC, columnB ASC|DESC, ...5". Chúng ta có thể tạo bí danh cho các tiêu đề
Sơ đồ cơ sở dữ liệu như minh họa. Liên kết chỉ ra mối quan hệ một-nhiều giữa
mysql> SELECT * FROM products WHERE quantity >= 5000 AND name LIKE 'Pen %'; +-----------+-------------+----------+----------+-------+ | productID | productCode | name | quantity | price | +-----------+-------------+----------+----------+-------+ | 1001 | PEN | Pen Red | 5000 | 1.23 | | 1002 | PEN | Pen Blue | 8000 | 1.25 | +-----------+-------------+----------+----------+-------+ mysql> SELECT * FROM products WHERE quantity >= 5000 AND price < 1.24 AND name LIKE 'Pen %'; +-----------+-------------+---------+----------+-------+ | productID | productCode | name | quantity | price | +-----------+-------------+---------+----------+-------+ | 1001 | PEN | Pen Red | 5000 | 1.23 | +-----------+-------------+---------+----------+-------+ mysql> SELECT * FROM products WHERE NOT [quantity >= 5000 AND name LIKE 'Pen %']; +-----------+-------------+-----------+----------+-------+ | productID | productCode | name | quantity | price | +-----------+-------------+-----------+----------+-------+ | 1003 | PEN | Pen Black | 2000 | 1.25 | | 1004 | PEC | Pencil 2B | 10000 | 0.48 | | 1005 | PEC | Pencil 2H | 8000 | 0.49 | +-----------+-------------+-----------+----------+-------+2 và
mysql> CREATE DATABASE IF NOT EXISTS southwind; mysql> SHOW CREATE DATABASE southwind \G *************************** 1. row *************************** Database: southwind Create Database: CREATE DATABASE `southwind` /*!40100 DEFAULT CHARACTER SET latin1 */85
Mối quan hệ nhiều-nhiều
Giả sử rằng một sản phẩm có nhiều nhà cung cấp; . Giải pháp trên phá vỡ. Bạn không thể bao gồm
mysql> CREATE DATABASE IF NOT EXISTS southwind; mysql> SHOW CREATE DATABASE southwind \G *************************** 1. row *************************** Database: southwind Create Database: CREATE DATABASE `southwind` /*!40100 DEFAULT CHARACTER SET latin1 */86 trong bảng
mysql> SELECT * FROM products WHERE quantity >= 5000 AND name LIKE 'Pen %'; +-----------+-------------+----------+----------+-------+ | productID | productCode | name | quantity | price | +-----------+-------------+----------+----------+-------+ | 1001 | PEN | Pen Red | 5000 | 1.23 | | 1002 | PEN | Pen Blue | 8000 | 1.25 | +-----------+-------------+----------+----------+-------+ mysql> SELECT * FROM products WHERE quantity >= 5000 AND price < 1.24 AND name LIKE 'Pen %'; +-----------+-------------+---------+----------+-------+ | productID | productCode | name | quantity | price | +-----------+-------------+---------+----------+-------+ | 1001 | PEN | Pen Red | 5000 | 1.23 | +-----------+-------------+---------+----------+-------+ mysql> SELECT * FROM products WHERE NOT [quantity >= 5000 AND name LIKE 'Pen %']; +-----------+-------------+-----------+----------+-------+ | productID | productCode | name | quantity | price | +-----------+-------------+-----------+----------+-------+ | 1003 | PEN | Pen Black | 2000 | 1.25 | | 1004 | PEC | Pencil 2B | 10000 | 0.48 | | 1005 | PEC | Pencil 2H | 8000 | 0.49 | +-----------+-------------+-----------+----------+-------+2, vì bạn không thể xác định số lượng nhà cung cấp và do đó, số lượng cột cần thiết cho các
mysql> CREATE DATABASE IF NOT EXISTS southwind; mysql> SHOW CREATE DATABASE southwind \G *************************** 1. row *************************** Database: southwind Create Database: CREATE DATABASE `southwind` /*!40100 DEFAULT CHARACTER SET latin1 */86. Tương tự, bạn không thể bao gồm
SELECT .. FROM tableName WHERE criteria ORDER BY columnA ASC|DESC, columnB ASC|DESC, ...3 trong bảng
mysql> CREATE DATABASE IF NOT EXISTS southwind; mysql> SHOW CREATE DATABASE southwind \G *************************** 1. row *************************** Database: southwind Create Database: CREATE DATABASE `southwind` /*!40100 DEFAULT CHARACTER SET latin1 */85, vì bạn không thể xác định số lượng sản phẩm
Để giải quyết vấn đề này, bạn cần tạo một bảng mới, được gọi là bảng liên kết [hoặc bảng liên kết], để cung cấp liên kết. Hãy gọi bảng nối là
INSERT INTO tableName VALUES [row1FirstColumnValue, ..., row1lastColumnValue], [row2FirstColumnValue, ..., row2lastColumnValue], ...31, như minh họacơ sở dữ liệu. Gió nam
Bàn. product_suppliersproductID
INT
[Khóa ngoại]ID nhà cung cấp
INT
[Khóa ngoại]20015012002501200350120045022001503
cơ sở dữ liệu. Gió nam
Bàn. nhà cung cấp ID nhà cung cấp
tên INT
VARCHAR[30]điện thoại
CHAR[8]501Thương nhân ABC88881111502Công ty XYZ88882222503QQ Corp88883333
cơ sở dữ liệu. Gió nam
Bàn. ID sản phẩm
INTmã sản phẩm
tên CHAR[3]
VARCHAR[30]số lượng
INTprice
DECIMAL[10,2]2001PECBút chì 3B5000. 522002PECBút chì 4B2000. 622003PECBút chì 5B1000. 732004PECBút chì 6B5000. 47
Hãy tạo bảng
INSERT INTO tableName VALUES [row1FirstColumnValue, ..., row1lastColumnValue], [row2FirstColumnValue, ..., row2lastColumnValue], ...31. Khóa chính của bảng gồm 2 cột.
SELECT .. FROM tableName WHERE criteria ORDER BY columnA ASC|DESC, columnB ASC|DESC, ...3 và
mysql> CREATE DATABASE IF NOT EXISTS southwind; mysql> SHOW CREATE DATABASE southwind \G *************************** 1. row *************************** Database: southwind Create Database: CREATE DATABASE `southwind` /*!40100 DEFAULT CHARACTER SET latin1 */86, vì sự kết hợp của chúng xác định duy nhất từng hàng. Khóa chính này được xác định để đảm bảo tính duy nhất. Hai khóa ngoại được xác định để đặt ràng buộc cho hai bảng cha
Tiếp theo, xóa cột
mysql> CREATE DATABASE IF NOT EXISTS southwind; mysql> SHOW CREATE DATABASE southwind \G *************************** 1. row *************************** Database: southwind Create Database: CREATE DATABASE `southwind` /*!40100 DEFAULT CHARACTER SET latin1 */86 khỏi bảng
mysql> SELECT * FROM products WHERE quantity >= 5000 AND name LIKE 'Pen %'; +-----------+-------------+----------+----------+-------+ | productID | productCode | name | quantity | price | +-----------+-------------+----------+----------+-------+ | 1001 | PEN | Pen Red | 5000 | 1.23 | | 1002 | PEN | Pen Blue | 8000 | 1.25 | +-----------+-------------+----------+----------+-------+ mysql> SELECT * FROM products WHERE quantity >= 5000 AND price < 1.24 AND name LIKE 'Pen %'; +-----------+-------------+---------+----------+-------+ | productID | productCode | name | quantity | price | +-----------+-------------+---------+----------+-------+ | 1001 | PEN | Pen Red | 5000 | 1.23 | +-----------+-------------+---------+----------+-------+ mysql> SELECT * FROM products WHERE NOT [quantity >= 5000 AND name LIKE 'Pen %']; +-----------+-------------+-----------+----------+-------+ | productID | productCode | name | quantity | price | +-----------+-------------+-----------+----------+-------+ | 1003 | PEN | Pen Black | 2000 | 1.25 | | 1004 | PEC | Pencil 2B | 10000 | 0.48 | | 1005 | PEC | Pencil 2H | 8000 | 0.49 | +-----------+-------------+-----------+----------+-------+2. [Cột này đã được thêm vào để thiết lập mối quan hệ một-nhiều. Nó không còn cần thiết trong mối quan hệ nhiều-nhiều. ]
Trước khi có thể xóa cột này, bạn cần xóa khóa ngoại được tạo trên cột này. Để xóa một khóa trong MySQL, bạn cần biết tên ràng buộc của nó do hệ thống tạo ra. Để tìm tên ràng buộc, hãy đưa ra "
INSERT INTO tableName VALUES [row1FirstColumnValue, ..., row1lastColumnValue], [row2FirstColumnValue, ..., row2lastColumnValue], ...37" và lưu ý tên ràng buộc của khóa ngoại trong mệnh đề "
INSERT INTO tableName VALUES [row1FirstColumnValue, ..., row1lastColumnValue], [row2FirstColumnValue, ..., row2lastColumnValue], ...38". Sau đó, bạn có thể xóa khóa ngoại bằng cách sử dụng "
INSERT INTO tableName VALUES [row1FirstColumnValue, ..., row1lastColumnValue], [row2FirstColumnValue, ..., row2lastColumnValue], ...39"
mysql> CREATE DATABASE IF NOT EXISTS southwind; mysql> SHOW CREATE DATABASE southwind \G *************************** 1. row *************************** Database: southwind Create Database: CREATE DATABASE `southwind` /*!40100 DEFAULT CHARACTER SET latin1 */1
Bây giờ, chúng ta có thể loại bỏ cột
mysql> CREATE DATABASE IF NOT EXISTS southwind; mysql> SHOW CREATE DATABASE southwind \G *************************** 1. row *************************** Database: southwind Create Database: CREATE DATABASE `southwind` /*!40100 DEFAULT CHARACTER SET latin1 */86 dư thừa cột
mysql> CREATE DATABASE IF NOT EXISTS southwind; mysql> SHOW CREATE DATABASE southwind \G *************************** 1. row *************************** Database: southwind Create Database: CREATE DATABASE `southwind` /*!40100 DEFAULT CHARACTER SET latin1 */2truy vấn
Tương tự, chúng ta có thể sử dụng
mysql> CREATE DATABASE southwind; Query OK, 1 row affected [0.03 sec] mysql> DROP DATABASE southwind; Query OK, 0 rows affected [0.11 sec] mysql> CREATE DATABASE IF NOT EXISTS southwind; Query OK, 1 row affected [0.01 sec] mysql> DROP DATABASE IF EXISTS southwind; Query OK, 0 rows affected [0.00 sec]43 với
INSERT INTO tableName VALUES [row1FirstColumnValue, ..., row1lastColumnValue], [row2FirstColumnValue, ..., row2lastColumnValue], ...42 để truy vấn dữ liệu từ 3 bảng, ví dụ:
Sơ đồ cơ sở dữ liệu như sau. Cả hai bảng
mysql> SELECT * FROM products WHERE quantity >= 5000 AND name LIKE 'Pen %'; +-----------+-------------+----------+----------+-------+ | productID | productCode | name | quantity | price | +-----------+-------------+----------+----------+-------+ | 1001 | PEN | Pen Red | 5000 | 1.23 | | 1002 | PEN | Pen Blue | 8000 | 1.25 | +-----------+-------------+----------+----------+-------+ mysql> SELECT * FROM products WHERE quantity >= 5000 AND price < 1.24 AND name LIKE 'Pen %'; +-----------+-------------+---------+----------+-------+ | productID | productCode | name | quantity | price | +-----------+-------------+---------+----------+-------+ | 1001 | PEN | Pen Red | 5000 | 1.23 | +-----------+-------------+---------+----------+-------+ mysql> SELECT * FROM products WHERE NOT [quantity >= 5000 AND name LIKE 'Pen %']; +-----------+-------------+-----------+----------+-------+ | productID | productCode | name | quantity | price | +-----------+-------------+-----------+----------+-------+ | 1003 | PEN | Pen Black | 2000 | 1.25 | | 1004 | PEC | Pencil 2B | 10000 | 0.48 | | 1005 | PEC | Pencil 2H | 8000 | 0.49 | +-----------+-------------+-----------+----------+-------+2 và
mysql> CREATE DATABASE IF NOT EXISTS southwind; mysql> SHOW CREATE DATABASE southwind \G *************************** 1. row *************************** Database: southwind Create Database: CREATE DATABASE `southwind` /*!40100 DEFAULT CHARACTER SET latin1 */85 đều thể hiện mối quan hệ một-nhiều với bảng nối. Mối quan hệ nhiều-nhiều được hỗ trợ thông qua bảng nối
Mối quan hệ một đối một
Giả sử rằng một số sản phẩm có dữ liệu tùy chọn [e. g. , ảnh, bình luận]. Thay vì giữ những dữ liệu tùy chọn này trong bảng
mysql> SELECT * FROM products WHERE quantity >= 5000 AND name LIKE 'Pen %'; +-----------+-------------+----------+----------+-------+ | productID | productCode | name | quantity | price | +-----------+-------------+----------+----------+-------+ | 1001 | PEN | Pen Red | 5000 | 1.23 | | 1002 | PEN | Pen Blue | 8000 | 1.25 | +-----------+-------------+----------+----------+-------+ mysql> SELECT * FROM products WHERE quantity >= 5000 AND price < 1.24 AND name LIKE 'Pen %'; +-----------+-------------+---------+----------+-------+ | productID | productCode | name | quantity | price | +-----------+-------------+---------+----------+-------+ | 1001 | PEN | Pen Red | 5000 | 1.23 | +-----------+-------------+---------+----------+-------+ mysql> SELECT * FROM products WHERE NOT [quantity >= 5000 AND name LIKE 'Pen %']; +-----------+-------------+-----------+----------+-------+ | productID | productCode | name | quantity | price | +-----------+-------------+-----------+----------+-------+ | 1003 | PEN | Pen Black | 2000 | 1.25 | | 1004 | PEC | Pencil 2B | 10000 | 0.48 | | 1005 | PEC | Pencil 2H | 8000 | 0.49 | +-----------+-------------+-----------+----------+-------+2, sẽ hiệu quả hơn nếu tạo một bảng khác có tên là
INSERT INTO tableName VALUES [row1FirstColumnValue, ..., row1lastColumnValue], [row2FirstColumnValue, ..., row2lastColumnValue], ...46s và liên kết nó với
mysql> SELECT * FROM products WHERE quantity >= 5000 AND name LIKE 'Pen %'; +-----------+-------------+----------+----------+-------+ | productID | productCode | name | quantity | price | +-----------+-------------+----------+----------+-------+ | 1001 | PEN | Pen Red | 5000 | 1.23 | | 1002 | PEN | Pen Blue | 8000 | 1.25 | +-----------+-------------+----------+----------+-------+ mysql> SELECT * FROM products WHERE quantity >= 5000 AND price < 1.24 AND name LIKE 'Pen %'; +-----------+-------------+---------+----------+-------+ | productID | productCode | name | quantity | price | +-----------+-------------+---------+----------+-------+ | 1001 | PEN | Pen Red | 5000 | 1.23 | +-----------+-------------+---------+----------+-------+ mysql> SELECT * FROM products WHERE NOT [quantity >= 5000 AND name LIKE 'Pen %']; +-----------+-------------+-----------+----------+-------+ | productID | productCode | name | quantity | price | +-----------+-------------+-----------+----------+-------+ | 1003 | PEN | Pen Black | 2000 | 1.25 | | 1004 | PEC | Pencil 2B | 10000 | 0.48 | | 1005 | PEC | Pencil 2H | 8000 | 0.49 | +-----------+-------------+-----------+----------+-------+2 bằng mối quan hệ một đối một, như minh họa
mysql> CREATE DATABASE IF NOT EXISTS southwind; mysql> SHOW CREATE DATABASE southwind \G *************************** 1. row *************************** Database: southwind Create Database: CREATE DATABASE `southwind` /*!40100 DEFAULT CHARACTER SET latin1 */3
Sao lưu và khôi phục
Sao lưu. Trước khi kết thúc ví dụ này, hãy chạy chương trình tiện ích
INSERT INTO tableName VALUES [row1FirstColumnValue, ..., row1lastColumnValue], [row2FirstColumnValue, ..., row2lastColumnValue], ...48 để kết xuất [sao lưu] toàn bộ cơ sở dữ liệu
mysql> SELECT * FROM products WHERE quantity >= 5000 AND name LIKE 'Pen %'; +-----------+-------------+----------+----------+-------+ | productID | productCode | name | quantity | price | +-----------+-------------+----------+----------+-------+ | 1001 | PEN | Pen Red | 5000 | 1.23 | | 1002 | PEN | Pen Blue | 8000 | 1.25 | +-----------+-------------+----------+----------+-------+ mysql> SELECT * FROM products WHERE quantity >= 5000 AND price < 1.24 AND name LIKE 'Pen %'; +-----------+-------------+---------+----------+-------+ | productID | productCode | name | quantity | price | +-----------+-------------+---------+----------+-------+ | 1001 | PEN | Pen Red | 5000 | 1.23 | +-----------+-------------+---------+----------+-------+ mysql> SELECT * FROM products WHERE NOT [quantity >= 5000 AND name LIKE 'Pen %']; +-----------+-------------+-----------+----------+-------+ | productID | productCode | name | quantity | price | +-----------+-------------+-----------+----------+-------+ | 1003 | PEN | Pen Black | 2000 | 1.25 | | 1004 | PEC | Pencil 2B | 10000 | 0.48 | | 1005 | PEC | Pencil 2H | 8000 | 0.49 | +-----------+-------------+-----------+----------+-------+1
mysql> CREATE DATABASE IF NOT EXISTS southwind; mysql> SHOW CREATE DATABASE southwind \G *************************** 1. row *************************** Database: southwind Create Database: CREATE DATABASE `southwind` /*!40100 DEFAULT CHARACTER SET latin1 */4
Nghiên cứu tệp đầu ra, chứa các câu lệnh
mysql> SELECT * FROM products WHERE quantity >= 5000 AND name LIKE 'Pen %'; +-----------+-------------+----------+----------+-------+ | productID | productCode | name | quantity | price | +-----------+-------------+----------+----------+-------+ | 1001 | PEN | Pen Red | 5000 | 1.23 | | 1002 | PEN | Pen Blue | 8000 | 1.25 | +-----------+-------------+----------+----------+-------+ mysql> SELECT * FROM products WHERE quantity >= 5000 AND price < 1.24 AND name LIKE 'Pen %'; +-----------+-------------+---------+----------+-------+ | productID | productCode | name | quantity | price | +-----------+-------------+---------+----------+-------+ | 1001 | PEN | Pen Red | 5000 | 1.23 | +-----------+-------------+---------+----------+-------+ mysql> SELECT * FROM products WHERE NOT [quantity >= 5000 AND name LIKE 'Pen %']; +-----------+-------------+-----------+----------+-------+ | productID | productCode | name | quantity | price | +-----------+-------------+-----------+----------+-------+ | 1003 | PEN | Pen Black | 2000 | 1.25 | | 1004 | PEC | Pencil 2B | 10000 | 0.48 | | 1005 | PEC | Pencil 2H | 8000 | 0.49 | +-----------+-------------+-----------+----------+-------+9,
mysql> CREATE DATABASE southwind; Query OK, 1 row affected [0.03 sec] mysql> DROP DATABASE southwind; Query OK, 0 rows affected [0.11 sec] mysql> CREATE DATABASE IF NOT EXISTS southwind; Query OK, 1 row affected [0.01 sec] mysql> DROP DATABASE IF EXISTS southwind; Query OK, 0 rows affected [0.00 sec]33 và
mysql> CREATE DATABASE IF NOT EXISTS southwind; mysql> SHOW CREATE DATABASE southwind \G *************************** 1. row *************************** Database: southwind Create Database: CREATE DATABASE `southwind` /*!40100 DEFAULT CHARACTER SET latin1 */53 để tạo lại các bảng đã đổ
Cú pháp cho chương trình tiện ích
INSERT INTO tableName VALUES [row1FirstColumnValue, ..., row1lastColumnValue], [row2FirstColumnValue, ..., row2lastColumnValue], ...48 như sau
mysql> CREATE DATABASE IF NOT EXISTS southwind; mysql> SHOW CREATE DATABASE southwind \G *************************** 1. row *************************** Database: southwind Create Database: CREATE DATABASE `southwind` /*!40100 DEFAULT CHARACTER SET latin1 */5
Khôi phục. Tiện ích
INSERT INTO tableName VALUES [row1FirstColumnValue, ..., row1lastColumnValue], [row2FirstColumnValue, ..., row2lastColumnValue], ...48 tạo ra một tập lệnh SQL [bao gồm các lệnh
mysql> CREATE DATABASE southwind; Query OK, 1 row affected [0.03 sec] mysql> DROP DATABASE southwind; Query OK, 0 rows affected [0.11 sec] mysql> CREATE DATABASE IF NOT EXISTS southwind; Query OK, 1 row affected [0.01 sec] mysql> DROP DATABASE IF EXISTS southwind; Query OK, 0 rows affected [0.00 sec]33 và
mysql> CREATE DATABASE IF NOT EXISTS southwind; mysql> SHOW CREATE DATABASE southwind \G *************************** 1. row *************************** Database: southwind Create Database: CREATE DATABASE `southwind` /*!40100 DEFAULT CHARACTER SET latin1 */53 để tạo lại các bảng và tải dữ liệu của chúng]. Bạn có thể khôi phục từ bản sao lưu bằng cách chạy tập lệnh
- thông qua lệnh "
mysql> CREATE DATABASE IF NOT EXISTS southwind; mysql> SHOW CREATE DATABASE southwind \G *************************** 1. row *************************** Database: southwind Create Database: CREATE DATABASE `southwind` /*!40100 DEFAULT CHARACTER SET latin1 */
79" trong ứng dụng khách tương tác. Ví dụ: để khôi phục bản sao lưumysql> SELECT * FROM products WHERE quantity >= 5000 AND name LIKE 'Pen %'; +-----------+-------------+----------+----------+-------+ | productID | productCode | name | quantity | price | +-----------+-------------+----------+----------+-------+ | 1001 | PEN | Pen Red | 5000 | 1.23 | | 1002 | PEN | Pen Blue | 8000 | 1.25 | +-----------+-------------+----------+----------+-------+ mysql> SELECT * FROM products WHERE quantity >= 5000 AND price < 1.24 AND name LIKE 'Pen %'; +-----------+-------------+---------+----------+-------+ | productID | productCode | name | quantity | price | +-----------+-------------+---------+----------+-------+ | 1001 | PEN | Pen Red | 5000 | 1.23 | +-----------+-------------+---------+----------+-------+ mysql> SELECT * FROM products WHERE NOT [quantity >= 5000 AND name LIKE 'Pen %']; +-----------+-------------+-----------+----------+-------+ | productID | productCode | name | quantity | price | +-----------+-------------+-----------+----------+-------+ | 1003 | PEN | Pen Black | 2000 | 1.25 | | 1004 | PEC | Pencil 2B | 10000 | 0.48 | | 1005 | PEC | Pencil 2H | 8000 | 0.49 | +-----------+-------------+-----------+----------+-------+
1 trước đó - thông qua "chế độ hàng loạt" của chương trình máy khách
mysql> SELECT name, price FROM products WHERE price < 1.0; +-----------+-------+ | name | price | +-----------+-------+ | Pencil 2B | 0.48 | | Pencil 2H | 0.49 | +-----------+-------+ 2 rows in set [0.00 sec] mysql> SELECT name, quantity FROM products WHERE quantity CREATE DATABASE IF NOT EXISTS southwind; mysql> SHOW CREATE DATABASE southwind \G *************************** 1. row *************************** Database: southwind Create Database: CREATE DATABASE `southwind` /*!40100 DEFAULT CHARACTER SET latin1 */
41 vàmysql> SELECT * FROM products WHERE quantity >= 5000 AND name LIKE 'Pen %'; +-----------+-------------+----------+----------+-------+ | productID | productCode | name | quantity | price | +-----------+-------------+----------+----------+-------+ | 1001 | PEN | Pen Red | 5000 | 1.23 | | 1002 | PEN | Pen Blue | 8000 | 1.25 | +-----------+-------------+----------+----------+-------+ mysql> SELECT * FROM products WHERE quantity >= 5000 AND price < 1.24 AND name LIKE 'Pen %'; +-----------+-------------+---------+----------+-------+ | productID | productCode | name | quantity | price | +-----------+-------------+---------+----------+-------+ | 1001 | PEN | Pen Red | 5000 | 1.23 | +-----------+-------------+---------+----------+-------+ mysql> SELECT * FROM products WHERE NOT [quantity >= 5000 AND name LIKE 'Pen %']; +-----------+-------------+-----------+----------+-------+ | productID | productCode | name | quantity | price | +-----------+-------------+-----------+----------+-------+ | 1003 | PEN | Pen Black | 2000 | 1.25 | | 1004 | PEC | Pencil 2B | 10000 | 0.48 | | 1005 | PEC | Pencil 2H | 8000 | 0.49 | +-----------+-------------+-----------+----------+-------+
8 thông qua các mệnh đề tùy chọnINSERT INTO tableName VALUES [row1FirstColumnValue, ..., row1lastColumnValue], [row2FirstColumnValue, ..., row2lastColumnValue], ...
68 vàINSERT INTO tableName VALUES [row1FirstColumnValue, ..., row1lastColumnValue], [row2FirstColumnValue, ..., row2lastColumnValue], ...
69INSERT INTO tableName VALUES [row1FirstColumnValue, ..., row1lastColumnValue], [row2FirstColumnValue, ..., row2lastColumnValue], ...
70 [mặc định]. không cho phépmysql> SELECT * FROM products WHERE quantity >= 5000 AND name LIKE 'Pen %'; +-----------+-------------+----------+----------+-------+ | productID | productCode | name | quantity | price | +-----------+-------------+----------+----------+-------+ | 1001 | PEN | Pen Red | 5000 | 1.23 | | 1002 | PEN | Pen Blue | 8000 | 1.25 | +-----------+-------------+----------+----------+-------+ mysql> SELECT * FROM products WHERE quantity >= 5000 AND price < 1.24 AND name LIKE 'Pen %'; +-----------+-------------+---------+----------+-------+ | productID | productCode | name | quantity | price | +-----------+-------------+---------+----------+-------+ | 1001 | PEN | Pen Red | 5000 | 1.23 | +-----------+-------------+---------+----------+-------+ mysql> SELECT * FROM products WHERE NOT [quantity >= 5000 AND name LIKE 'Pen %']; +-----------+-------------+-----------+----------+-------+ | productID | productCode | name | quantity | price | +-----------+-------------+-----------+----------+-------+ | 1003 | PEN | Pen Black | 2000 | 1.25 | | 1004 | PEC | Pencil 2B | 10000 | 0.48 | | 1005 | PEC | Pencil 2H | 8000 | 0.49 | +-----------+-------------+-----------+----------+-------+
8 hoặcmysql> CREATE DATABASE IF NOT EXISTS southwind; mysql> SHOW CREATE DATABASE southwind \G *************************** 1. row *************************** Database: southwind Create Database: CREATE DATABASE `southwind` /*!40100 DEFAULT CHARACTER SET latin1 */
41 của hàng của cha mẹ, nếu có các hàng phù hợp trong bảng conINSERT INTO tableName VALUES [row1FirstColumnValue, ..., row1lastColumnValue], [row2FirstColumnValue, ..., row2lastColumnValue], ...
73. xếp tầng tác vụmysql> SELECT * FROM products WHERE quantity >= 5000 AND name LIKE 'Pen %'; +-----------+-------------+----------+----------+-------+ | productID | productCode | name | quantity | price | +-----------+-------------+----------+----------+-------+ | 1001 | PEN | Pen Red | 5000 | 1.23 | | 1002 | PEN | Pen Blue | 8000 | 1.25 | +-----------+-------------+----------+----------+-------+ mysql> SELECT * FROM products WHERE quantity >= 5000 AND price < 1.24 AND name LIKE 'Pen %'; +-----------+-------------+---------+----------+-------+ | productID | productCode | name | quantity | price | +-----------+-------------+---------+----------+-------+ | 1001 | PEN | Pen Red | 5000 | 1.23 | +-----------+-------------+---------+----------+-------+ mysql> SELECT * FROM products WHERE NOT [quantity >= 5000 AND name LIKE 'Pen %']; +-----------+-------------+-----------+----------+-------+ | productID | productCode | name | quantity | price | +-----------+-------------+-----------+----------+-------+ | 1003 | PEN | Pen Black | 2000 | 1.25 | | 1004 | PEC | Pencil 2B | 10000 | 0.48 | | 1005 | PEC | Pencil 2H | 8000 | 0.49 | +-----------+-------------+-----------+----------+-------+
8 hoặcmysql> CREATE DATABASE IF NOT EXISTS southwind; mysql> SHOW CREATE DATABASE southwind \G *************************** 1. row *************************** Database: southwind Create Database: CREATE DATABASE `southwind` /*!40100 DEFAULT CHARACTER SET latin1 */
41 vào các hàng phù hợp trong bảng conINSERT INTO tableName VALUES [row1FirstColumnValue, ..., row1lastColumnValue], [row2FirstColumnValue, ..., row2lastColumnValue], ...
76. đặt giá trị khóa ngoại trong bảng con thànhmysql> CREATE DATABASE southwind; Query OK, 1 row affected [0.03 sec] mysql> DROP DATABASE southwind; Query OK, 0 rows affected [0.11 sec] mysql> CREATE DATABASE IF NOT EXISTS southwind; Query OK, 1 row affected [0.01 sec] mysql> DROP DATABASE IF EXISTS southwind; Query OK, 0 rows affected [0.00 sec]
18 [nếu cho phépmysql> CREATE DATABASE southwind; Query OK, 1 row affected [0.03 sec] mysql> DROP DATABASE southwind; Query OK, 0 rows affected [0.11 sec] mysql> CREATE DATABASE IF NOT EXISTS southwind; Query OK, 1 row affected [0.01 sec] mysql> DROP DATABASE IF EXISTS southwind; Query OK, 0 rows affected [0.00 sec]
18]INSERT INTO tableName VALUES [row1FirstColumnValue, ..., row1lastColumnValue], [row2FirstColumnValue, ..., row2lastColumnValue], ...
79. một thuật ngữ SQL có nghĩa là không có hành động nào trên hàng của cha mẹ. Tương tự nhưINSERT INTO tableName VALUES [row1FirstColumnValue, ..., row1lastColumnValue], [row2FirstColumnValue, ..., row2lastColumnValue], ...
70 trong MySQL, không cho phépmysql> SELECT * FROM products WHERE quantity >= 5000 AND name LIKE 'Pen %'; +-----------+-------------+----------+----------+-------+ | productID | productCode | name | quantity | price | +-----------+-------------+----------+----------+-------+ | 1001 | PEN | Pen Red | 5000 | 1.23 | | 1002 | PEN | Pen Blue | 8000 | 1.25 | +-----------+-------------+----------+----------+-------+ mysql> SELECT * FROM products WHERE quantity >= 5000 AND price < 1.24 AND name LIKE 'Pen %'; +-----------+-------------+---------+----------+-------+ | productID | productCode | name | quantity | price | +-----------+-------------+---------+----------+-------+ | 1001 | PEN | Pen Red | 5000 | 1.23 | +-----------+-------------+---------+----------+-------+ mysql> SELECT * FROM products WHERE NOT [quantity >= 5000 AND name LIKE 'Pen %']; +-----------+-------------+-----------+----------+-------+ | productID | productCode | name | quantity | price | +-----------+-------------+-----------+----------+-------+ | 1003 | PEN | Pen Black | 2000 | 1.25 | | 1004 | PEC | Pencil 2B | 10000 | 0.48 | | 1005 | PEC | Pencil 2H | 8000 | 0.49 | +-----------+-------------+-----------+----------+-------+
8 hoặcmysql> CREATE DATABASE IF NOT EXISTS southwind; mysql> SHOW CREATE DATABASE southwind \G *************************** 1. row *************************** Database: southwind Create Database: CREATE DATABASE `southwind` /*!40100 DEFAULT CHARACTER SET latin1 */
41 [không làm gì cả]
Hãy thử xóa một bản ghi trong bảng
mysql> CREATE DATABASE IF NOT EXISTS southwind; mysql> SHOW CREATE DATABASE southwind \G *************************** 1. row *************************** Database: southwind Create Database: CREATE DATABASE `southwind` /*!40100 DEFAULT CHARACTER SET latin1 */
85 [cha] được tham chiếu bởi bảngINSERT INTO tableName VALUES [row1FirstColumnValue, ..., row1lastColumnValue], [row2FirstColumnValue, ..., row2lastColumnValue], ...
31 [con], e. g. ,Bản ghi không thể bị xóa vì ràng buộc "_______98_______85" mặc định đã được áp đặt
Chỉ mục [hoặc Khóa]
Chỉ mục [hoặc Khóa] có thể được tạo trên [các] cột đã chọn để hỗ trợ tìm kiếm nhanh. Không có chỉ mục, "
INSERT INTO tableName VALUES [row1FirstColumnValue, ..., row1lastColumnValue], [row2FirstColumnValue, ..., row2lastColumnValue], ...
86" cần khớp với cộtSELECT .. FROM tableName WHERE criteria ORDER BY columnA ASC|DESC, columnB ASC|DESC, ...
3 của tất cả các bản ghi trong bảngmysql> SELECT * FROM products WHERE quantity >= 5000 AND name LIKE 'Pen %'; +-----------+-------------+----------+----------+-------+ | productID | productCode | name | quantity | price | +-----------+-------------+----------+----------+-------+ | 1001 | PEN | Pen Red | 5000 | 1.23 | | 1002 | PEN | Pen Blue | 8000 | 1.25 | +-----------+-------------+----------+----------+-------+ mysql> SELECT * FROM products WHERE quantity >= 5000 AND price < 1.24 AND name LIKE 'Pen %'; +-----------+-------------+---------+----------+-------+ | productID | productCode | name | quantity | price | +-----------+-------------+---------+----------+-------+ | 1001 | PEN | Pen Red | 5000 | 1.23 | +-----------+-------------+---------+----------+-------+ mysql> SELECT * FROM products WHERE NOT [quantity >= 5000 AND name LIKE 'Pen %']; +-----------+-------------+-----------+----------+-------+ | productID | productCode | name | quantity | price | +-----------+-------------+-----------+----------+-------+ | 1003 | PEN | Pen Black | 2000 | 1.25 | | 1004 | PEC | Pencil 2B | 10000 | 0.48 | | 1005 | PEC | Pencil 2H | 8000 | 0.49 | +-----------+-------------+-----------+----------+-------+
2. Nếu cộtSELECT .. FROM tableName WHERE criteria ORDER BY columnA ASC|DESC, columnB ASC|DESC, ...
3 được lập chỉ mục [e. g. , sử dụng cây nhị phân], việc so khớp có thể được cải thiện rất nhiều [thông qua tìm kiếm cây nhị phân]Bạn nên lập chỉ mục các cột thường được sử dụng trong mệnh đề
mysql> CREATE DATABASE IF NOT EXISTS southwind; mysql> SHOW CREATE DATABASE southwind \G *************************** 1. row *************************** Database: southwind Create Database: CREATE DATABASE `southwind` /*!40100 DEFAULT CHARACTER SET latin1 */
35;Hạn chế về lập chỉ mục là chi phí và không gian. Xây dựng và duy trì các chỉ mục yêu cầu tính toán và không gian bộ nhớ. Các chỉ mục hỗ trợ tìm kiếm nhanh nhưng làm giảm hiệu suất khi sửa đổi bảng [
INSERT INTO tableName VALUES [row1FirstColumnValue, ..., row1lastColumnValue], [row2FirstColumnValue, ..., row2lastColumnValue], ...
92] và cần được chứng minh. Tuy nhiên, cơ sở dữ liệu quan hệ thường được tối ưu hóa cho các truy vấn và truy xuất, nhưng KHÔNG dành cho các bản cập nhậtTrong MySQL, từ khóa
INSERT INTO tableName VALUES [row1FirstColumnValue, ..., row1lastColumnValue], [row2FirstColumnValue, ..., row2lastColumnValue], ...
93 đồng nghĩa vớiINSERT INTO tableName VALUES [row1FirstColumnValue, ..., row1lastColumnValue], [row2FirstColumnValue, ..., row2lastColumnValue], ...
94Trong MySQL, các chỉ mục có thể được xây dựng trên
- một cột duy nhất [column-index]
- một tập hợp các cột [chỉ mục nối]
- trên cột giá trị duy nhất [
INSERT INTO tableName VALUES [row1FirstColumnValue, ..., row1lastColumnValue], [row2FirstColumnValue, ..., row2lastColumnValue], ...
95 hoặcINSERT INTO tableName VALUES [row1FirstColumnValue, ..., row1lastColumnValue], [row2FirstColumnValue, ..., row2lastColumnValue], ...
96] - trên tiền tố của một cột đối với chuỗi [_______12_______07 hoặc
mysql> CREATE DATABASE southwind; Query OK, 1 row affected [0.03 sec] mysql> DROP DATABASE southwind; Query OK, 0 rows affected [0.11 sec] mysql> CREATE DATABASE IF NOT EXISTS southwind; Query OK, 1 row affected [0.01 sec] mysql> DROP DATABASE IF EXISTS southwind; Query OK, 0 rows affected [0.00 sec]
08], e. g. , 5 ký tự đầu tiên
Có thể có nhiều hơn một chỉ mục trong một bảng. Chỉ mục được tạo tự động trên [các] cột khóa chính
Bạn có thể xây dựng chỉ mục thông qua
mysql> CREATE DATABASE southwind; Query OK, 1 row affected [0.03 sec] mysql> DROP DATABASE southwind; Query OK, 0 rows affected [0.11 sec] mysql> CREATE DATABASE IF NOT EXISTS southwind; Query OK, 1 row affected [0.01 sec] mysql> DROP DATABASE IF EXISTS southwind; Query OK, 0 rows affected [0.00 sec]
33,mysql> SELECT name, price FROM products WHERE price < 1.0; +-----------+-------+ | name | price | +-----------+-------+ | Pencil 2B | 0.48 | | Pencil 2H | 0.49 | +-----------+-------+ 2 rows in set [0.00 sec] mysql> SELECT name, quantity FROM products WHERE quantity CREATE DATABASE IF NOT EXISTS southwind; mysql> SHOW CREATE DATABASE southwind \G *************************** 1. row *************************** Database: southwind Create Database: CREATE DATABASE `southwind` /*!40100 DEFAULT CHARACTER SET latin1 */
6Bạn có thể làm điều này mà không cần truy vấn phụ không?
Truy vấn con có thể trả về một vô hướng, một cột, một hàng hoặc một bảng. Bạn có thể sử dụng toán tử so sánh [e. g. ,
mysql> CREATE DATABASE southwind; Query OK, 1 row affected [0.03 sec] mysql> DROP DATABASE southwind; Query OK, 0 rows affected [0.11 sec] mysql> CREATE DATABASE IF NOT EXISTS southwind; Query OK, 1 row affected [0.01 sec] mysql> DROP DATABASE IF EXISTS southwind; Query OK, 0 rows affected [0.00 sec]
50,mysql> CREATE DATABASE southwind; Query OK, 1 row affected [0.03 sec] mysql> DROP DATABASE southwind; Query OK, 0 rows affected [0.11 sec] mysql> CREATE DATABASE IF NOT EXISTS southwind; Query OK, 1 row affected [0.01 sec] mysql> DROP DATABASE IF EXISTS southwind; Query OK, 0 rows affected [0.00 sec]
53] trên vô hướng,mysql> CREATE DATABASE southwind; Query OK, 1 row affected [0.03 sec] mysql> DROP DATABASE southwind; Query OK, 0 rows affected [0.11 sec] mysql> CREATE DATABASE IF NOT EXISTS southwind; Query OK, 1 row affected [0.01 sec] mysql> DROP DATABASE IF EXISTS southwind; Query OK, 0 rows affected [0.00 sec]
91 hoặcmysql> CREATE DATABASE southwind; Query OK, 1 row affected [0.03 sec] mysql> DROP DATABASE southwind; Query OK, 0 rows affected [0.11 sec] mysql> CREATE DATABASE IF NOT EXISTS southwind; Query OK, 1 row affected [0.01 sec] mysql> DROP DATABASE IF EXISTS southwind; Query OK, 0 rows affected [0.00 sec]
92 cho một hàng hoặc cột,mysql> SELECT name, price FROM products WHERE price < 1.0; +-----------+-------+ | name | price | +-----------+-------+ | Pencil 2B | 0.48 | | Pencil 2H | 0.49 | +-----------+-------+ 2 rows in set [0.00 sec] mysql> SELECT name, quantity FROM products WHERE quantity CREATE DATABASE IF NOT EXISTS southwind; mysql> SHOW CREATE DATABASE southwind \G *************************** 1. row *************************** Database: southwind Create Database: CREATE DATABASE `southwind` /*!40100 DEFAULT CHARACTER SET latin1 */
53,mysql> SELECT * FROM products WHERE quantity >= 5000 AND name LIKE 'Pen %'; +-----------+-------------+----------+----------+-------+ | productID | productCode | name | quantity | price | +-----------+-------------+----------+----------+-------+ | 1001 | PEN | Pen Red | 5000 | 1.23 | | 1002 | PEN | Pen Blue | 8000 | 1.25 | +-----------+-------------+----------+----------+-------+ mysql> SELECT * FROM products WHERE quantity >= 5000 AND price < 1.24 AND name LIKE 'Pen %'; +-----------+-------------+---------+----------+-------+ | productID | productCode | name | quantity | price | +-----------+-------------+---------+----------+-------+ | 1001 | PEN | Pen Red | 5000 | 1.23 | +-----------+-------------+---------+----------+-------+ mysql> SELECT * FROM products WHERE NOT [quantity >= 5000 AND name LIKE 'Pen %']; +-----------+-------------+-----------+----------+-------+ | productID | productCode | name | quantity | price | +-----------+-------------+-----------+----------+-------+ | 1003 | PEN | Pen Black | 2000 | 1.25 | | 1004 | PEC | Pencil 2B | 10000 | 0.48 | | 1005 | PEC | Pencil 2H | 8000 | 0.49 | +-----------+-------------+-----------+----------+-------+
8 hoặcmysql> CREATE DATABASE IF NOT EXISTS southwind; mysql> SHOW CREATE DATABASE southwind \G *************************** 1. row *************************** Database: southwind Create Database: CREATE DATABASE `southwind` /*!40100 DEFAULT CHARACTER SET latin1 */
41. Ví dụ,Làm việc với Ngày và Giờ
Ngày và giờ được quan tâm đặc biệt đối với các ứng dụng cơ sở dữ liệu. Điều này là do hồ sơ kinh doanh thường mang thông tin ngày/giờ [e. g. ,
mysql> SELECT name, price FROM products WHERE price < 1.0; +-----------+-------+ | name | price | +-----------+-------+ | Pencil 2B | 0.48 | | Pencil 2H | 0.49 | +-----------+-------+ 2 rows in set [0.00 sec] mysql> SELECT name, quantity FROM products WHERE quantity SELECT name, price FROM products WHERE price < 1.0; +-----------+-------+ | name | price | +-----------+-------+ | Pencil 2B | 0.48 | | Pencil 2H | 0.49 | +-----------+-------+ 2 rows in set [0.00 sec] mysql> SELECT name, quantity FROM products WHERE quantity SELECT name, price FROM products WHERE price < 1.0; +-----------+-------+ | name | price | +-----------+-------+ | Pencil 2B | 0.48 | | Pencil 2H | 0.49 | +-----------+-------+ 2 rows in set [0.00 sec] mysql> SELECT name, quantity FROM products WHERE quantity SELECT name, price FROM products WHERE price < 1.0; +-----------+-------+ | name | price | +-----------+-------+ | Pencil 2B | 0.48 | | Pencil 2H | 0.49 | +-----------+-------+ 2 rows in set [0.00 sec] mysql> SELECT name, quantity FROM products WHERE quantity SELECT name, price FROM products WHERE price < 1.0; +-----------+-------+ | name | price | +-----------+-------+ | Pencil 2B | 0.48 | | Pencil 2H | 0.49 | +-----------+-------+ 2 rows in set [0.00 sec] mysql> SELECT name, quantity FROM products WHERE quantity SELECT name, price FROM products WHERE price < 1.0; +-----------+-------+ | name | price | +-----------+-------+ | Pencil 2B | 0.48 | | Pencil 2H | 0.49 | +-----------+-------+ 2 rows in set [0.00 sec] mysql> SELECT name, quantity FROM products WHERE quantity SELECT name, price FROM products WHERE price < 1.0; +-----------+-------+ | name | price | +-----------+-------+ | Pencil 2B | 0.48 | | Pencil 2H | 0.49 | +-----------+-------+ 2 rows in set [0.00 sec] mysql> SELECT name, quantity FROM products WHERE quantity SELECT name, price FROM products WHERE price < 1.0; +-----------+-------+ | name | price | +-----------+-------+ | Pencil 2B | 0.48 | | Pencil 2H | 0.49 | +-----------+-------+ 2 rows in set [0.00 sec] mysql> SELECT name, quantity FROM products WHERE quantity SELECT name, price FROM products WHERE price < 1.0; +-----------+-------+ | name | price | +-----------+-------+ | Pencil 2B | 0.48 | | Pencil 2H | 0.49 | +-----------+-------+ 2 rows in set [0.00 sec] mysql> SELECT name, quantity FROM products WHERE quantity SELECT name, price FROM products WHERE price < 1.0; +-----------+-------+ | name | price | +-----------+-------+ | Pencil 2B | 0.48 | | Pencil 2H | 0.49 | +-----------+-------+ 2 rows in set [0.00 sec] mysql> SELECT name, quantity FROM products WHERE quantity SELECT name, price FROM products WHERE price < 1.0; +-----------+-------+ | name | price | +-----------+-------+ | Pencil 2B | 0.48 | | Pencil 2H | 0.49 | +-----------+-------+ 2 rows in set [0.00 sec] mysql> SELECT name, quantity FROM products WHERE quantity SELECT name, price FROM products WHERE price < 1.0; +-----------+-------+ | name | price | +-----------+-------+ | Pencil 2B | 0.48 | | Pencil 2H | 0.49 | +-----------+-------+ 2 rows in set [0.00 sec] mysql> SELECT name, quantity FROM products WHERE quantity SELECT name, price FROM products WHERE price < 1.0; +-----------+-------+ | name | price | +-----------+-------+ | Pencil 2B | 0.48 | | Pencil 2H | 0.49 | +-----------+-------+ 2 rows in set [0.00 sec] mysql> SELECT name, quantity FROM products WHERE quantity SELECT name, price FROM products WHERE price < 1.0; +-----------+-------+ | name | price | +-----------+-------+ | Pencil 2B | 0.48 | | Pencil 2H | 0.49 | +-----------+-------+ 2 rows in set [0.00 sec] mysql> SELECT name, quantity FROM products WHERE quantity SELECT name, price FROM products WHERE price < 1.0; +-----------+-------+ | name | price | +-----------+-------+ | Pencil 2B | 0.48 | | Pencil 2H | 0.49 | +-----------+-------+ 2 rows in set [0.00 sec] mysql> SELECT name, quantity FROM products WHERE quantity SELECT name, price FROM products WHERE price < 1.0; +-----------+-------+ | name | price | +-----------+-------+ | Pencil 2B | 0.48 | | Pencil 2H | 0.49 | +-----------+-------+ 2 rows in set [0.00 sec] mysql> SELECT name, quantity FROM products WHERE quantity CREATE DATABASE IF NOT EXISTS southwind; mysql> SHOW CREATE DATABASE southwind \G *************************** 1. row *************************** Database: southwind Create Database: CREATE DATABASE `southwind` /*!40100 DEFAULT CHARACTER SET latin1 */
7Các loại ngày/giờ SQLMySQL cung cấp các kiểu dữ liệu ngày/giờ này
mysql> SELECT name, price FROM products WHERE price < 1.0; +-----------+-------+ | name | price | +-----------+-------+ | Pencil 2B | 0.48 | | Pencil 2H | 0.49 | +-----------+-------+ 2 rows in set [0.00 sec] mysql> SELECT name, quantity FROM products WHERE quantity SELECT name, price FROM products WHERE price < 1.0; +-----------+-------+ | name | price | +-----------+-------+ | Pencil 2B | 0.48 | | Pencil 2H | 0.49 | +-----------+-------+ 2 rows in set [0.00 sec] mysql> SELECT name, quantity FROM products WHERE quantity SELECT name, price FROM products WHERE price < 1.0; +-----------+-------+ | name | price | +-----------+-------+ | Pencil 2B | 0.48 | | Pencil 2H | 0.49 | +-----------+-------+ 2 rows in set [0.00 sec] mysql> SELECT name, quantity FROM products WHERE quantity SELECT name, price FROM products WHERE price < 1.0; +-----------+-------+ | name | price | +-----------+-------+ | Pencil 2B | 0.48 | | Pencil 2H | 0.49 | +-----------+-------+ 2 rows in set [0.00 sec] mysql> SELECT name, quantity FROM products WHERE quantity SELECT name, price FROM products WHERE price < 1.0; +-----------+-------+ | name | price | +-----------+-------+ | Pencil 2B | 0.48 | | Pencil 2H | 0.49 | +-----------+-------+ 2 rows in set [0.00 sec] mysql> SELECT name, quantity FROM products WHERE quantity SELECT name, price FROM products WHERE price < 1.0; +-----------+-------+ | name | price | +-----------+-------+ | Pencil 2B | 0.48 | | Pencil 2H | 0.49 | +-----------+-------+ 2 rows in set [0.00 sec] mysql> SELECT name, quantity FROM products WHERE quantity SELECT name, price FROM products WHERE price < 1.0; +-----------+-------+ | name | price | +-----------+-------+ | Pencil 2B | 0.48 | | Pencil 2H | 0.49 | +-----------+-------+ 2 rows in set [0.00 sec] mysql> SELECT name, quantity FROM products WHERE quantity SELECT name, price FROM products WHERE price < 1.0; +-----------+-------+ | name | price | +-----------+-------+ | Pencil 2B | 0.48 | | Pencil 2H | 0.49 | +-----------+-------+ 2 rows in set [0.00 sec] mysql> SELECT name, quantity FROM products WHERE quantity SELECT name, price FROM products WHERE price < 1.0; +-----------+-------+ | name | price | +-----------+-------+ | Pencil 2B | 0.48 | | Pencil 2H | 0.49 | +-----------+-------+ 2 rows in set [0.00 sec] mysql> SELECT name, quantity FROM products WHERE quantity SELECT name, price FROM products WHERE price < 1.0; +-----------+-------+ | name | price | +-----------+-------+ | Pencil 2B | 0.48 | | Pencil 2H | 0.49 | +-----------+-------+ 2 rows in set [0.00 sec] mysql> SELECT name, quantity FROM products WHERE quantity SELECT name, price FROM products WHERE price < 1.0; +-----------+-------+ | name | price | +-----------+-------+ | Pencil 2B | 0.48 | | Pencil 2H | 0.49 | +-----------+-------+ 2 rows in set [0.00 sec] mysql> SELECT name, quantity FROM products WHERE quantity SELECT name, price FROM products WHERE price < 1.0; +-----------+-------+ | name | price | +-----------+-------+ | Pencil 2B | 0.48 | | Pencil 2H | 0.49 | +-----------+-------+ 2 rows in set [0.00 sec] mysql> SELECT name, quantity FROM products WHERE quantity SELECT name, price FROM products WHERE price < 1.0; +-----------+-------+ | name | price | +-----------+-------+ | Pencil 2B | 0.48 | | Pencil 2H | 0.49 | +-----------+-------+ 2 rows in set [0.00 sec] mysql> SELECT name, quantity FROM products WHERE quantity SELECT name, price FROM products WHERE price < 1.0; +-----------+-------+ | name | price | +-----------+-------+ | Pencil 2B | 0.48 | | Pencil 2H | 0.49 | +-----------+-------+ 2 rows in set [0.00 sec] mysql> SELECT name, quantity FROM products WHERE quantity SELECT name, price FROM products WHERE price < 1.0; +-----------+-------+ | name | price | +-----------+-------+ | Pencil 2B | 0.48 | | Pencil 2H | 0.49 | +-----------+-------+ 2 rows in set [0.00 sec] mysql> SELECT name, quantity FROM products WHERE quantity SELECT name, price FROM products WHERE price < 1.0; +-----------+-------+ | name | price | +-----------+-------+ | Pencil 2B | 0.48 | | Pencil 2H | 0.49 | +-----------+-------+ 2 rows in set [0.00 sec] mysql> SELECT name, quantity FROM products WHERE quantity SELECT name, price FROM products WHERE price < 1.0; +-----------+-------+ | name | price | +-----------+-------+ | Pencil 2B | 0.48 | | Pencil 2H | 0.49 | +-----------+-------+ 2 rows in set [0.00 sec] mysql> SELECT name, quantity FROM products WHERE quantity SELECT name, price FROM products WHERE price < 1.0; +-----------+-------+ | name | price | +-----------+-------+ | Pencil 2B | 0.48 | | Pencil 2H | 0.49 | +-----------+-------+ 2 rows in set [0.00 sec] mysql> SELECT name, quantity FROM products WHERE quantity SELECT name, price FROM products WHERE price < 1.0; +-----------+-------+ | name | price | +-----------+-------+ | Pencil 2B | 0.48 | | Pencil 2H | 0.49 | +-----------+-------+ 2 rows in set [0.00 sec] mysql> SELECT name, quantity FROM products WHERE quantity SELECT name, price FROM products WHERE price < 1.0; +-----------+-------+ | name | price | +-----------+-------+ | Pencil 2B | 0.48 | | Pencil 2H | 0.49 | +-----------+-------+ 2 rows in set [0.00 sec] mysql> SELECT name, quantity FROM products WHERE quantity SELECT name, price FROM products WHERE price < 1.0; +-----------+-------+ | name | price | +-----------+-------+ | Pencil 2B | 0.48 | | Pencil 2H | 0.49 | +-----------+-------+ 2 rows in set [0.00 sec] mysql> SELECT name, quantity FROM products WHERE quantity SELECT name, price FROM products WHERE price < 1.0; +-----------+-------+ | name | price | +-----------+-------+ | Pencil 2B | 0.48 | | Pencil 2H | 0.49 | +-----------+-------+ 2 rows in set [0.00 sec] mysql> SELECT name, quantity FROM products WHERE quantity SELECT name, price FROM products WHERE price < 1.0; +-----------+-------+ | name | price | +-----------+-------+ | Pencil 2B | 0.48 | | Pencil 2H | 0.49 | +-----------+-------+ 2 rows in set [0.00 sec] mysql> SELECT name, quantity FROM products WHERE quantity SELECT name, price FROM products WHERE price < 1.0; +-----------+-------+ | name | price | +-----------+-------+ | Pencil 2B | 0.48 | | Pencil 2H | 0.49 | +-----------+-------+ 2 rows in set [0.00 sec] mysql> SELECT name, quantity FROM products WHERE quantity SELECT name, price FROM products WHERE price < 1.0; +-----------+-------+ | name | price | +-----------+-------+ | Pencil 2B | 0.48 | | Pencil 2H | 0.49 | +-----------+-------+ 2 rows in set [0.00 sec] mysql> SELECT name, quantity FROM products WHERE quantity SELECT name, price FROM products WHERE price < 1.0; +-----------+-------+ | name | price | +-----------+-------+ | Pencil 2B | 0.48 | | Pencil 2H | 0.49 | +-----------+-------+ 2 rows in set [0.00 sec] mysql> SELECT name, quantity FROM products WHERE quantity SELECT name, price FROM products WHERE price < 1.0; +-----------+-------+ | name | price | +-----------+-------+ | Pencil 2B | 0.48 | | Pencil 2H | 0.49 | +-----------+-------+ 2 rows in set [0.00 sec] mysql> SELECT name, quantity FROM products WHERE quantity SELECT name, price FROM products WHERE price < 1.0; +-----------+-------+ | name | price | +-----------+-------+ | Pencil 2B | 0.48 | | Pencil 2H | 0.49 | +-----------+-------+ 2 rows in set [0.00 sec] mysql> SELECT name, quantity FROM products WHERE quantity SELECT name, price FROM products WHERE price < 1.0; +-----------+-------+ | name | price | +-----------+-------+ | Pencil 2B | 0.48 | | Pencil 2H | 0.49 | +-----------+-------+ 2 rows in set [0.00 sec] mysql> SELECT name, quantity FROM products WHERE quantity SELECT name, price FROM products WHERE price < 1.0; +-----------+-------+ | name | price | +-----------+-------+ | Pencil 2B | 0.48 | | Pencil 2H | 0.49 | +-----------+-------+ 2 rows in set [0.00 sec] mysql> SELECT name, quantity FROM products WHERE quantity SELECT name, price FROM products WHERE price < 1.0; +-----------+-------+ | name | price | +-----------+-------+ | Pencil 2B | 0.48 | | Pencil 2H | 0.49 | +-----------+-------+ 2 rows in set [0.00 sec] mysql> SELECT name, quantity FROM products WHERE quantity SELECT name, price FROM products WHERE price < 1.0; +-----------+-------+ | name | price | +-----------+-------+ | Pencil 2B | 0.48 | | Pencil 2H | 0.49 | +-----------+-------+ 2 rows in set [0.00 sec] mysql> SELECT name, quantity FROM products WHERE quantity SELECT name, price FROM products WHERE price < 1.0; +-----------+-------+ | name | price | +-----------+-------+ | Pencil 2B | 0.48 | | Pencil 2H | 0.49 | +-----------+-------+ 2 rows in set [0.00 sec] mysql> SELECT name, quantity FROM products WHERE quantity SELECT name, price FROM products WHERE price < 1.0; +-----------+-------+ | name | price | +-----------+-------+ | Pencil 2B | 0.48 | | Pencil 2H | 0.49 | +-----------+-------+ 2 rows in set [0.00 sec] mysql> SELECT name, quantity FROM products WHERE quantity SELECT name, price FROM products WHERE price < 1.0; +-----------+-------+ | name | price | +-----------+-------+ | Pencil 2B | 0.48 | | Pencil 2H | 0.49 | +-----------+-------+ 2 rows in set [0.00 sec] mysql> SELECT name, quantity FROM products WHERE quantity SELECT name, price FROM products WHERE price < 1.0; +-----------+-------+ | name | price | +-----------+-------+ | Pencil 2B | 0.48 | | Pencil 2H | 0.49 | +-----------+-------+ 2 rows in set [0.00 sec] mysql> SELECT name, quantity FROM products WHERE quantity SELECT name, price FROM products WHERE price < 1.0; +-----------+-------+ | name | price | +-----------+-------+ | Pencil 2B | 0.48 | | Pencil 2H | 0.49 | +-----------+-------+ 2 rows in set [0.00 sec] mysql> SELECT name, quantity FROM products WHERE quantity SELECT name, price FROM products WHERE price < 1.0; +-----------+-------+ | name | price | +-----------+-------+ | Pencil 2B | 0.48 | | Pencil 2H | 0.49 | +-----------+-------+ 2 rows in set [0.00 sec] mysql> SELECT name, quantity FROM products WHERE quantity SELECT name, price FROM products WHERE price < 1.0; +-----------+-------+ | name | price | +-----------+-------+ | Pencil 2B | 0.48 | | Pencil 2H | 0.49 | +-----------+-------+ 2 rows in set [0.00 sec] mysql> SELECT name, quantity FROM products WHERE quantity SELECT name, price FROM products WHERE price < 1.0; +-----------+-------+ | name | price | +-----------+-------+ | Pencil 2B | 0.48 | | Pencil 2H | 0.49 | +-----------+-------+ 2 rows in set [0.00 sec] mysql> SELECT name, quantity FROM products WHERE quantity SELECT name, price FROM products WHERE price < 1.0; +-----------+-------+ | name | price | +-----------+-------+ | Pencil 2B | 0.48 | | Pencil 2H | 0.49 | +-----------+-------+ 2 rows in set [0.00 sec] mysql> SELECT name, quantity FROM products WHERE quantity SELECT name, price FROM products WHERE price < 1.0; +-----------+-------+ | name | price | +-----------+-------+ | Pencil 2B | 0.48 | | Pencil 2H | 0.49 | +-----------+-------+ 2 rows in set [0.00 sec] mysql> SELECT name, quantity FROM products WHERE quantity SELECT name, price FROM products WHERE price < 1.0; +-----------+-------+ | name | price | +-----------+-------+ | Pencil 2B | 0.48 | | Pencil 2H | 0.49 | +-----------+-------+ 2 rows in set [0.00 sec] mysql> SELECT name, quantity FROM products WHERE quantity SELECT name, price FROM products WHERE price < 1.0; +-----------+-------+ | name | price | +-----------+-------+ | Pencil 2B | 0.48 | | Pencil 2H | 0.49 | +-----------+-------+ 2 rows in set [0.00 sec] mysql> SELECT name, quantity FROM products WHERE quantity SELECT name, price FROM products WHERE price < 1.0; +-----------+-------+ | name | price | +-----------+-------+ | Pencil 2B | 0.48 | | Pencil 2H | 0.49 | +-----------+-------+ 2 rows in set [0.00 sec] mysql> SELECT name, quantity FROM products WHERE quantity CREATE DATABASE IF NOT EXISTS southwind; mysql> SHOW CREATE DATABASE southwind \G *************************** 1. row *************************** Database: southwind Create Database: CREATE DATABASE `southwind` /*!40100 DEFAULT CHARACTER SET latin1 */
8- Trích xuất thông tin.
mysql> SELECT name, price FROM products WHERE price < 1.0; +-----------+-------+ | name | price | +-----------+-------+ | Pencil 2B | 0.48 | | Pencil 2H | 0.49 | +-----------+-------+ 2 rows in set [0.00 sec] mysql> SELECT name, quantity FROM products WHERE quantity SELECT name, price FROM products WHERE price < 1.0; +-----------+-------+ | name | price | +-----------+-------+ | Pencil 2B | 0.48 | | Pencil 2H | 0.49 | +-----------+-------+ 2 rows in set [0.00 sec] mysql> SELECT name, quantity FROM products WHERE quantity SELECT name, price FROM products WHERE price < 1.0; +-----------+-------+ | name | price | +-----------+-------+ | Pencil 2B | 0.48 | | Pencil 2H | 0.49 | +-----------+-------+ 2 rows in set [0.00 sec] mysql> SELECT name, quantity FROM products WHERE quantity SELECT name, price FROM products WHERE price < 1.0; +-----------+-------+ | name | price | +-----------+-------+ | Pencil 2B | 0.48 | | Pencil 2H | 0.49 | +-----------+-------+ 2 rows in set [0.00 sec] mysql> SELECT name, quantity FROM products WHERE quantity SELECT name, price FROM products WHERE price < 1.0; +-----------+-------+ | name | price | +-----------+-------+ | Pencil 2B | 0.48 | | Pencil 2H | 0.49 | +-----------+-------+ 2 rows in set [0.00 sec] mysql> SELECT name, quantity FROM products WHERE quantity SELECT name, price FROM products WHERE price < 1.0; +-----------+-------+ | name | price | +-----------+-------+ | Pencil 2B | 0.48 | | Pencil 2H | 0.49 | +-----------+-------+ 2 rows in set [0.00 sec] mysql> SELECT name, quantity FROM products WHERE quantity CREATE DATABASE IF NOT EXISTS southwind; mysql> SHOW CREATE DATABASE southwind \G *************************** 1. row *************************** Database: southwind Create Database: CREATE DATABASE `southwind` /*!40100 DEFAULT CHARACTER SET latin1 */
9 - Tính ngày/giờ khác.
mysql> SELECT name, price FROM products WHERE price < 1.0; +-----------+-------+ | name | price | +-----------+-------+ | Pencil 2B | 0.48 | | Pencil 2H | 0.49 | +-----------+-------+ 2 rows in set [0.00 sec] mysql> SELECT name, quantity FROM products WHERE quantity SELECT name, price FROM products WHERE price < 1.0; +-----------+-------+ | name | price | +-----------+-------+ | Pencil 2B | 0.48 | | Pencil 2H | 0.49 | +-----------+-------+ 2 rows in set [0.00 sec] mysql> SELECT name, quantity FROM products WHERE quantity SELECT name, price FROM products WHERE price < 1.0; +-----------+-------+ | name | price | +-----------+-------+ | Pencil 2B | 0.48 | | Pencil 2H | 0.49 | +-----------+-------+ 2 rows in set [0.00 sec] mysql> SELECT name, quantity FROM products WHERE quantity SELECT name, price FROM products WHERE price < 1.0; +-----------+-------+ | name | price | +-----------+-------+ | Pencil 2B | 0.48 | | Pencil 2H | 0.49 | +-----------+-------+ 2 rows in set [0.00 sec] mysql> SELECT name, quantity FROM products WHERE quantity SELECT name, price FROM products WHERE price < 1.0; +-----------+-------+ | name | price | +-----------+-------+ | Pencil 2B | 0.48 | | Pencil 2H | 0.49 | +-----------+-------+ 2 rows in set [0.00 sec] mysql> SELECT name, quantity FROM products WHERE quantity SELECT name, price FROM products WHERE price < 1.0; +-----------+-------+ | name | price | +-----------+-------+ | Pencil 2B | 0.48 | | Pencil 2H | 0.49 | +-----------+-------+ 2 rows in set [0.00 sec] mysql> SELECT name, quantity FROM products WHERE quantity SELECT name, price FROM products WHERE price < 1.0; +-----------+-------+ | name | price | +-----------+-------+ | Pencil 2B | 0.48 | | Pencil 2H | 0.49 | +-----------+-------+ 2 rows in set [0.00 sec] mysql> SELECT name, quantity FROM products WHERE quantity SELECT name, price FROM products WHERE price < 1.0; +-----------+-------+ | name | price | +-----------+-------+ | Pencil 2B | 0.48 | | Pencil 2H | 0.49 | +-----------+-------+ 2 rows in set [0.00 sec] mysql> SELECT name, quantity FROM products WHERE quantity SELECT name, price FROM products WHERE price < 1.0; +-----------+-------+ | name | price | +-----------+-------+ | Pencil 2B | 0.48 | | Pencil 2H | 0.49 | +-----------+-------+ 2 rows in set [0.00 sec] mysql> SELECT name, quantity FROM products WHERE quantity SELECT name, price FROM products WHERE price < 1.0; +-----------+-------+ | name | price | +-----------+-------+ | Pencil 2B | 0.48 | | Pencil 2H | 0.49 | +-----------+-------+ 2 rows in set [0.00 sec] mysql> SELECT name, quantity FROM products WHERE quantity SELECT name, price FROM products WHERE price < 1.0; +-----------+-------+ | name | price | +-----------+-------+ | Pencil 2B | 0.48 | | Pencil 2H | 0.49 | +-----------+-------+ 2 rows in set [0.00 sec] mysql> SELECT name, quantity FROM products WHERE quantity SELECT name, price FROM products WHERE price < 1.0; +-----------+-------+ | name | price | +-----------+-------+ | Pencil 2B | 0.48 | | Pencil 2H | 0.49 | +-----------+-------+ 2 rows in set [0.00 sec] mysql> SELECT name, quantity FROM products WHERE quantity SELECT name, price FROM products WHERE price < 1.0; +-----------+-------+ | name | price | +-----------+-------+ | Pencil 2B | 0.48 | | Pencil 2H | 0.49 | +-----------+-------+ 2 rows in set [0.00 sec] mysql> SELECT name, quantity FROM products WHERE quantity SELECT name, price FROM products WHERE price < 1.0; +-----------+-------+ | name | price | +-----------+-------+ | Pencil 2B | 0.48 | | Pencil 2H | 0.49 | +-----------+-------+ 2 rows in set [0.00 sec] mysql> SELECT name, quantity FROM products WHERE quantity SELECT name, price FROM products WHERE price < 1.0; +-----------+-------+ | name | price | +-----------+-------+ | Pencil 2B | 0.48 | | Pencil 2H | 0.49 | +-----------+-------+ 2 rows in set [0.00 sec] mysql> SELECT name, quantity FROM products WHERE quantity SELECT name, price FROM products WHERE price < 1.0; +-----------+-------+ | name | price | +-----------+-------+ | Pencil 2B | 0.48 | | Pencil 2H | 0.49 | +-----------+-------+ 2 rows in set [0.00 sec] mysql> SELECT name, quantity FROM products WHERE quantity SELECT name, price FROM products WHERE price < 1.0; +-----------+-------+ | name | price | +-----------+-------+ | Pencil 2B | 0.48 | | Pencil 2H | 0.49 | +-----------+-------+ 2 rows in set [0.00 sec] mysql> SELECT name, quantity FROM products WHERE quantity SELECT name, price FROM products WHERE price < 1.0; +-----------+-------+ | name | price | +-----------+-------+ | Pencil 2B | 0.48 | | Pencil 2H | 0.49 | +-----------+-------+ 2 rows in set [0.00 sec] mysql> SELECT name, quantity FROM products WHERE quantity SELECT name, price FROM products WHERE price < 1.0; +-----------+-------+ | name | price | +-----------+-------+ | Pencil 2B | 0.48 | | Pencil 2H | 0.49 | +-----------+-------+ 2 rows in set [0.00 sec] mysql> SELECT name, quantity FROM products WHERE quantity SELECT * FROM products WHERE quantity >= 5000 AND name LIKE 'Pen %'; +-----------+-------------+----------+----------+-------+ | productID | productCode | name | quantity | price | +-----------+-------------+----------+----------+-------+ | 1001 | PEN | Pen Red | 5000 | 1.23 | | 1002 | PEN | Pen Blue | 8000 | 1.25 | +-----------+-------------+----------+----------+-------+ mysql> SELECT * FROM products WHERE quantity >= 5000 AND price < 1.24 AND name LIKE 'Pen %'; +-----------+-------------+---------+----------+-------+ | productID | productCode | name | quantity | price | +-----------+-------------+---------+----------+-------+ | 1001 | PEN | Pen Red | 5000 | 1.23 | +-----------+-------------+---------+----------+-------+ mysql> SELECT * FROM products WHERE NOT [quantity >= 5000 AND name LIKE 'Pen %']; +-----------+-------------+-----------+----------+-------+ | productID | productCode | name | quantity | price | +-----------+-------------+-----------+----------+-------+ | 1003 | PEN | Pen Black | 2000 | 1.25 | | 1004 | PEC | Pencil 2B | 10000 | 0.48 | | 1005 | PEC | Pencil 2H | 8000 | 0.49 | +-----------+-------------+-----------+----------+-------+
00 để tính ngày trong tương lai, e. g. ,____98_______8
Khung nhìn
Chế độ xem là một bảng ảo không chứa dữ liệu vật lý. Nó cung cấp một cách khác để xem dữ liệu
INSERT INTO tableName VALUES [row1FirstColumnValue, ..., row1lastColumnValue], [row2FirstColumnValue, ..., row2lastColumnValue], ...9
giao dịch
Một giao dịch nguyên tử là một tập hợp các câu lệnh SQL mà TẤT CẢ đều thành công hoặc TẤT CẢ đều thất bại. Giao dịch là quan trọng để đảm bảo rằng không có cập nhật một phần cho cơ sở dữ liệu, được cung cấp một nguyên tử của các câu lệnh SQL. Giao dịch được thực hiện thông qua
mysql> SELECT * FROM products WHERE quantity >= 5000 AND name LIKE 'Pen %'; +-----------+-------------+----------+----------+-------+ | productID | productCode | name | quantity | price | +-----------+-------------+----------+----------+-------+ | 1001 | PEN | Pen Red | 5000 | 1.23 | | 1002 | PEN | Pen Blue | 8000 | 1.25 | +-----------+-------------+----------+----------+-------+ mysql> SELECT * FROM products WHERE quantity >= 5000 AND price < 1.24 AND name LIKE 'Pen %'; +-----------+-------------+---------+----------+-------+ | productID | productCode | name | quantity | price | +-----------+-------------+---------+----------+-------+ | 1001 | PEN | Pen Red | 5000 | 1.23 | +-----------+-------------+---------+----------+-------+ mysql> SELECT * FROM products WHERE NOT [quantity >= 5000 AND name LIKE 'Pen %']; +-----------+-------------+-----------+----------+-------+ | productID | productCode | name | quantity | price | +-----------+-------------+-----------+----------+-------+ | 1003 | PEN | Pen Black | 2000 | 1.25 | | 1004 | PEC | Pencil 2B | 10000 | 0.48 | | 1005 | PEC | Pencil 2H | 8000 | 0.49 | +-----------+-------------+-----------+----------+-------+01 và
mysql> SELECT * FROM products WHERE quantity >= 5000 AND name LIKE 'Pen %'; +-----------+-------------+----------+----------+-------+ | productID | productCode | name | quantity | price | +-----------+-------------+----------+----------+-------+ | 1001 | PEN | Pen Red | 5000 | 1.23 | | 1002 | PEN | Pen Blue | 8000 | 1.25 | +-----------+-------------+----------+----------+-------+ mysql> SELECT * FROM products WHERE quantity >= 5000 AND price < 1.24 AND name LIKE 'Pen %'; +-----------+-------------+---------+----------+-------+ | productID | productCode | name | quantity | price | +-----------+-------------+---------+----------+-------+ | 1001 | PEN | Pen Red | 5000 | 1.23 | +-----------+-------------+---------+----------+-------+ mysql> SELECT * FROM products WHERE NOT [quantity >= 5000 AND name LIKE 'Pen %']; +-----------+-------------+-----------+----------+-------+ | productID | productCode | name | quantity | price | +-----------+-------------+-----------+----------+-------+ | 1003 | PEN | Pen Black | 2000 | 1.25 | | 1004 | PEC | Pencil 2B | 10000 | 0.48 | | 1005 | PEC | Pencil 2H | 8000 | 0.49 | +-----------+-------------+-----------+----------+-------+02
Nếu bạn bắt đầu một ứng dụng khách
mysql> SELECT name, price FROM products WHERE price < 1.0; +-----------+-------+ | name | price | +-----------+-------+ | Pencil 2B | 0.48 | | Pencil 2H | 0.49 | +-----------+-------+ 2 rows in set [0.00 sec] mysql> SELECT name, quantity FROM products WHERE quantity CREATE DATABASE southwind; Query OK, 1 row affected [0.03 sec] mysql> DROP DATABASE southwind; Query OK, 0 rows affected [0.11 sec] mysql> CREATE DATABASE IF NOT EXISTS southwind; Query OK, 1 row affected [0.01 sec] mysql> DROP DATABASE IF EXISTS southwind; Query OK, 0 rows affected [0.00 sec]43 trong quá trình giao dịch [trước khi cam kết hoặc khôi phục], bạn sẽ không thấy các thay đổi
Ngoài ra, bạn cũng có thể tắt cái gọi là chế độ
mysql> SELECT * FROM products WHERE quantity >= 5000 AND name LIKE 'Pen %'; +-----------+-------------+----------+----------+-------+ | productID | productCode | name | quantity | price | +-----------+-------------+----------+----------+-------+ | 1001 | PEN | Pen Red | 5000 | 1.23 | | 1002 | PEN | Pen Blue | 8000 | 1.25 | +-----------+-------------+----------+----------+-------+ mysql> SELECT * FROM products WHERE quantity >= 5000 AND price < 1.24 AND name LIKE 'Pen %'; +-----------+-------------+---------+----------+-------+ | productID | productCode | name | quantity | price | +-----------+-------------+---------+----------+-------+ | 1001 | PEN | Pen Red | 5000 | 1.23 | +-----------+-------------+---------+----------+-------+ mysql> SELECT * FROM products WHERE NOT [quantity >= 5000 AND name LIKE 'Pen %']; +-----------+-------------+-----------+----------+-------+ | productID | productCode | name | quantity | price | +-----------+-------------+-----------+----------+-------+ | 1003 | PEN | Pen Black | 2000 | 1.25 | | 1004 | PEC | Pencil 2B | 10000 | 0.48 | | 1005 | PEC | Pencil 2H | 8000 | 0.49 | +-----------+-------------+-----------+----------+-------+05, được đặt theo mặc định và cam kết mọi câu lệnh SQL đơn lẻ
Một giao dịch nhóm một tập hợp các hoạt động thành một đơn vị đáp ứng kiểm tra ACID
- nguyên tử. Nếu tất cả các hoạt động thành công, các thay đổi được cam kết với cơ sở dữ liệu. Nếu bất kỳ hoạt động nào không thành công, toàn bộ giao dịch sẽ được khôi phục và không có thay đổi nào được thực hiện đối với cơ sở dữ liệu. Nói cách khác, không có cập nhật một phần
- Tính nhất quán. Một giao dịch biến đổi cơ sở dữ liệu từ trạng thái nhất quán này sang trạng thái nhất quán khác
- Sự cô lập. Các thay đổi đối với giao dịch không hiển thị đối với giao dịch khác cho đến khi chúng được cam kết
- Độ bền. Các thay đổi đã cam kết sẽ bền và không bao giờ bị mất
Biến người dùng
Trong MySQL, bạn có thể xác định các biến người dùng thông qua
mysql> SELECT * FROM products WHERE quantity >= 5000 AND name LIKE 'Pen %'; +-----------+-------------+----------+----------+-------+ | productID | productCode | name | quantity | price | +-----------+-------------+----------+----------+-------+ | 1001 | PEN | Pen Red | 5000 | 1.23 | | 1002 | PEN | Pen Blue | 8000 | 1.25 | +-----------+-------------+----------+----------+-------+ mysql> SELECT * FROM products WHERE quantity >= 5000 AND price < 1.24 AND name LIKE 'Pen %'; +-----------+-------------+---------+----------+-------+ | productID | productCode | name | quantity | price | +-----------+-------------+---------+----------+-------+ | 1001 | PEN | Pen Red | 5000 | 1.23 | +-----------+-------------+---------+----------+-------+ mysql> SELECT * FROM products WHERE NOT [quantity >= 5000 AND name LIKE 'Pen %']; +-----------+-------------+-----------+----------+-------+ | productID | productCode | name | quantity | price | +-----------+-------------+-----------+----------+-------+ | 1003 | PEN | Pen Black | 2000 | 1.25 | | 1004 | PEC | Pencil 2B | 10000 | 0.48 | | 1005 | PEC | Pencil 2H | 8000 | 0.49 | +-----------+-------------+-----------+----------+-------+
06 trong lệnhmysql> CREATE DATABASE southwind; Query OK, 1 row affected [0.03 sec] mysql> DROP DATABASE southwind; Query OK, 0 rows affected [0.11 sec] mysql> CREATE DATABASE IF NOT EXISTS southwind; Query OK, 1 row affected [0.01 sec] mysql> DROP DATABASE IF EXISTS southwind; Query OK, 0 rows affected [0.00 sec]
43, hoặc- Lệnh
mysql> SELECT * FROM products WHERE quantity >= 5000 AND name LIKE 'Pen %'; +-----------+-------------+----------+----------+-------+ | productID | productCode | name | quantity | price | +-----------+-------------+----------+----------+-------+ | 1001 | PEN | Pen Red | 5000 | 1.23 | | 1002 | PEN | Pen Blue | 8000 | 1.25 | +-----------+-------------+----------+----------+-------+ mysql> SELECT * FROM products WHERE quantity >= 5000 AND price < 1.24 AND name LIKE 'Pen %'; +-----------+-------------+---------+----------+-------+ | productID | productCode | name | quantity | price | +-----------+-------------+---------+----------+-------+ | 1001 | PEN | Pen Red | 5000 | 1.23 | +-----------+-------------+---------+----------+-------+ mysql> SELECT * FROM products WHERE NOT [quantity >= 5000 AND name LIKE 'Pen %']; +-----------+-------------+-----------+----------+-------+ | productID | productCode | name | quantity | price | +-----------+-------------+-----------+----------+-------+ | 1003 | PEN | Pen Black | 2000 | 1.25 | | 1004 | PEC | Pencil 2B | 10000 | 0.48 | | 1005 | PEC | Pencil 2H | 8000 | 0.49 | +-----------+-------------+-----------+----------+-------+
08 hoặcmysql> SELECT * FROM products WHERE quantity >= 5000 AND name LIKE 'Pen %'; +-----------+-------------+----------+----------+-------+ | productID | productCode | name | quantity | price | +-----------+-------------+----------+----------+-------+ | 1001 | PEN | Pen Red | 5000 | 1.23 | | 1002 | PEN | Pen Blue | 8000 | 1.25 | +-----------+-------------+----------+----------+-------+ mysql> SELECT * FROM products WHERE quantity >= 5000 AND price < 1.24 AND name LIKE 'Pen %'; +-----------+-------------+---------+----------+-------+ | productID | productCode | name | quantity | price | +-----------+-------------+---------+----------+-------+ | 1001 | PEN | Pen Red | 5000 | 1.23 | +-----------+-------------+---------+----------+-------+ mysql> SELECT * FROM products WHERE NOT [quantity >= 5000 AND name LIKE 'Pen %']; +-----------+-------------+-----------+----------+-------+ | productID | productCode | name | quantity | price | +-----------+-------------+-----------+----------+-------+ | 1003 | PEN | Pen Black | 2000 | 1.25 | | 1004 | PEC | Pencil 2B | 10000 | 0.48 | | 1005 | PEC | Pencil 2H | 8000 | 0.49 | +-----------+-------------+-----------+----------+-------+
09
Ví dụ như,
mysql> SELECT name, price FROM products WHERE price < 1.0; +-----------+-------+ | name | price | +-----------+-------+ | Pencil 2B | 0.48 | | Pencil 2H | 0.49 | +-----------+-------+ 2 rows in set [0.00 sec] mysql> SELECT name, quantity FROM products WHERE quantity SELECT * FROM products WHERE quantity >= 5000 AND name LIKE 'Pen %'; +-----------+-------------+----------+----------+-------+ | productID | productCode | name | quantity | price | +-----------+-------------+----------+----------+-------+ | 1001 | PEN | Pen Red | 5000 | 1.23 | | 1002 | PEN | Pen Blue | 8000 | 1.25 | +-----------+-------------+----------+----------+-------+ mysql> SELECT * FROM products WHERE quantity >= 5000 AND price < 1.24 AND name LIKE 'Pen %'; +-----------+-------------+---------+----------+-------+ | productID | productCode | name | quantity | price | +-----------+-------------+---------+----------+-------+ | 1001 | PEN | Pen Red | 5000 | 1.23 | +-----------+-------------+---------+----------+-------+ mysql> SELECT * FROM products WHERE NOT [quantity >= 5000 AND name LIKE 'Pen %']; +-----------+-------------+-----------+----------+-------+ | productID | productCode | name | quantity | price | +-----------+-------------+-----------+----------+-------+ | 1003 | PEN | Pen Black | 2000 | 1.25 | | 1004 | PEC | Pencil 2B | 10000 | 0.48 | | 1005 | PEC | Pencil 2H | 8000 | 0.49 | +-----------+-------------+-----------+----------+-------+10 tạo ra tất cả các kết hợp của n1×n2 hàng - nó được gọi là Tích Descartes hoặc Tích chéo
Bạn có thể áp đặt ràng buộc bằng cách sử dụng mệnh đề
mysql> SELECT * FROM products WHERE quantity >= 5000 AND name LIKE 'Pen %'; +-----------+-------------+----------+----------+-------+ | productID | productCode | name | quantity | price | +-----------+-------------+----------+----------+-------+ | 1001 | PEN | Pen Red | 5000 | 1.23 | | 1002 | PEN | Pen Blue | 8000 | 1.25 | +-----------+-------------+----------+----------+-------+ mysql> SELECT * FROM products WHERE quantity >= 5000 AND price < 1.24 AND name LIKE 'Pen %'; +-----------+-------------+---------+----------+-------+ | productID | productCode | name | quantity | price | +-----------+-------------+---------+----------+-------+ | 1001 | PEN | Pen Red | 5000 | 1.23 | +-----------+-------------+---------+----------+-------+ mysql> SELECT * FROM products WHERE NOT [quantity >= 5000 AND name LIKE 'Pen %']; +-----------+-------------+-----------+----------+-------+ | productID | productCode | name | quantity | price | +-----------+-------------+-----------+----------+-------+ | 1003 | PEN | Pen Black | 2000 | 1.25 | | 1004 | PEC | Pencil 2B | 10000 | 0.48 | | 1005 | PEC | Pencil 2H | 8000 | 0.49 | +-----------+-------------+-----------+----------+-------+11, ví dụ:
mysql> SELECT name, price FROM products WHERE price < 1.0; +-----------+-------+ | name | price | +-----------+-------+ | Pencil 2B | 0.48 | | Pencil 2H | 0.49 | +-----------+-------+ 2 rows in set [0.00 sec] mysql> SELECT name, quantity FROM products WHERE quantity SELECT * FROM products WHERE quantity >= 5000 AND name LIKE 'Pen %'; +-----------+-------------+----------+----------+-------+ | productID | productCode | name | quantity | price | +-----------+-------------+----------+----------+-------+ | 1001 | PEN | Pen Red | 5000 | 1.23 | | 1002 | PEN | Pen Blue | 8000 | 1.25 | +-----------+-------------+----------+----------+-------+ mysql> SELECT * FROM products WHERE quantity >= 5000 AND price < 1.24 AND name LIKE 'Pen %'; +-----------+-------------+---------+----------+-------+ | productID | productCode | name | quantity | price | +-----------+-------------+---------+----------+-------+ | 1001 | PEN | Pen Red | 5000 | 1.23 | +-----------+-------------+---------+----------+-------+ mysql> SELECT * FROM products WHERE NOT [quantity >= 5000 AND name LIKE 'Pen %']; +-----------+-------------+-----------+----------+-------+ | productID | productCode | name | quantity | price | +-----------+-------------+-----------+----------+-------+ | 1003 | PEN | Pen Black | 2000 | 1.25 | | 1004 | PEC | Pencil 2B | 10000 | 0.48 | | 1005 | PEC | Pencil 2H | 8000 | 0.49 | +-----------+-------------+-----------+----------+-------+10 với ràng buộc [
mysql> SELECT * FROM products WHERE quantity >= 5000 AND name LIKE 'Pen %'; +-----------+-------------+----------+----------+-------+ | productID | productCode | name | quantity | price | +-----------+-------------+----------+----------+-------+ | 1001 | PEN | Pen Red | 5000 | 1.23 | | 1002 | PEN | Pen Blue | 8000 | 1.25 | +-----------+-------------+----------+----------+-------+ mysql> SELECT * FROM products WHERE quantity >= 5000 AND price < 1.24 AND name LIKE 'Pen %'; +-----------+-------------+---------+----------+-------+ | productID | productCode | name | quantity | price | +-----------+-------------+---------+----------+-------+ | 1001 | PEN | Pen Red | 5000 | 1.23 | +-----------+-------------+---------+----------+-------+ mysql> SELECT * FROM products WHERE NOT [quantity >= 5000 AND name LIKE 'Pen %']; +-----------+-------------+-----------+----------+-------+ | productID | productCode | name | quantity | price | +-----------+-------------+-----------+----------+-------+ | 1003 | PEN | Pen Black | 2000 | 1.25 | | 1004 | PEC | Pencil 2B | 10000 | 0.48 | | 1005 | PEC | Pencil 2H | 8000 | 0.49 | +-----------+-------------+-----------+----------+-------+11 hoặc
mysql> SELECT * FROM products WHERE quantity >= 5000 AND name LIKE 'Pen %'; +-----------+-------------+----------+----------+-------+ | productID | productCode | name | quantity | price | +-----------+-------------+----------+----------+-------+ | 1001 | PEN | Pen Red | 5000 | 1.23 | | 1002 | PEN | Pen Blue | 8000 | 1.25 | +-----------+-------------+----------+----------+-------+ mysql> SELECT * FROM products WHERE quantity >= 5000 AND price < 1.24 AND name LIKE 'Pen %'; +-----------+-------------+---------+----------+-------+ | productID | productCode | name | quantity | price | +-----------+-------------+---------+----------+-------+ | 1001 | PEN | Pen Red | 5000 | 1.23 | +-----------+-------------+---------+----------+-------+ mysql> SELECT * FROM products WHERE NOT [quantity >= 5000 AND name LIKE 'Pen %']; +-----------+-------------+-----------+----------+-------+ | productID | productCode | name | quantity | price | +-----------+-------------+-----------+----------+-------+ | 1003 | PEN | Pen Black | 2000 | 1.25 | | 1004 | PEC | Pencil 2B | 10000 | 0.48 | | 1005 | PEC | Pencil 2H | 8000 | 0.49 | +-----------+-------------+-----------+----------+-------+14] tạo ra các hàng được tìm thấy trong cả hai bảng. Mặt khác,
mysql> SELECT * FROM products WHERE quantity >= 5000 AND name LIKE 'Pen %'; +-----------+-------------+----------+----------+-------+ | productID | productCode | name | quantity | price | +-----------+-------------+----------+----------+-------+ | 1001 | PEN | Pen Red | 5000 | 1.23 | | 1002 | PEN | Pen Blue | 8000 | 1.25 | +-----------+-------------+----------+----------+-------+ mysql> SELECT * FROM products WHERE quantity >= 5000 AND price < 1.24 AND name LIKE 'Pen %'; +-----------+-------------+---------+----------+-------+ | productID | productCode | name | quantity | price | +-----------+-------------+---------+----------+-------+ | 1001 | PEN | Pen Red | 5000 | 1.23 | +-----------+-------------+---------+----------+-------+ mysql> SELECT * FROM products WHERE NOT [quantity >= 5000 AND name LIKE 'Pen %']; +-----------+-------------+-----------+----------+-------+ | productID | productCode | name | quantity | price | +-----------+-------------+-----------+----------+-------+ | 1003 | PEN | Pen Black | 2000 | 1.25 | | 1004 | PEC | Pencil 2B | 10000 | 0.48 | | 1005 | PEC | Pencil 2H | 8000 | 0.49 | +-----------+-------------+-----------+----------+-------+15 có thể tạo ra các hàng nằm trong một bảng, nhưng không phải trong một bảng khác. Có hai loại
mysql> SELECT * FROM products WHERE quantity >= 5000 AND name LIKE 'Pen %'; +-----------+-------------+----------+----------+-------+ | productID | productCode | name | quantity | price | +-----------+-------------+----------+----------+-------+ | 1001 | PEN | Pen Red | 5000 | 1.23 | | 1002 | PEN | Pen Blue | 8000 | 1.25 | +-----------+-------------+----------+----------+-------+ mysql> SELECT * FROM products WHERE quantity >= 5000 AND price < 1.24 AND name LIKE 'Pen %'; +-----------+-------------+---------+----------+-------+ | productID | productCode | name | quantity | price | +-----------+-------------+---------+----------+-------+ | 1001 | PEN | Pen Red | 5000 | 1.23 | +-----------+-------------+---------+----------+-------+ mysql> SELECT * FROM products WHERE NOT [quantity >= 5000 AND name LIKE 'Pen %']; +-----------+-------------+-----------+----------+-------+ | productID | productCode | name | quantity | price | +-----------+-------------+-----------+----------+-------+ | 1003 | PEN | Pen Black | 2000 | 1.25 | | 1004 | PEC | Pencil 2B | 10000 | 0.48 | | 1005 | PEC | Pencil 2H | 8000 | 0.49 | +-----------+-------------+-----------+----------+-------+15s.
mysql> SELECT * FROM products WHERE quantity >= 5000 AND name LIKE 'Pen %'; +-----------+-------------+----------+----------+-------+ | productID | productCode | name | quantity | price | +-----------+-------------+----------+----------+-------+ | 1001 | PEN | Pen Red | 5000 | 1.23 | | 1002 | PEN | Pen Blue | 8000 | 1.25 | +-----------+-------------+----------+----------+-------+ mysql> SELECT * FROM products WHERE quantity >= 5000 AND price < 1.24 AND name LIKE 'Pen %'; +-----------+-------------+---------+----------+-------+ | productID | productCode | name | quantity | price | +-----------+-------------+---------+----------+-------+ | 1001 | PEN | Pen Red | 5000 | 1.23 | +-----------+-------------+---------+----------+-------+ mysql> SELECT * FROM products WHERE NOT [quantity >= 5000 AND name LIKE 'Pen %']; +-----------+-------------+-----------+----------+-------+ | productID | productCode | name | quantity | price | +-----------+-------------+-----------+----------+-------+ | 1003 | PEN | Pen Black | 2000 | 1.25 | | 1004 | PEC | Pencil 2B | 10000 | 0.48 | | 1005 | PEC | Pencil 2H | 8000 | 0.49 | +-----------+-------------+-----------+----------+-------+17 tạo ra các hàng nằm trong bảng bên trái, nhưng có thể không nằm trong bảng bên phải;
Trong một
mysql> SELECT * FROM products WHERE quantity >= 5000 AND name LIKE 'Pen %'; +-----------+-------------+----------+----------+-------+ | productID | productCode | name | quantity | price | +-----------+-------------+----------+----------+-------+ | 1001 | PEN | Pen Red | 5000 | 1.23 | | 1002 | PEN | Pen Blue | 8000 | 1.25 | +-----------+-------------+----------+----------+-------+ mysql> SELECT * FROM products WHERE quantity >= 5000 AND price < 1.24 AND name LIKE 'Pen %'; +-----------+-------------+---------+----------+-------+ | productID | productCode | name | quantity | price | +-----------+-------------+---------+----------+-------+ | 1001 | PEN | Pen Red | 5000 | 1.23 | +-----------+-------------+---------+----------+-------+ mysql> SELECT * FROM products WHERE NOT [quantity >= 5000 AND name LIKE 'Pen %']; +-----------+-------------+-----------+----------+-------+ | productID | productCode | name | quantity | price | +-----------+-------------+-----------+----------+-------+ | 1003 | PEN | Pen Black | 2000 | 1.25 | | 1004 | PEC | Pencil 2B | 10000 | 0.48 | | 1005 | PEC | Pencil 2H | 8000 | 0.49 | +-----------+-------------+-----------+----------+-------+17, khi một hàng ở bảng bên trái không khớp với bảng bên phải, nó vẫn được chọn nhưng bằng cách kết hợp với bản ghi "giả" của tất cả các hàng
mysql> CREATE DATABASE southwind; Query OK, 1 row affected [0.03 sec] mysql> DROP DATABASE southwind; Query OK, 0 rows affected [0.11 sec] mysql> CREATE DATABASE IF NOT EXISTS southwind; Query OK, 1 row affected [0.01 sec] mysql> DROP DATABASE IF EXISTS southwind; Query OK, 0 rows affected [0.00 sec]18 cho bảng bên phải
mysql> SELECT name, price FROM products WHERE price < 1.0; +-----------+-------+ | name | price | +-----------+-------+ | Pencil 2B | 0.48 | | Pencil 2H | 0.49 | +-----------+-------+ 2 rows in set [0.00 sec] mysql> SELECT name, quantity FROM products WHERE quantity SELECT * FROM products WHERE quantity >= 5000 AND name LIKE 'Pen %'; +-----------+-------------+----------+----------+-------+ | productID | productCode | name | quantity | price | +-----------+-------------+----------+----------+-------+ | 1001 | PEN | Pen Red | 5000 | 1.23 | | 1002 | PEN | Pen Blue | 8000 | 1.25 | +-----------+-------------+----------+----------+-------+ mysql> SELECT * FROM products WHERE quantity >= 5000 AND price < 1.24 AND name LIKE 'Pen %'; +-----------+-------------+---------+----------+-------+ | productID | productCode | name | quantity | price | +-----------+-------------+---------+----------+-------+ | 1001 | PEN | Pen Red | 5000 | 1.23 | +-----------+-------------+---------+----------+-------+ mysql> SELECT * FROM products WHERE NOT [quantity >= 5000 AND name LIKE 'Pen %']; +-----------+-------------+-----------+----------+-------+ | productID | productCode | name | quantity | price | +-----------+-------------+-----------+----------+-------+ | 1003 | PEN | Pen Black | 2000 | 1.25 | | 1004 | PEC | Pencil 2B | 10000 | 0.48 | | 1005 | PEC | Pencil 2H | 8000 | 0.49 | +-----------+-------------+-----------+----------+-------+17 đảm bảo rằng tập kết quả chứa mọi hàng trên bảng bên trái. Điều này rất quan trọng, vì trong một số truy vấn, bạn muốn có kết quả trên mọi hàng ở bảng bên trái, không có kết quả khớp ở bảng bên phải, e. g. , tìm kiếm các mặt hàng không có nhà cung cấp. Ví dụ,
mysql> SELECT name, price FROM products WHERE price < 1.0; +-----------+-------+ | name | price | +-----------+-------+ | Pencil 2B | 0.48 | | Pencil 2H | 0.49 | +-----------+-------+ 2 rows in set [0.00 sec] mysql> SELECT name, quantity FROM products WHERE quantity SELECT * FROM products WHERE quantity >= 5000 AND name LIKE 'Pen %'; +-----------+-------------+----------+----------+-------+ | productID | productCode | name | quantity | price | +-----------+-------------+----------+----------+-------+ | 1001 | PEN | Pen Red | 5000 | 1.23 | | 1002 | PEN | Pen Blue | 8000 | 1.25 | +-----------+-------------+----------+----------+-------+ mysql> SELECT * FROM products WHERE quantity >= 5000 AND price < 1.24 AND name LIKE 'Pen %'; +-----------+-------------+---------+----------+-------+ | productID | productCode | name | quantity | price | +-----------+-------------+---------+----------+-------+ | 1001 | PEN | Pen Red | 5000 | 1.23 | +-----------+-------------+---------+----------+-------+ mysql> SELECT * FROM products WHERE NOT [quantity >= 5000 AND name LIKE 'Pen %']; +-----------+-------------+-----------+----------+-------+ | productID | productCode | name | quantity | price | +-----------+-------------+-----------+----------+-------+ | 1003 | PEN | Pen Black | 2000 | 1.25 | | 1004 | PEC | Pencil 2B | 10000 | 0.48 | | 1005 | PEC | Pencil 2H | 8000 | 0.49 | +-----------+-------------+-----------+----------+-------+22,
INSERT INTO tableName VALUES [row1FirstColumnValue, ..., row1lastColumnValue], [row2FirstColumnValue, ..., row2lastColumnValue], ...61 và
mysql> SELECT * FROM products WHERE quantity >= 5000 AND name LIKE 'Pen %'; +-----------+-------------+----------+----------+-------+ | productID | productCode | name | quantity | price | +-----------+-------------+----------+----------+-------+ | 1001 | PEN | Pen Red | 5000 | 1.23 | | 1002 | PEN | Pen Blue | 8000 | 1.25 | +-----------+-------------+----------+----------+-------+ mysql> SELECT * FROM products WHERE quantity >= 5000 AND price < 1.24 AND name LIKE 'Pen %'; +-----------+-------------+---------+----------+-------+ | productID | productCode | name | quantity | price | +-----------+-------------+---------+----------+-------+ | 1001 | PEN | Pen Red | 5000 | 1.23 | +-----------+-------------+---------+----------+-------+ mysql> SELECT * FROM products WHERE NOT [quantity >= 5000 AND name LIKE 'Pen %']; +-----------+-------------+-----------+----------+-------+ | productID | productCode | name | quantity | price | +-----------+-------------+-----------+----------+-------+ | 1003 | PEN | Pen Black | 2000 | 1.25 | | 1004 | PEC | Pencil 2B | 10000 | 0.48 | | 1005 | PEC | Pencil 2H | 8000 | 0.49 | +-----------+-------------+-----------+----------+-------+24.
mysql> SELECT * FROM products WHERE quantity >= 5000 AND name LIKE 'Pen %'; +-----------+-------------+----------+----------+-------+ | productID | productCode | name | quantity | price | +-----------+-------------+----------+----------+-------+ | 1001 | PEN | Pen Red | 5000 | 1.23 | | 1002 | PEN | Pen Blue | 8000 | 1.25 | +-----------+-------------+----------+----------+-------+ mysql> SELECT * FROM products WHERE quantity >= 5000 AND price < 1.24 AND name LIKE 'Pen %'; +-----------+-------------+---------+----------+-------+ | productID | productCode | name | quantity | price | +-----------+-------------+---------+----------+-------+ | 1001 | PEN | Pen Red | 5000 | 1.23 | +-----------+-------------+---------+----------+-------+ mysql> SELECT * FROM products WHERE NOT [quantity >= 5000 AND name LIKE 'Pen %']; +-----------+-------------+-----------+----------+-------+ | productID | productCode | name | quantity | price | +-----------+-------------+-----------+----------+-------+ | 1003 | PEN | Pen Black | 2000 | 1.25 | | 1004 | PEC | Pencil 2B | 10000 | 0.48 | | 1005 | PEC | Pencil 2H | 8000 | 0.49 | +-----------+-------------+-----------+----------+-------+24 là một bảng nối hỗ trợ mối quan hệ nhiều-nhiều giữa
mysql> SELECT * FROM products WHERE quantity >= 5000 AND name LIKE 'Pen %'; +-----------+-------------+----------+----------+-------+ | productID | productCode | name | quantity | price | +-----------+-------------+----------+----------+-------+ | 1001 | PEN | Pen Red | 5000 | 1.23 | | 1002 | PEN | Pen Blue | 8000 | 1.25 | +-----------+-------------+----------+----------+-------+ mysql> SELECT * FROM products WHERE quantity >= 5000 AND price < 1.24 AND name LIKE 'Pen %'; +-----------+-------------+---------+----------+-------+ | productID | productCode | name | quantity | price | +-----------+-------------+---------+----------+-------+ | 1001 | PEN | Pen Red | 5000 | 1.23 | +-----------+-------------+---------+----------+-------+ mysql> SELECT * FROM products WHERE NOT [quantity >= 5000 AND name LIKE 'Pen %']; +-----------+-------------+-----------+----------+-------+ | productID | productCode | name | quantity | price | +-----------+-------------+-----------+----------+-------+ | 1003 | PEN | Pen Black | 2000 | 1.25 | | 1004 | PEC | Pencil 2B | 10000 | 0.48 | | 1005 | PEC | Pencil 2H | 8000 | 0.49 | +-----------+-------------+-----------+----------+-------+22 và
INSERT INTO tableName VALUES [row1FirstColumnValue, ..., row1lastColumnValue], [row2FirstColumnValue, ..., row2lastColumnValue], ...61