Hướng dẫn how do i create a query in mysql? - làm cách nào để tạo truy vấn trong mysql?

Dưới đây là các ví dụ về cách giải quyết một số vấn đề phổ biến với MySQL.

Một số ví dụ sử dụng bảng shop để giữ giá của mỗi bài viết (số mặt hàng) cho một số nhà giao dịch (đại lý) nhất định. Giả sử rằng mỗi nhà giao dịch có một mức giá cố định duy nhất cho mỗi bài viết, sau đó (article, dealer) là chìa khóa chính cho các hồ sơ.

Bắt đầu công cụ dòng lệnh MySQL và chọn cơ sở dữ liệu:mysql and select a database:

$> mysql your-database-name

Để tạo và điền vào bảng ví dụ, hãy sử dụng các câu sau:

CREATE TABLE shop (
    article INT UNSIGNED  DEFAULT '0000' NOT NULL,
    dealer  CHAR(20)      DEFAULT ''     NOT NULL,
    price   DECIMAL(16,2) DEFAULT '0.00' NOT NULL,
    PRIMARY KEY(article, dealer));
INSERT INTO shop VALUES
    (1,'A',3.45),(1,'B',3.99),(2,'A',10.99),(3,'B',1.45),
    (3,'C',1.69),(3,'D',1.25),(4,'D',19.95);

Sau khi đưa ra các câu lệnh, bảng nên có nội dung sau:

SELECT * FROM shop ORDER BY article;
+---------+--------+-------+
| article | dealer | price |
+---------+--------+-------+
|       1 | A      |  3.45 |
|       1 | B      |  3.99 |
|       2 | A      | 10.99 |
|       3 | B      |  1.45 |
|       3 | C      |  1.69 |
|       3 | D      |  1.25 |
|       4 | D      | 19.95 |
+---------+--------+-------+

8.1.1 & NBSP; Tab truy vấn SQL

Tab thứ cấp truy vấn SQL mở theo mặc định khi bạn tạo kết nối với máy chủ từ màn hình chính. Nó bao gồm một khu vực trình soạn thảo truy vấn và một thanh công cụ. Bạn có thể nhập các câu lệnh SQL trực tiếp vào khu vực Trình soạn thảo truy vấn. Các câu lệnh được nhập có thể được lưu vào một tệp hoặc đoạn trích để sử dụng sau. Tại bất kỳ điểm nào, bạn cũng có thể thực hiện các câu lệnh bạn đã nhập.

Để lưu đoạn mã được nhập vào trình soạn thảo truy vấn, nhấp vào Lưu SQL vào Snippets Danh sách () từ thanh công cụ truy vấn SQL, nhập tên (tùy chọn) và nhấp vào OK. Hình sau đây cho thấy các yếu tố chính của tab truy vấn.Save SQL to Snippets List (

Hướng dẫn how do i create a query in mysql? - làm cách nào để tạo truy vấn trong mysql?
) from the SQL query toolbar, enter a name (optional), and click OK. The following figure shows the main elements of a query tab.

Hình & NBSP; 8.2 & NBSP; SQL Editor - Tab truy vấn SQL

Hướng dẫn how do i create a query in mysql? - làm cách nào để tạo truy vấn trong mysql?

Thực hiện truy vấn

CREATE TABLE shop (
    article INT UNSIGNED  DEFAULT '0000' NOT NULL,
    dealer  CHAR(20)      DEFAULT ''     NOT NULL,
    price   DECIMAL(16,2) DEFAULT '0.00' NOT NULL,
    PRIMARY KEY(article, dealer));
INSERT INTO shop VALUES
    (1,'A',3.45),(1,'B',3.99),(2,'A',10.99),(3,'B',1.45),
    (3,'C',1.69),(3,'D',1.25),(4,'D',19.95);
0 sẽ hiển thị tập kết quả được liên kết trong bảng xem SQL, ngay bên dưới bảng truy vấn SQL. Các ô này có thể chỉnh sửa nếu MySQL Workbench có thể xác định làm thế nào, ví dụ như chúng có thể chỉnh sửa nếu một khóa chính hoặc duy nhất tồn tại trong tập kết quả. Nếu không, MySQL Workbench sẽ hiển thị biểu tượng "chỉ đọc" ở góc dưới bên phải của bảng xem SQL và di chuột con trỏ chuột qua biểu tượng này sẽ cung cấp một gợi ý về lý do tại sao nó không thể chỉnh sửa.

Ghi chú

Để nhanh chóng nhập tên của một bảng, xem hoặc cột, bấm đúp vào mục trong bảng lược đồ. Tên mục sẽ được chèn vào bảng truy vấn SQL.

Trình chỉnh sửa SQL có một số bảng và tab có thể định cấu hình, như được hiển thị trong hình trước.


3.3.2 & nbsp; tạo bảng

Tạo cơ sở dữ liệu là phần dễ dàng, nhưng tại thời điểm này, nó trống, như

CREATE TABLE shop (
    article INT UNSIGNED  DEFAULT '0000' NOT NULL,
    dealer  CHAR(20)      DEFAULT ''     NOT NULL,
    price   DECIMAL(16,2) DEFAULT '0.00' NOT NULL,
    PRIMARY KEY(article, dealer));
INSERT INTO shop VALUES
    (1,'A',3.45),(1,'B',3.99),(2,'A',10.99),(3,'B',1.45),
    (3,'C',1.69),(3,'D',1.25),(4,'D',19.95);
1 cho bạn biết:

mysql> SHOW TABLES;
Empty set (0.00 sec)

Phần khó hơn là quyết định cấu trúc của cơ sở dữ liệu của bạn là gì: bảng bạn cần gì và các cột nên là gì trong mỗi chúng.

Bạn muốn một bảng chứa một bản ghi cho mỗi vật nuôi của bạn. Điều này có thể được gọi là bảng

CREATE TABLE shop (
    article INT UNSIGNED  DEFAULT '0000' NOT NULL,
    dealer  CHAR(20)      DEFAULT ''     NOT NULL,
    price   DECIMAL(16,2) DEFAULT '0.00' NOT NULL,
    PRIMARY KEY(article, dealer));
INSERT INTO shop VALUES
    (1,'A',3.45),(1,'B',3.99),(2,'A',10.99),(3,'B',1.45),
    (3,'C',1.69),(3,'D',1.25),(4,'D',19.95);
2, và nó phải chứa tối thiểu, tên của mỗi con vật. Bởi vì tên tự nó không thú vị lắm, bảng nên chứa thông tin khác. Ví dụ: nếu có nhiều hơn một người trong gia đình bạn giữ thú cưng, bạn có thể muốn liệt kê chủ sở hữu của mỗi con vật. Bạn cũng có thể muốn ghi lại một số thông tin mô tả cơ bản như loài và giới tính.

Làm thế nào về tuổi tác? Điều đó có thể được quan tâm, nhưng nó không phải là một điều tốt để lưu trữ trong cơ sở dữ liệu. Tuổi thay đổi khi thời gian trôi qua, điều đó có nghĩa là bạn phải cập nhật hồ sơ của mình thường xuyên. Thay vào đó, tốt hơn là lưu trữ một giá trị cố định như ngày sinh. Sau đó, bất cứ khi nào bạn cần tuổi, bạn có thể tính toán nó là sự khác biệt giữa ngày hiện tại và ngày sinh. MySQL cung cấp các chức năng để thực hiện số học ngày, vì vậy điều này không khó. Lưu trữ ngày sinh thay vì tuổi tác cũng có những lợi thế khác:

  • Bạn có thể sử dụng cơ sở dữ liệu cho các nhiệm vụ như tạo lời nhắc cho sinh nhật thú cưng sắp tới. . liên lạc cá nhân hỗ trợ máy tính.)

  • Bạn có thể tính tuổi liên quan đến ngày khác ngoài ngày hiện tại. Ví dụ: nếu bạn lưu trữ ngày chết trong cơ sở dữ liệu, bạn có thể dễ dàng tính toán con vật cưng bao nhiêu tuổi khi nó chết.

Bạn có thể nghĩ về các loại thông tin khác sẽ hữu ích trong bảng

CREATE TABLE shop (
    article INT UNSIGNED  DEFAULT '0000' NOT NULL,
    dealer  CHAR(20)      DEFAULT ''     NOT NULL,
    price   DECIMAL(16,2) DEFAULT '0.00' NOT NULL,
    PRIMARY KEY(article, dealer));
INSERT INTO shop VALUES
    (1,'A',3.45),(1,'B',3.99),(2,'A',10.99),(3,'B',1.45),
    (3,'C',1.69),(3,'D',1.25),(4,'D',19.95);
2, nhưng những loại được xác định cho đến nay là đủ: tên, chủ sở hữu, loài, giới tính, sinh và tử.

Sử dụng câu lệnh

CREATE TABLE shop (
    article INT UNSIGNED  DEFAULT '0000' NOT NULL,
    dealer  CHAR(20)      DEFAULT ''     NOT NULL,
    price   DECIMAL(16,2) DEFAULT '0.00' NOT NULL,
    PRIMARY KEY(article, dealer));
INSERT INTO shop VALUES
    (1,'A',3.45),(1,'B',3.99),(2,'A',10.99),(3,'B',1.45),
    (3,'C',1.69),(3,'D',1.25),(4,'D',19.95);
4 để chỉ định bố cục của bảng của bạn:

mysql> CREATE TABLE pet (name VARCHAR(20), owner VARCHAR(20),
       species VARCHAR(20), sex CHAR(1), birth DATE, death DATE);

CREATE TABLE shop (
    article INT UNSIGNED  DEFAULT '0000' NOT NULL,
    dealer  CHAR(20)      DEFAULT ''     NOT NULL,
    price   DECIMAL(16,2) DEFAULT '0.00' NOT NULL,
    PRIMARY KEY(article, dealer));
INSERT INTO shop VALUES
    (1,'A',3.45),(1,'B',3.99),(2,'A',10.99),(3,'B',1.45),
    (3,'C',1.69),(3,'D',1.25),(4,'D',19.95);
5 là một lựa chọn tốt cho các cột
CREATE TABLE shop (
    article INT UNSIGNED  DEFAULT '0000' NOT NULL,
    dealer  CHAR(20)      DEFAULT ''     NOT NULL,
    price   DECIMAL(16,2) DEFAULT '0.00' NOT NULL,
    PRIMARY KEY(article, dealer));
INSERT INTO shop VALUES
    (1,'A',3.45),(1,'B',3.99),(2,'A',10.99),(3,'B',1.45),
    (3,'C',1.69),(3,'D',1.25),(4,'D',19.95);
6,
CREATE TABLE shop (
    article INT UNSIGNED  DEFAULT '0000' NOT NULL,
    dealer  CHAR(20)      DEFAULT ''     NOT NULL,
    price   DECIMAL(16,2) DEFAULT '0.00' NOT NULL,
    PRIMARY KEY(article, dealer));
INSERT INTO shop VALUES
    (1,'A',3.45),(1,'B',3.99),(2,'A',10.99),(3,'B',1.45),
    (3,'C',1.69),(3,'D',1.25),(4,'D',19.95);
7 và
CREATE TABLE shop (
    article INT UNSIGNED  DEFAULT '0000' NOT NULL,
    dealer  CHAR(20)      DEFAULT ''     NOT NULL,
    price   DECIMAL(16,2) DEFAULT '0.00' NOT NULL,
    PRIMARY KEY(article, dealer));
INSERT INTO shop VALUES
    (1,'A',3.45),(1,'B',3.99),(2,'A',10.99),(3,'B',1.45),
    (3,'C',1.69),(3,'D',1.25),(4,'D',19.95);
8 vì các giá trị cột thay đổi về chiều dài. Các độ dài trong các định nghĩa cột đó không cần phải giống nhau, và không cần phải là
CREATE TABLE shop (
    article INT UNSIGNED  DEFAULT '0000' NOT NULL,
    dealer  CHAR(20)      DEFAULT ''     NOT NULL,
    price   DECIMAL(16,2) DEFAULT '0.00' NOT NULL,
    PRIMARY KEY(article, dealer));
INSERT INTO shop VALUES
    (1,'A',3.45),(1,'B',3.99),(2,'A',10.99),(3,'B',1.45),
    (3,'C',1.69),(3,'D',1.25),(4,'D',19.95);
9. Thông thường bạn có thể chọn bất kỳ độ dài nào từ
SELECT * FROM shop ORDER BY article;
+---------+--------+-------+
| article | dealer | price |
+---------+--------+-------+
|       1 | A      |  3.45 |
|       1 | B      |  3.99 |
|       2 | A      | 10.99 |
|       3 | B      |  1.45 |
|       3 | C      |  1.69 |
|       3 | D      |  1.25 |
|       4 | D      | 19.95 |
+---------+--------+-------+
0 đến
SELECT * FROM shop ORDER BY article;
+---------+--------+-------+
| article | dealer | price |
+---------+--------+-------+
|       1 | A      |  3.45 |
|       1 | B      |  3.99 |
|       2 | A      | 10.99 |
|       3 | B      |  1.45 |
|       3 | C      |  1.69 |
|       3 | D      |  1.25 |
|       4 | D      | 19.95 |
+---------+--------+-------+
1, bất cứ điều gì có vẻ hợp lý nhất với bạn. Nếu bạn đưa ra lựa chọn kém và sau đó bạn cần một trường dài hơn, MySQL cung cấp một tuyên bố
SELECT * FROM shop ORDER BY article;
+---------+--------+-------+
| article | dealer | price |
+---------+--------+-------+
|       1 | A      |  3.45 |
|       1 | B      |  3.99 |
|       2 | A      | 10.99 |
|       3 | B      |  1.45 |
|       3 | C      |  1.69 |
|       3 | D      |  1.25 |
|       4 | D      | 19.95 |
+---------+--------+-------+
2.

Một số loại giá trị có thể được chọn để đại diện cho giới tính trong hồ sơ động vật, chẳng hạn như

SELECT * FROM shop ORDER BY article;
+---------+--------+-------+
| article | dealer | price |
+---------+--------+-------+
|       1 | A      |  3.45 |
|       1 | B      |  3.99 |
|       2 | A      | 10.99 |
|       3 | B      |  1.45 |
|       3 | C      |  1.69 |
|       3 | D      |  1.25 |
|       4 | D      | 19.95 |
+---------+--------+-------+
3 và
SELECT * FROM shop ORDER BY article;
+---------+--------+-------+
| article | dealer | price |
+---------+--------+-------+
|       1 | A      |  3.45 |
|       1 | B      |  3.99 |
|       2 | A      | 10.99 |
|       3 | B      |  1.45 |
|       3 | C      |  1.69 |
|       3 | D      |  1.25 |
|       4 | D      | 19.95 |
+---------+--------+-------+
4, hoặc có lẽ
SELECT * FROM shop ORDER BY article;
+---------+--------+-------+
| article | dealer | price |
+---------+--------+-------+
|       1 | A      |  3.45 |
|       1 | B      |  3.99 |
|       2 | A      | 10.99 |
|       3 | B      |  1.45 |
|       3 | C      |  1.69 |
|       3 | D      |  1.25 |
|       4 | D      | 19.95 |
+---------+--------+-------+
5 và
SELECT * FROM shop ORDER BY article;
+---------+--------+-------+
| article | dealer | price |
+---------+--------+-------+
|       1 | A      |  3.45 |
|       1 | B      |  3.99 |
|       2 | A      | 10.99 |
|       3 | B      |  1.45 |
|       3 | C      |  1.69 |
|       3 | D      |  1.25 |
|       4 | D      | 19.95 |
+---------+--------+-------+
6. Việc sử dụng các ký tự đơn
SELECT * FROM shop ORDER BY article;
+---------+--------+-------+
| article | dealer | price |
+---------+--------+-------+
|       1 | A      |  3.45 |
|       1 | B      |  3.99 |
|       2 | A      | 10.99 |
|       3 | B      |  1.45 |
|       3 | C      |  1.69 |
|       3 | D      |  1.25 |
|       4 | D      | 19.95 |
+---------+--------+-------+
3 và
SELECT * FROM shop ORDER BY article;
+---------+--------+-------+
| article | dealer | price |
+---------+--------+-------+
|       1 | A      |  3.45 |
|       1 | B      |  3.99 |
|       2 | A      | 10.99 |
|       3 | B      |  1.45 |
|       3 | C      |  1.69 |
|       3 | D      |  1.25 |
|       4 | D      | 19.95 |
+---------+--------+-------+
4 là đơn giản nhất.

Việc sử dụng kiểu dữ liệu

SELECT * FROM shop ORDER BY article;
+---------+--------+-------+
| article | dealer | price |
+---------+--------+-------+
|       1 | A      |  3.45 |
|       1 | B      |  3.99 |
|       2 | A      | 10.99 |
|       3 | B      |  1.45 |
|       3 | C      |  1.69 |
|       3 | D      |  1.25 |
|       4 | D      | 19.95 |
+---------+--------+-------+
9 cho các cột
mysql> SHOW TABLES;
Empty set (0.00 sec)
0 và
mysql> SHOW TABLES;
Empty set (0.00 sec)
1 là một lựa chọn khá rõ ràng.

Khi bạn đã tạo một bảng,

mysql> SHOW TABLES;
Empty set (0.00 sec)
2 sẽ tạo ra một số đầu ra:

mysql> SHOW TABLES;
+---------------------+
| Tables in menagerie |
+---------------------+
| pet                 |
+---------------------+

Để xác minh rằng bảng của bạn đã được tạo theo cách bạn mong đợi, hãy sử dụng câu lệnh

mysql> SHOW TABLES;
Empty set (0.00 sec)
3:

mysql> DESCRIBE pet;
+---------+-------------+------+-----+---------+-------+
| Field   | Type        | Null | Key | Default | Extra |
+---------+-------------+------+-----+---------+-------+
| name    | varchar(20) | YES  |     | NULL    |       |
| owner   | varchar(20) | YES  |     | NULL    |       |
| species | varchar(20) | YES  |     | NULL    |       |
| sex     | char(1)     | YES  |     | NULL    |       |
| birth   | date        | YES  |     | NULL    |       |
| death   | date        | YES  |     | NULL    |       |
+---------+-------------+------+-----+---------+-------+

Bạn có thể sử dụng

mysql> SHOW TABLES;
Empty set (0.00 sec)
3 bất cứ lúc nào, ví dụ, nếu bạn quên tên của các cột trong bảng của bạn hoặc những loại chúng có.

Để biết thêm thông tin về các loại dữ liệu MySQL, xem Chương & NBSP; 11, Kiểu dữ liệu.

Lệnh tạo trong MySQL là gì?

MySQL tạo câu lệnh bảng.Câu lệnh CREATE TABLE được sử dụng để tạo một bảng mới trong cơ sở dữ liệu.used to create a new table in a database.

Các truy vấn MySQL cơ bản là gì?

Một số lệnh SQL quan trọng nhất..
Chọn - Trích xuất dữ liệu từ cơ sở dữ liệu ..
Cập nhật - Cập nhật dữ liệu trong cơ sở dữ liệu ..
Xóa - Xóa dữ liệu khỏi cơ sở dữ liệu ..
Chèn vào - Chèn dữ liệu mới vào cơ sở dữ liệu ..
Tạo cơ sở dữ liệu - Tạo cơ sở dữ liệu mới ..
Thay đổi cơ sở dữ liệu - sửa đổi cơ sở dữ liệu ..
Tạo bảng - Tạo một bảng mới ..