Làm cách nào để tìm tập lệnh cơ sở dữ liệu mysql?

Bài viết này giải thích một số khái niệm chuyên sâu, chẳng hạn như tập lệnh và kiểu dữ liệu. Đọc "MySQL cho người mới bắt đầu" để biết thông tin cơ bản

Tạo và chạy tập lệnh

Tôi sẽ bắt đầu bằng cách mô tả cú pháp của một tập lệnh MySQL, vì các tập lệnh sẽ được sử dụng cho tất cả các ví dụ trong hướng dẫn này

Thay vì đưa ra từng câu lệnh SQL từ một máy khách

mysql> SHOW COLLATION LIKE 'utf8%';
+--------------------+---------+-----+---------+----------+---------+
| Collation          | Charset | Id  | Default | Compiled | Sortlen |
+--------------------+---------+-----+---------+----------+---------+
| utf8_general_ci    | utf8    |  33 | Yes     | Yes      |       1 |
| utf8_bin           | utf8    |  83 |         | Yes      |       1 |
| utf8_unicode_ci    | utf8    | 192 |         | Yes      |       8 |
| utf8_icelandic_ci  | utf8    | 193 |         | Yes      |       8 |
| utf8_latvian_ci    | utf8    | 194 |         | Yes      |       8 |
| utf8_romanian_ci   | utf8    | 195 |         | Yes      |       8 |
  ......
1 một cách tương tác, việc giữ các câu lệnh trong một tập lệnh thường sẽ thuận tiện hơn. Sau đó, bạn có thể chạy toàn bộ tập lệnh hoặc sao chép và dán các câu lệnh đã chọn để chạy

Sử dụng trình soạn thảo văn bản lập trình để tạo tập lệnh sau và lưu dưới dạng "

mysql> SHOW COLLATION LIKE 'utf8%';
+--------------------+---------+-----+---------+----------+---------+
| Collation          | Charset | Id  | Default | Compiled | Sortlen |
+--------------------+---------+-----+---------+----------+---------+
| utf8_general_ci    | utf8    |  33 | Yes     | Yes      |       1 |
| utf8_bin           | utf8    |  83 |         | Yes      |       1 |
| utf8_unicode_ci    | utf8    | 192 |         | Yes      |       8 |
| utf8_icelandic_ci  | utf8    | 193 |         | Yes      |       8 |
| utf8_latvian_ci    | utf8    | 194 |         | Yes      |       8 |
| utf8_romanian_ci   | utf8    | 195 |         | Yes      |       8 |
  ......
2" trong thư mục đã chọn (e. g. , "
mysql> SHOW COLLATION LIKE 'utf8%';
+--------------------+---------+-----+---------+----------+---------+
| Collation          | Charset | Id  | Default | Compiled | Sortlen |
+--------------------+---------+-----+---------+----------+---------+
| utf8_general_ci    | utf8    |  33 | Yes     | Yes      |       1 |
| utf8_bin           | utf8    |  83 |         | Yes      |       1 |
| utf8_unicode_ci    | utf8    | 192 |         | Yes      |       8 |
| utf8_icelandic_ci  | utf8    | 193 |         | Yes      |       8 |
| utf8_latvian_ci    | utf8    | 194 |         | Yes      |       8 |
| utf8_romanian_ci   | utf8    | 195 |         | Yes      |       8 |
  ......
3"). Bạn nên sử dụng "
mysql> SHOW COLLATION LIKE 'utf8%';
+--------------------+---------+-----+---------+----------+---------+
| Collation          | Charset | Id  | Default | Compiled | Sortlen |
+--------------------+---------+-----+---------+----------+---------+
| utf8_general_ci    | utf8    |  33 | Yes     | Yes      |       1 |
| utf8_bin           | utf8    |  83 |         | Yes      |       1 |
| utf8_unicode_ci    | utf8    | 192 |         | Yes      |       8 |
| utf8_icelandic_ci  | utf8    | 193 |         | Yes      |       8 |
| utf8_latvian_ci    | utf8    | 194 |         | Yes      |       8 |
| utf8_romanian_ci   | utf8    | 195 |         | Yes      |       8 |
  ......
4" làm phần mở rộng tệp

Tôi khuyên dùng NetBeans cung cấp hỗ trợ trực tiếp cho cơ sở dữ liệu MySQL (đọc) hoặc NotePad++ (@ http. // notepad-plus. nguồn. net/uk/trang web. htm), nhận dạng tệp "

mysql> SHOW COLLATION LIKE 'utf8%';
+--------------------+---------+-----+---------+----------+---------+
| Collation          | Charset | Id  | Default | Compiled | Sortlen |
+--------------------+---------+-----+---------+----------+---------+
| utf8_general_ci    | utf8    |  33 | Yes     | Yes      |       1 |
| utf8_bin           | utf8    |  83 |         | Yes      |       1 |
| utf8_unicode_ci    | utf8    | 192 |         | Yes      |       8 |
| utf8_icelandic_ci  | utf8    | 193 |         | Yes      |       8 |
| utf8_latvian_ci    | utf8    | 194 |         | Yes      |       8 |
| utf8_romanian_ci   | utf8    | 195 |         | Yes      |       8 |
  ......
4" dưới dạng tập lệnh SQL với cú pháp tô sáng

Bạn có thể chạy tập lệnh bằng ứng dụng khách

mysql> SHOW COLLATION LIKE 'utf8%';
+--------------------+---------+-----+---------+----------+---------+
| Collation          | Charset | Id  | Default | Compiled | Sortlen |
+--------------------+---------+-----+---------+----------+---------+
| utf8_general_ci    | utf8    |  33 | Yes     | Yes      |       1 |
| utf8_bin           | utf8    |  83 |         | Yes      |       1 |
| utf8_unicode_ci    | utf8    | 192 |         | Yes      |       8 |
| utf8_icelandic_ci  | utf8    | 193 |         | Yes      |       8 |
| utf8_latvian_ci    | utf8    | 194 |         | Yes      |       8 |
| utf8_romanian_ci   | utf8    | 195 |         | Yes      |       8 |
  ......
1 theo hai cách. chế độ hàng loạt hoặc sử dụng lệnh
mysql> SHOW COLLATION LIKE 'utf8%';
+--------------------+---------+-----+---------+----------+---------+
| Collation          | Charset | Id  | Default | Compiled | Sortlen |
+--------------------+---------+-----+---------+----------+---------+
| utf8_general_ci    | utf8    |  33 | Yes     | Yes      |       1 |
| utf8_bin           | utf8    |  83 |         | Yes      |       1 |
| utf8_unicode_ci    | utf8    | 192 |         | Yes      |       8 |
| utf8_icelandic_ci  | utf8    | 193 |         | Yes      |       8 |
| utf8_latvian_ci    | utf8    | 194 |         | Yes      |       8 |
| utf8_romanian_ci   | utf8    | 195 |         | Yes      |       8 |
  ......
7

Chạy tập lệnh ở chế độ hàng loạt

Để chạy tập lệnh ở chế độ hàng loạt (không tương tác), hãy khởi động ứng dụng khách

mysql> SHOW COLLATION LIKE 'utf8%';
+--------------------+---------+-----+---------+----------+---------+
| Collation          | Charset | Id  | Default | Compiled | Sortlen |
+--------------------+---------+-----+---------+----------+---------+
| utf8_general_ci    | utf8    |  33 | Yes     | Yes      |       1 |
| utf8_bin           | utf8    |  83 |         | Yes      |       1 |
| utf8_unicode_ci    | utf8    | 192 |         | Yes      |       8 |
| utf8_icelandic_ci  | utf8    | 193 |         | Yes      |       8 |
| utf8_latvian_ci    | utf8    | 194 |         | Yes      |       8 |
| utf8_romanian_ci   | utf8    | 195 |         | Yes      |       8 |
  ......
1 và chuyển hướng tập lệnh làm đầu vào, như sau

> mysql -u username -p < path-to\scriptName.sql

The input redirection operator

mysql> SHOW COLLATION LIKE 'utf8%';
+--------------------+---------+-----+---------+----------+---------+
| Collation          | Charset | Id  | Default | Compiled | Sortlen |
+--------------------+---------+-----+---------+----------+---------+
| utf8_general_ci    | utf8    |  33 | Yes     | Yes      |       1 |
| utf8_bin           | utf8    |  83 |         | Yes      |       1 |
| utf8_unicode_ci    | utf8    | 192 |         | Yes      |       8 |
| utf8_icelandic_ci  | utf8    | 193 |         | Yes      |       8 |
| utf8_latvian_ci    | utf8    | 194 |         | Yes      |       8 |
| utf8_romanian_ci   | utf8    | 195 |         | Yes      |       8 |
  ......
9 re-directs the input from the file, instead of the default standard input (i. e. , keyboard). You may provide an absolute or relative path of the filename. You may need to double quote the filename if it contains special characters such as blank (strongly discouraged. )

For example, we invoke the

mysql> SHOW COLLATION LIKE 'utf8%';
+--------------------+---------+-----+---------+----------+---------+
| Collation          | Charset | Id  | Default | Compiled | Sortlen |
+--------------------+---------+-----+---------+----------+---------+
| utf8_general_ci    | utf8    |  33 | Yes     | Yes      |       1 |
| utf8_bin           | utf8    |  83 |         | Yes      |       1 |
| utf8_unicode_ci    | utf8    | 192 |         | Yes      |       8 |
| utf8_icelandic_ci  | utf8    | 193 |         | Yes      |       8 |
| utf8_latvian_ci    | utf8    | 194 |         | Yes      |       8 |
| utf8_romanian_ci   | utf8    | 195 |         | Yes      |       8 |
  ......
1 client with user "
CREATE DATABASE databaseName
DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci;
1" in batch mode running the script "
mysql> SHOW COLLATION LIKE 'utf8%';
+--------------------+---------+-----+---------+----------+---------+
| Collation          | Charset | Id  | Default | Compiled | Sortlen |
+--------------------+---------+-----+---------+----------+---------+
| utf8_general_ci    | utf8    |  33 | Yes     | Yes      |       1 |
| utf8_bin           | utf8    |  83 |         | Yes      |       1 |
| utf8_unicode_ci    | utf8    | 192 |         | Yes      |       8 |
| utf8_icelandic_ci  | utf8    | 193 |         | Yes      |       8 |
| utf8_latvian_ci    | utf8    | 194 |         | Yes      |       8 |
| utf8_romanian_ci   | utf8    | 195 |         | Yes      |       8 |
  ......
2" created earlier. I assume that
CREATE DATABASE databaseName
DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci;
1 is authorized to access
mysql> SHOW COLLATION LIKE 'utf8%';
+--------------------+---------+-----+---------+----------+---------+
| Collation          | Charset | Id  | Default | Compiled | Sortlen |
+--------------------+---------+-----+---------+----------+---------+
| utf8_general_ci    | utf8    |  33 | Yes     | Yes      |       1 |
| utf8_bin           | utf8    |  83 |         | Yes      |       1 |
| utf8_unicode_ci    | utf8    | 192 |         | Yes      |       8 |
| utf8_icelandic_ci  | utf8    | 193 |         | Yes      |       8 |
| utf8_latvian_ci    | utf8    | 194 |         | Yes      |       8 |
| utf8_romanian_ci   | utf8    | 195 |         | Yes      |       8 |
  ......
1 database

The output contains the column headers and the rows selected. The column values are separated by 'tab'. This is to facilitate direct processing by another program. This format is known as TSV (Tab-Separated Values), similar to CSV (Comma-Separated Values)

You could also redirect the output to a text file (via the output redirection operator

CREATE DATABASE databaseName
DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci;
5), for example,

> mysql -u myuser -p < d:\myproject\sqlscripts\testscript.sql > output.txt

Để có đầu ra "giống như bảng", hãy sử dụng tùy chọn

CREATE DATABASE databaseName
DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci;
6 (bảng), ví dụ:

> mysql -u myuser -p -t < d:\myproject\sqlscripts\testscript.sql
Enter password: ********
+--------------------+
| Database           |
+--------------------+
| information_schema |
| eastwind           |
| mysql              |
| test               |
+--------------------+
+--------+-----------+
| user   | host      |
+--------+-----------+
| root   | 127.0.0.1 |
| myuser | localhost |
| root   | localhost |
+--------+-----------+

Bạn có thể lặp lại các lệnh đầu vào thông qua tùy chọn

CREATE DATABASE databaseName
DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci;
7 (dài dòng), ví dụ:

shell> mysql -u myuser -p -t -vvv < d:\myproject\sqlscripts\testscript.sql
Enter password: ********
--------------
SHOW DATABASES
--------------
   
+--------------------+
| Database           |
+--------------------+
| information_schema |
| eastwind           |
| mysql              |
| test               |
+--------------------+
4 rows in set (0.00 sec)
   
--------------
SELECT user, host FROM user
--------------
   
+--------+-----------+
| user   | host      |
+--------+-----------+
| root   | 127.0.0.1 |
| myuser | localhost |
| root   | localhost |
+--------+-----------+
4 rows in set (0.00 sec)
   
Bye

Trong chế độ hàng loạt, bạn cũng có thể thực hiện (các) câu lệnh trực tiếp thông qua tùy chọn (đánh giá)

CREATE DATABASE databaseName
DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci;
8. Ví dụ,

> mysql -u myuser -p -vvv -e "SELECT user, host FROM user; SHOW databases" mysql
Enter password: ********
--------------
SELECT user, host FROM user
--------------
   
+-----------+-----------+
| user      | host      |
+-----------+-----------+
| root      | 127.0.0.1 |
  ...... 
+-----------+-----------+
   
--------------
SHOW databases
--------------

+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
| test               |
  ......
+--------------------+
   
Bye
Chạy tập lệnh thông qua lệnh SOURCE

Trong phiên khách hàng

mysql> SHOW COLLATION LIKE 'utf8%';
+--------------------+---------+-----+---------+----------+---------+
| Collation          | Charset | Id  | Default | Compiled | Sortlen |
+--------------------+---------+-----+---------+----------+---------+
| utf8_general_ci    | utf8    |  33 | Yes     | Yes      |       1 |
| utf8_bin           | utf8    |  83 |         | Yes      |       1 |
| utf8_unicode_ci    | utf8    | 192 |         | Yes      |       8 |
| utf8_icelandic_ci  | utf8    | 193 |         | Yes      |       8 |
| utf8_latvian_ci    | utf8    | 194 |         | Yes      |       8 |
| utf8_romanian_ci   | utf8    | 195 |         | Yes      |       8 |
  ......
1 tương tác, bạn có thể sử dụng lệnh
mysql> SHOW COLLATION LIKE 'utf8%';
+--------------------+---------+-----+---------+----------+---------+
| Collation          | Charset | Id  | Default | Compiled | Sortlen |
+--------------------+---------+-----+---------+----------+---------+
| utf8_general_ci    | utf8    |  33 | Yes     | Yes      |       1 |
| utf8_bin           | utf8    |  83 |         | Yes      |       1 |
| utf8_unicode_ci    | utf8    | 192 |         | Yes      |       8 |
| utf8_icelandic_ci  | utf8    | 193 |         | Yes      |       8 |
| utf8_latvian_ci    | utf8    | 194 |         | Yes      |       8 |
| utf8_romanian_ci   | utf8    | 195 |         | Yes      |       8 |
  ......
7 (hoặc lệnh tốc ký
> mysql -u myuser -p < d:\myproject\sqlscripts\testscript.sql > output.txt
01) để chạy tập lệnh. Ví dụ,

ghi chú

  • Bạn có thể cung cấp đường dẫn tuyệt đối hoặc tương đối
  • Bạn cần sử dụng dấu gạch chéo kiểu Unix
    > mysql -u myuser -p < d:\myproject\sqlscripts\testscript.sql > output.txt
    02 làm dấu phân cách thư mục. Trên các hệ thống Windows, bạn cũng có thể thay thế dấu gạch chéo ngược
    > mysql -u myuser -p < d:\myproject\sqlscripts\testscript.sql > output.txt
    03 bằng dấu gạch chéo ngược kép e. g. , "
    > mysql -u myuser -p < d:\myproject\sqlscripts\testscript.sql > output.txt
    04"
  • Không cần dấu ngoặc đơn hoặc dấu ngoặc kép (cũng không được phép) trong tên tệp
  • "______0_______7" là lệnh phía máy khách. Do đó, không cần phải kết thúc
    > mysql -u myuser -p < d:\myproject\sqlscripts\testscript.sql > output.txt
    06 (gửi lệnh đến máy chủ để xử lý)

Cú pháp ngôn ngữ kịch bản MySQL

Bình luận

Chú thích nhiều dòng bắt đầu bằng

> mysql -u myuser -p < d:\myproject\sqlscripts\testscript.sql > output.txt
07 và kết thúc bằng
> mysql -u myuser -p < d:\myproject\sqlscripts\testscript.sql > output.txt
08 (giống như ngôn ngữ C/C++/Java). Nhận xét cuối dòng bắt đầu bằng
> mysql -u myuser -p < d:\myproject\sqlscripts\testscript.sql > output.txt
09 (hai dấu gạch ngang và dấu cách) hoặc #, kéo dài đến cuối dòng hiện tại

Nhận xét bị công cụ xử lý bỏ qua nhưng rất quan trọng để cung cấp giải thích và tài liệu cho tập lệnh. Tôi thực sự khuyến khích bạn sử dụng bình luận một cách tự do

Mã cụ thể của MySQL

Các câu lệnh kèm theo trong

> mysql -u myuser -p < d:\myproject\sqlscripts\testscript.sql > output.txt
10 được gọi là mã cụ thể của MySQL. Chúng được công cụ MySQL nhận ra, nhưng bị các công cụ cơ sở dữ liệu khác bỏ qua. Nói cách khác, chúng sẽ được xử lý bởi MySQL nhưng được coi là nhận xét của các cơ sở dữ liệu khác

Bạn có thể bao gồm một số phiên bản MySQL tùy chọn, e. g. ,

> mysql -u myuser -p < d:\myproject\sqlscripts\testscript.sql > output.txt
11. Các câu lệnh sẽ được xử lý bởi MySQL nếu phiên bản của máy chủ ít nhất là phiên bản được chỉ định, e. g. , phiên bản 4. 00. 14

Bạn có thể tìm thấy phiên bản máy chủ MySQL thông qua lệnh

> mysql -u myuser -p < d:\myproject\sqlscripts\testscript.sql > output.txt
12

Các mã cụ thể của MySQL (với số phiên bản) thường được tạo khi bạn xuất cơ sở dữ liệu qua tiện ích

> mysql -u myuser -p < d:\myproject\sqlscripts\testscript.sql > output.txt
13. Ví dụ,

/*!40101 SET NAMES utf8 */;
/*!40101 SET SQL_MODE=''*/;
/*!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */;
/*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO' */;
CREATE DATABASE /*!32312 IF NOT EXISTS*/ `eastwind` /*!40100 DEFAULT CHARACTER SET latin1 */;
......
Định danh và Backquotes

Các định danh (chẳng hạn như tên cơ sở dữ liệu, tên bảng và tên cột) phải được trích dẫn lại nếu chúng chứa khoảng trống và ký tự đặc biệt; . g. ,

> mysql -u myuser -p < d:\myproject\sqlscripts\testscript.sql > output.txt
14,
> mysql -u myuser -p < d:\myproject\sqlscripts\testscript.sql > output.txt
15,
> mysql -u myuser -p < d:\myproject\sqlscripts\testscript.sql > output.txt
16 (từ dành riêng),
> mysql -u myuser -p < d:\myproject\sqlscripts\testscript.sql > output.txt
17 (chứa khoảng trống)

Đó là một cách thực hành tốt để trích dẫn lại tất cả các mã định danh trong tập lệnh để phân biệt tên với các từ dành riêng (có thể trong các phiên bản MySQL trong tương lai)

Phân biệt chữ hoa chữ thường

Từ khóa MySQL không phân biệt chữ hoa chữ thường. Để rõ ràng, tôi thường hiển thị các từ khóa bằng chữ in hoa (e. g. ,

> mysql -u myuser -p < d:\myproject\sqlscripts\testscript.sql > output.txt
18,
> mysql -u myuser -p < d:\myproject\sqlscripts\testscript.sql > output.txt
19)

Các mã định danh (chẳng hạn như tên cơ sở dữ liệu, tên bảng và tên cột) phân biệt chữ hoa chữ thường trong một số nền tảng; . g. , Nói chung, mã định danh phân biệt chữ hoa chữ thường trong Unix nhưng không phân biệt chữ hoa chữ thường trong Windows). Do đó, nên coi các mã định danh là phân biệt chữ hoa chữ thường trong tập lệnh

So sánh và sắp xếp chuỗi phụ thuộc vào trình tự đối chiếu ký tự được sử dụng. Theo mặc định, so sánh chuỗi trong MySQL (Windows) không phân biệt chữ hoa chữ thường. (Cần kiểm tra thêm trên Unixes và Macs. )

chữ

Chuỗi ký tự. Một chuỗi ký tự (hoặc giá trị chuỗi) được bao quanh bởi một cặp dấu nháy đơn (e. g. ,

> mysql -u myuser -p < d:\myproject\sqlscripts\testscript.sql > output.txt
20) (khuyên dùng); . g. ,
> mysql -u myuser -p < d:\myproject\sqlscripts\testscript.sql > output.txt
21)

Một số ký tự có thể tạo ra sự mơ hồ khi được đặt bên trong một chuỗi trích dẫn đơn hoặc trích dẫn kép, e. g. , bạn không thể bao gồm một trích dẫn trong một chuỗi trích dẫn đơn. Một số ký tự, chẳng hạn như tab, dòng mới, không thể in được và yêu cầu một ký hiệu đặc biệt được đưa vào một sting. Dấu gạch chéo ngược

> mysql -u myuser -p < d:\myproject\sqlscripts\testscript.sql > output.txt
03 được biết đến như một ký tự thoát, giúp sửa đổi ý nghĩa của ký tự theo sau, như được lập bảng dưới đây

Trình tự thoát Ý nghĩaTại sao_______16_______23Trích dẫn duy nhất
> mysql -u myuser -p < d:\myproject\sqlscripts\testscript.sql > output.txt
24Để giải quyết sự mơ hồ
> mysql -u myuser -p < d:\myproject\sqlscripts\testscript.sql > output.txt
24 và
> mysql -u myuser -p < d:\myproject\sqlscripts\testscript.sql > output.txt
26 dùng để bao chuỗi,
> mysql -u myuser -p < d:\myproject\sqlscripts\testscript.sql > output.txt
27 để trốn thoát,
> mysql -u myuser -p < d:\myproject\sqlscripts\testscript.sql > output.txt
28 and
> mysql -u myuser -p < d:\myproject\sqlscripts\testscript.sql > output.txt
29 for pattern matching
> mysql -u myuser -p < d:\myproject\sqlscripts\testscript.sql > output.txt
30Double quote
> mysql -u myuser -p < d:\myproject\sqlscripts\testscript.sql > output.txt
26
> mysql -u myuser -p < d:\myproject\sqlscripts\testscript.sql > output.txt
32Back slash
> mysql -u myuser -p < d:\myproject\sqlscripts\testscript.sql > output.txt
27
> mysql -u myuser -p < d:\myproject\sqlscripts\testscript.sql > output.txt
34Percent
> mysql -u myuser -p < d:\myproject\sqlscripts\testscript.sql > output.txt
28
> mysql -u myuser -p < d:\myproject\sqlscripts\testscript.sql > output.txt
36Underscore
> mysql -u myuser -p < d:\myproject\sqlscripts\testscript.sql > output.txt
29
> mysql -u myuser -p < d:\myproject\sqlscripts\testscript.sql > output.txt
38Newline or LineFeed (FF) (
> mysql -u myuser -p < d:\myproject\sqlscripts\testscript.sql > output.txt
39)For non-printable symbols
> mysql -u myuser -p < d:\myproject\sqlscripts\testscript.sql > output.txt
40Carriage Return (CR) (
> mysql -u myuser -p < d:\myproject\sqlscripts\testscript.sql > output.txt
41)
> mysql -u myuser -p < d:\myproject\sqlscripts\testscript.sql > output.txt
42Back Space (
> mysql -u myuser -p < d:\myproject\sqlscripts\testscript.sql > output.txt
43)
> mysql -u myuser -p < d:\myproject\sqlscripts\testscript.sql > output.txt
44Tab (
> mysql -u myuser -p < d:\myproject\sqlscripts\testscript.sql > output.txt
45)
> mysql -u myuser -p < d:\myproject\sqlscripts\testscript.sql > output.txt
46ASCII NUL (
> mysql -u myuser -p < d:\myproject\sqlscripts\testscript.sql > output.txt
47)
> mysql -u myuser -p < d:\myproject\sqlscripts\testscript.sql > output.txt
48Control-Z (

Một lối thoát theo sau bởi bất kỳ ký tự nào khác được liệt kê ở trên được coi là ký tự, e. g. ,

> mysql -u myuser -p < d:\myproject\sqlscripts\testscript.sql > output.txt
50 là
> mysql -u myuser -p < d:\myproject\sqlscripts\testscript.sql > output.txt
51. Trình tự thoát phân biệt chữ hoa chữ thường, i. e. ,
> mysql -u myuser -p < d:\myproject\sqlscripts\testscript.sql > output.txt
52 là tab, nhưng
> mysql -u myuser -p < d:\myproject\sqlscripts\testscript.sql > output.txt
53 là
> mysql -u myuser -p < d:\myproject\sqlscripts\testscript.sql > output.txt
54. Chuỗi có thể được trích dẫn đơn hoặc trích dẫn kép để mang đến cho bạn sự linh hoạt trong việc bao gồm các trích dẫn trong chuỗi mà không cần sử dụng trình tự thoát, ví dụ:. g. ,
> mysql -u myuser -p < d:\myproject\sqlscripts\testscript.sql > output.txt
55,
> mysql -u myuser -p < d:\myproject\sqlscripts\testscript.sql > output.txt
56

Chữ Hex. Giá trị hex được viết là

> mysql -u myuser -p < d:\myproject\sqlscripts\testscript.sql > output.txt
57 hoặc
> mysql -u myuser -p < d:\myproject\sqlscripts\testscript.sql > output.txt
58 hoặc
> mysql -u myuser -p < d:\myproject\sqlscripts\testscript.sql > output.txt
59, e. g. ,
> mysql -u myuser -p < d:\myproject\sqlscripts\testscript.sql > output.txt
60,
> mysql -u myuser -p < d:\myproject\sqlscripts\testscript.sql > output.txt
61,
> mysql -u myuser -p < d:\myproject\sqlscripts\testscript.sql > output.txt
62,
> mysql -u myuser -p < d:\myproject\sqlscripts\testscript.sql > output.txt
63. Bạn có thể lấy giá trị hex của một chuỗi bằng hàm
> mysql -u myuser -p < d:\myproject\sqlscripts\testscript.sql > output.txt
64. Ví dụ,

chữ bit. Tương tự, một chút nghĩa đen được viết là

> mysql -u myuser -p < d:\myproject\sqlscripts\testscript.sql > output.txt
65 hoặc
> mysql -u myuser -p < d:\myproject\sqlscripts\testscript.sql > output.txt
66, e. g. ,
> mysql -u myuser -p < d:\myproject\sqlscripts\testscript.sql > output.txt
67,
> mysql -u myuser -p < d:\myproject\sqlscripts\testscript.sql > output.txt
68

Biến

Có nhiều loại biến trong MySQL. Biến hệ thống (toàn hệ thống), biến do người dùng xác định (trong kết nối) và biến cục bộ (trong hàm/thủ tục được lưu trữ)

Biến do người dùng xác định. Biến do người dùng định nghĩa bắt đầu bằng ký hiệu

> mysql -u myuser -p < d:\myproject\sqlscripts\testscript.sql > output.txt
69, e. g. ,
> mysql -u myuser -p < d:\myproject\sqlscripts\testscript.sql > output.txt
70,
> mysql -u myuser -p < d:\myproject\sqlscripts\testscript.sql > output.txt
71. Biến do người dùng xác định dành riêng cho kết nối và có sẵn trong kết nối. A variable defined in one client session is not visible by another client session. Bạn có thể sử dụng một biến do người dùng định nghĩa để chuyển một giá trị giữa các câu lệnh SQL trong cùng một kết nối

Trong MySQL, bạn có thể xác định biến người dùng thông qua

  1. > mysql -u myuser -p < d:\myproject\sqlscripts\testscript.sql > output.txt
    72 hoặc (______16_______73)
  2. > mysql -u myuser -p < d:\myproject\sqlscripts\testscript.sql > output.txt
    74
  3. > mysql -u myuser -p < d:\myproject\sqlscripts\testscript.sql > output.txt
    75

Ví dụ như,

Giống như tất cả các ngôn ngữ kịch bản, ngôn ngữ kịch bản SQL là kiểu lỏng lẻo. Bạn không cần phải khai báo rõ ràng kiểu biến mà chỉ cần gán giá trị

Biến hệ thống. Máy chủ MySQL duy trì các biến hệ thống, được nhóm thành hai loại. toàn cầu và phiên. Các biến toàn cục ảnh hưởng đến hoạt động chung của máy chủ. Các biến phiên ảnh hưởng đến các kết nối máy khách cá nhân. Một biến hệ thống có thể có cả giá trị toàn cục và giá trị phiên

Các biến toàn cục được tham chiếu qua

> mysql -u myuser -p < d:\myproject\sqlscripts\testscript.sql > output.txt
76 hoặc
> mysql -u myuser -p < d:\myproject\sqlscripts\testscript.sql > output.txt
77. Các biến phiên được tham chiếu qua
> mysql -u myuser -p < d:\myproject\sqlscripts\testscript.sql > output.txt
78,
> mysql -u myuser -p < d:\myproject\sqlscripts\testscript.sql > output.txt
79 hoặc đơn giản là
> mysql -u myuser -p < d:\myproject\sqlscripts\testscript.sql > output.txt
80

Bạn có thể sử dụng câu lệnh

> mysql -u myuser -p < d:\myproject\sqlscripts\testscript.sql > output.txt
81 để thay đổi giá trị của một biến. Ví dụ,

Sử dụng

> mysql -u myuser -p < d:\myproject\sqlscripts\testscript.sql > output.txt
82 để hiển thị giá trị của các biến. Bạn có thể sử dụng mệnh đề khớp mẫu
> mysql -u myuser -p < d:\myproject\sqlscripts\testscript.sql > output.txt
83 để giới hạn kết quả đầu ra. Ví dụ,

Biến cục bộ (trong Chương trình được lưu trữ). You could define local variables for stored programs (such as function and procedure). Phạm vi của biến cục bộ nằm trong chương trình. Bạn cần sử dụng câu lệnh

> mysql -u myuser -p < d:\myproject\sqlscripts\testscript.sql > output.txt
84 để khai báo một biến cục bộ. Local variable will be discussed later

Các chức năng tích hợp của MySQL

Để biết chi tiết về các chức năng tích hợp sẵn của MySQL, hãy tham khảo hướng dẫn sử dụng MySQL "Hàm và toán tử" @ http. // nhà phát triển. mysql. com/doc/refman/5. 5/en//chức năng. html

Hàm chuỗi MySQL

Thẩm quyền giải quyết. Hàm chuỗi @ http. // nhà phát triển. mysql. com/doc/refman/5. 5/en/string-functions. html

  • LENTH(str). returns the length of the string
  • INSTR(str, subStr). returns the index of the
    > mysql -u myuser -p < d:\myproject\sqlscripts\testscript.sql > output.txt
    85 in the
    > mysql -u myuser -p < d:\myproject\sqlscripts\testscript.sql > output.txt
    86 or 0 otherwise. Index begins at 1
  • SUBSTR(str, fromIndex, len). returns the substring from index of length. Index starts at 1
  • UCASE(str), LCASE(str). returns the uppercase and lowercase counterpart
  • CONCAT(str1, str2, . ). returns the concatenated string
  • CONCAT_WS(separator, str1, str2, . ). concatenate with separator
  • more
MySQL GROUP BY Aggregate Functions

Reference. MySQL "

> mysql -u myuser -p < d:\myproject\sqlscripts\testscript.sql > output.txt
87 (Aggregate) Functions" @ https. //dev. mysql. com/doc/refman/5. 5/en/group-by-functions. html

We can apply

> mysql -u myuser -p < d:\myproject\sqlscripts\testscript.sql > output.txt
87 aggregate functions to each group of rows

  • COUNT([DISTINCT] col). returns the count of non-
    > mysql -u myuser -p < d:\myproject\sqlscripts\testscript.sql > output.txt
    89 rows. The optional
    > mysql -u myuser -p < d:\myproject\sqlscripts\testscript.sql > output.txt
    90 discards duplicate rows
  • COUNT(*). returns the count of the rows (including
    > mysql -u myuser -p < d:\myproject\sqlscripts\testscript.sql > output.txt
    89)
  • MAX([DISTINCT] col), MIN([DISTINCT] col), AVG([DISTINCT] col), SUM([DISTINCT] col), STD([DISTINCT] col). these functions accept an optional keyword
    > mysql -u myuser -p < d:\myproject\sqlscripts\testscript.sql > output.txt
    90 to discard duplicates
  • GROUP_CONCAT([DISTINCT] col [ORDER BY . ] [SEPARATOR . ]). returns a string with the concatenated non-
    > mysql -u myuser -p < d:\myproject\sqlscripts\testscript.sql > output.txt
    89 values from a group. You can apply optional
    > mysql -u myuser -p < d:\myproject\sqlscripts\testscript.sql > output.txt
    90 and
    > mysql -u myuser -p < d:\myproject\sqlscripts\testscript.sql > output.txt
    95. The default
    > mysql -u myuser -p < d:\myproject\sqlscripts\testscript.sql > output.txt
    96 is comma
    > mysql -u myuser -p < d:\myproject\sqlscripts\testscript.sql > output.txt
    97
MySQL Date/Time Functions

[TODO]

MySQL Mathematical Functions
  • > mysql -u myuser -p < d:\myproject\sqlscripts\testscript.sql > output.txt
    98
  • > mysql -u myuser -p < d:\myproject\sqlscripts\testscript.sql > output.txt
    99. return a random float between 0 and 1
  • > mysql -u myuser -p -t < d:\myproject\sqlscripts\testscript.sql
    Enter password: ********
    +--------------------+
    | Database           |
    +--------------------+
    | information_schema |
    | eastwind           |
    | mysql              |
    | test               |
    +--------------------+
    +--------+-----------+
    | user   | host      |
    +--------+-----------+
    | root   | 127.0.0.1 |
    | myuser | localhost |
    | root   | localhost |
    +--------+-----------+
    00,
    > mysql -u myuser -p -t < d:\myproject\sqlscripts\testscript.sql
    Enter password: ********
    +--------------------+
    | Database           |
    +--------------------+
    | information_schema |
    | eastwind           |
    | mysql              |
    | test               |
    +--------------------+
    +--------+-----------+
    | user   | host      |
    +--------+-----------+
    | root   | 127.0.0.1 |
    | myuser | localhost |
    | root   | localhost |
    +--------+-----------+
    01. return -1 if negative, 0 for zero, and 1 if positive
  • > mysql -u myuser -p -t < d:\myproject\sqlscripts\testscript.sql
    Enter password: ********
    +--------------------+
    | Database           |
    +--------------------+
    | information_schema |
    | eastwind           |
    | mysql              |
    | test               |
    +--------------------+
    +--------+-----------+
    | user   | host      |
    +--------+-----------+
    | root   | 127.0.0.1 |
    | myuser | localhost |
    | root   | localhost |
    +--------+-----------+
    02,
    > mysql -u myuser -p -t < d:\myproject\sqlscripts\testscript.sql
    Enter password: ********
    +--------------------+
    | Database           |
    +--------------------+
    | information_schema |
    | eastwind           |
    | mysql              |
    | test               |
    +--------------------+
    +--------+-----------+
    | user   | host      |
    +--------+-----------+
    | root   | 127.0.0.1 |
    | myuser | localhost |
    | root   | localhost |
    +--------+-----------+
    03,
    > mysql -u myuser -p -t < d:\myproject\sqlscripts\testscript.sql
    Enter password: ********
    +--------------------+
    | Database           |
    +--------------------+
    | information_schema |
    | eastwind           |
    | mysql              |
    | test               |
    +--------------------+
    +--------+-----------+
    | user   | host      |
    +--------+-----------+
    | root   | 127.0.0.1 |
    | myuser | localhost |
    | root   | localhost |
    +--------+-----------+
    04
  • > mysql -u myuser -p -t < d:\myproject\sqlscripts\testscript.sql
    Enter password: ********
    +--------------------+
    | Database           |
    +--------------------+
    | information_schema |
    | eastwind           |
    | mysql              |
    | test               |
    +--------------------+
    +--------+-----------+
    | user   | host      |
    +--------+-----------+
    | root   | 127.0.0.1 |
    | myuser | localhost |
    | root   | localhost |
    +--------+-----------+
    05,
    > mysql -u myuser -p -t < d:\myproject\sqlscripts\testscript.sql
    Enter password: ********
    +--------------------+
    | Database           |
    +--------------------+
    | information_schema |
    | eastwind           |
    | mysql              |
    | test               |
    +--------------------+
    +--------+-----------+
    | user   | host      |
    +--------+-----------+
    | root   | 127.0.0.1 |
    | myuser | localhost |
    | root   | localhost |
    +--------+-----------+
    06,
  • > mysql -u myuser -p -t < d:\myproject\sqlscripts\testscript.sql
    Enter password: ********
    +--------------------+
    | Database           |
    +--------------------+
    | information_schema |
    | eastwind           |
    | mysql              |
    | test               |
    +--------------------+
    +--------+-----------+
    | user   | host      |
    +--------+-----------+
    | root   | 127.0.0.1 |
    | myuser | localhost |
    | root   | localhost |
    +--------+-----------+
    07. base e,
    > mysql -u myuser -p -t < d:\myproject\sqlscripts\testscript.sql
    Enter password: ********
    +--------------------+
    | Database           |
    +--------------------+
    | information_schema |
    | eastwind           |
    | mysql              |
    | test               |
    +--------------------+
    +--------+-----------+
    | user   | host      |
    +--------+-----------+
    | root   | 127.0.0.1 |
    | myuser | localhost |
    | root   | localhost |
    +--------+-----------+
    08. base e,
    > mysql -u myuser -p -t < d:\myproject\sqlscripts\testscript.sql
    Enter password: ********
    +--------------------+
    | Database           |
    +--------------------+
    | information_schema |
    | eastwind           |
    | mysql              |
    | test               |
    +--------------------+
    +--------+-----------+
    | user   | host      |
    +--------+-----------+
    | root   | 127.0.0.1 |
    | myuser | localhost |
    | root   | localhost |
    +--------+-----------+
    09,
    > mysql -u myuser -p -t < d:\myproject\sqlscripts\testscript.sql
    Enter password: ********
    +--------------------+
    | Database           |
    +--------------------+
    | information_schema |
    | eastwind           |
    | mysql              |
    | test               |
    +--------------------+
    +--------+-----------+
    | user   | host      |
    +--------+-----------+
    | root   | 127.0.0.1 |
    | myuser | localhost |
    | root   | localhost |
    +--------+-----------+
    10,
    > mysql -u myuser -p -t < d:\myproject\sqlscripts\testscript.sql
    Enter password: ********
    +--------------------+
    | Database           |
    +--------------------+
    | information_schema |
    | eastwind           |
    | mysql              |
    | test               |
    +--------------------+
    +--------+-----------+
    | user   | host      |
    +--------+-----------+
    | root   | 127.0.0.1 |
    | myuser | localhost |
    | root   | localhost |
    +--------+-----------+
    11,
    > mysql -u myuser -p -t < d:\myproject\sqlscripts\testscript.sql
    Enter password: ********
    +--------------------+
    | Database           |
    +--------------------+
    | information_schema |
    | eastwind           |
    | mysql              |
    | test               |
    +--------------------+
    +--------+-----------+
    | user   | host      |
    +--------+-----------+
    | root   | 127.0.0.1 |
    | myuser | localhost |
    | root   | localhost |
    +--------+-----------+
    12,
    > mysql -u myuser -p -t < d:\myproject\sqlscripts\testscript.sql
    Enter password: ********
    +--------------------+
    | Database           |
    +--------------------+
    | information_schema |
    | eastwind           |
    | mysql              |
    | test               |
    +--------------------+
    +--------+-----------+
    | user   | host      |
    +--------+-----------+
    | root   | 127.0.0.1 |
    | myuser | localhost |
    | root   | localhost |
    +--------+-----------+
    13
  • > mysql -u myuser -p -t < d:\myproject\sqlscripts\testscript.sql
    Enter password: ********
    +--------------------+
    | Database           |
    +--------------------+
    | information_schema |
    | eastwind           |
    | mysql              |
    | test               |
    +--------------------+
    +--------+-----------+
    | user   | host      |
    +--------+-----------+
    | root   | 127.0.0.1 |
    | myuser | localhost |
    | root   | localhost |
    +--------+-----------+
    14,
    > mysql -u myuser -p -t < d:\myproject\sqlscripts\testscript.sql
    Enter password: ********
    +--------------------+
    | Database           |
    +--------------------+
    | information_schema |
    | eastwind           |
    | mysql              |
    | test               |
    +--------------------+
    +--------+-----------+
    | user   | host      |
    +--------+-----------+
    | root   | 127.0.0.1 |
    | myuser | localhost |
    | root   | localhost |
    +--------+-----------+
    15,
    > mysql -u myuser -p -t < d:\myproject\sqlscripts\testscript.sql
    Enter password: ********
    +--------------------+
    | Database           |
    +--------------------+
    | information_schema |
    | eastwind           |
    | mysql              |
    | test               |
    +--------------------+
    +--------+-----------+
    | user   | host      |
    +--------+-----------+
    | root   | 127.0.0.1 |
    | myuser | localhost |
    | root   | localhost |
    +--------+-----------+
    16,
    > mysql -u myuser -p -t < d:\myproject\sqlscripts\testscript.sql
    Enter password: ********
    +--------------------+
    | Database           |
    +--------------------+
    | information_schema |
    | eastwind           |
    | mysql              |
    | test               |
    +--------------------+
    +--------+-----------+
    | user   | host      |
    +--------+-----------+
    | root   | 127.0.0.1 |
    | myuser | localhost |
    | root   | localhost |
    +--------+-----------+
    17,
    > mysql -u myuser -p -t < d:\myproject\sqlscripts\testscript.sql
    Enter password: ********
    +--------------------+
    | Database           |
    +--------------------+
    | information_schema |
    | eastwind           |
    | mysql              |
    | test               |
    +--------------------+
    +--------+-----------+
    | user   | host      |
    +--------+-----------+
    | root   | 127.0.0.1 |
    | myuser | localhost |
    | root   | localhost |
    +--------+-----------+
    18,
    > mysql -u myuser -p -t < d:\myproject\sqlscripts\testscript.sql
    Enter password: ********
    +--------------------+
    | Database           |
    +--------------------+
    | information_schema |
    | eastwind           |
    | mysql              |
    | test               |
    +--------------------+
    +--------+-----------+
    | user   | host      |
    +--------+-----------+
    | root   | 127.0.0.1 |
    | myuser | localhost |
    | root   | localhost |
    +--------+-----------+
    19,
    > mysql -u myuser -p -t < d:\myproject\sqlscripts\testscript.sql
    Enter password: ********
    +--------------------+
    | Database           |
    +--------------------+
    | information_schema |
    | eastwind           |
    | mysql              |
    | test               |
    +--------------------+
    +--------+-----------+
    | user   | host      |
    +--------+-----------+
    | root   | 127.0.0.1 |
    | myuser | localhost |
    | root   | localhost |
    +--------+-----------+
    20,
    > mysql -u myuser -p -t < d:\myproject\sqlscripts\testscript.sql
    Enter password: ********
    +--------------------+
    | Database           |
    +--------------------+
    | information_schema |
    | eastwind           |
    | mysql              |
    | test               |
    +--------------------+
    +--------+-----------+
    | user   | host      |
    +--------+-----------+
    | root   | 127.0.0.1 |
    | myuser | localhost |
    | root   | localhost |
    +--------+-----------+
    21
  • > mysql -u myuser -p -t < d:\myproject\sqlscripts\testscript.sql
    Enter password: ********
    +--------------------+
    | Database           |
    +--------------------+
    | information_schema |
    | eastwind           |
    | mysql              |
    | test               |
    +--------------------+
    +--------+-----------+
    | user   | host      |
    +--------+-----------+
    | root   | 127.0.0.1 |
    | myuser | localhost |
    | root   | localhost |
    +--------+-----------+
    22,
    > mysql -u myuser -p -t < d:\myproject\sqlscripts\testscript.sql
    Enter password: ********
    +--------------------+
    | Database           |
    +--------------------+
    | information_schema |
    | eastwind           |
    | mysql              |
    | test               |
    +--------------------+
    +--------+-----------+
    | user   | host      |
    +--------+-----------+
    | root   | 127.0.0.1 |
    | myuser | localhost |
    | root   | localhost |
    +--------+-----------+
    23
  • > mysql -u myuser -p -t < d:\myproject\sqlscripts\testscript.sql
    Enter password: ********
    +--------------------+
    | Database           |
    +--------------------+
    | information_schema |
    | eastwind           |
    | mysql              |
    | test               |
    +--------------------+
    +--------+-----------+
    | user   | host      |
    +--------+-----------+
    | root   | 127.0.0.1 |
    | myuser | localhost |
    | root   | localhost |
    +--------+-----------+
    24. return the number of bits set to 1
  • > mysql -u myuser -p -t < d:\myproject\sqlscripts\testscript.sql
    Enter password: ********
    +--------------------+
    | Database           |
    +--------------------+
    | information_schema |
    | eastwind           |
    | mysql              |
    | test               |
    +--------------------+
    +--------+-----------+
    | user   | host      |
    +--------+-----------+
    | root   | 127.0.0.1 |
    | myuser | localhost |
    | root   | localhost |
    +--------+-----------+
    25,
    > mysql -u myuser -p -t < d:\myproject\sqlscripts\testscript.sql
    Enter password: ********
    +--------------------+
    | Database           |
    +--------------------+
    | information_schema |
    | eastwind           |
    | mysql              |
    | test               |
    +--------------------+
    +--------+-----------+
    | user   | host      |
    +--------+-----------+
    | root   | 127.0.0.1 |
    | myuser | localhost |
    | root   | localhost |
    +--------+-----------+
    26
  • > mysql -u myuser -p -t < d:\myproject\sqlscripts\testscript.sql
    Enter password: ********
    +--------------------+
    | Database           |
    +--------------------+
    | information_schema |
    | eastwind           |
    | mysql              |
    | test               |
    +--------------------+
    +--------+-----------+
    | user   | host      |
    +--------+-----------+
    | root   | 127.0.0.1 |
    | myuser | localhost |
    | root   | localhost |
    +--------+-----------+
    27,
  • > mysql -u myuser -p -t < d:\myproject\sqlscripts\testscript.sql
    Enter password: ********
    +--------------------+
    | Database           |
    +--------------------+
    | information_schema |
    | eastwind           |
    | mysql              |
    | test               |
    +--------------------+
    +--------+-----------+
    | user   | host      |
    +--------+-----------+
    | root   | 127.0.0.1 |
    | myuser | localhost |
    | root   | localhost |
    +--------+-----------+
    28. Định dạng số float đã cho với các vị trí thập phân đã cho.
    > mysql -u myuser -p -t < d:\myproject\sqlscripts\testscript.sql
    Enter password: ********
    +--------------------+
    | Database           |
    +--------------------+
    | information_schema |
    | eastwind           |
    | mysql              |
    | test               |
    +--------------------+
    +--------+-----------+
    | user   | host      |
    +--------+-----------+
    | root   | 127.0.0.1 |
    | myuser | localhost |
    | root   | localhost |
    +--------+-----------+
    29. cho phép phủ định
    > mysql -u myuser -p -t < d:\myproject\sqlscripts\testscript.sql
    Enter password: ********
    +--------------------+
    | Database           |
    +--------------------+
    | information_schema |
    | eastwind           |
    | mysql              |
    | test               |
    +--------------------+
    +--------+-----------+
    | user   | host      |
    +--------+-----------+
    | root   | 127.0.0.1 |
    | myuser | localhost |
    | root   | localhost |
    +--------+-----------+
    30

Quy ước đặt tên

quy ước đặt tên ưa thích của tôi là như sau

  • Tên cơ sở dữ liệu là một danh từ số ít bao gồm một hoặc nhiều từ, viết thường kết hợp với gạch dưới
    > mysql -u myuser -p -t < d:\myproject\sqlscripts\testscript.sql
    Enter password: ********
    +--------------------+
    | Database           |
    +--------------------+
    | information_schema |
    | eastwind           |
    | mysql              |
    | test               |
    +--------------------+
    +--------+-----------+
    | user   | host      |
    +--------+-----------+
    | root   | 127.0.0.1 |
    | myuser | localhost |
    | root   | localhost |
    +--------+-----------+
    31, e. g. ,
    > mysql -u myuser -p -t < d:\myproject\sqlscripts\testscript.sql
    Enter password: ********
    +--------------------+
    | Database           |
    +--------------------+
    | information_schema |
    | eastwind           |
    | mysql              |
    | test               |
    +--------------------+
    +--------+-----------+
    | user   | host      |
    +--------+-----------+
    | root   | 127.0.0.1 |
    | myuser | localhost |
    | root   | localhost |
    +--------+-----------+
    32,
    > mysql -u myuser -p -t < d:\myproject\sqlscripts\testscript.sql
    Enter password: ********
    +--------------------+
    | Database           |
    +--------------------+
    | information_schema |
    | eastwind           |
    | mysql              |
    | test               |
    +--------------------+
    +--------+-----------+
    | user   | host      |
    +--------+-----------+
    | root   | 127.0.0.1 |
    | myuser | localhost |
    | root   | localhost |
    +--------+-----------+
    33
  • Tên bảng là danh từ số nhiều bao gồm một hoặc nhiều từ, viết thường nối với dấu gạch dưới
    > mysql -u myuser -p -t < d:\myproject\sqlscripts\testscript.sql
    Enter password: ********
    +--------------------+
    | Database           |
    +--------------------+
    | information_schema |
    | eastwind           |
    | mysql              |
    | test               |
    +--------------------+
    +--------+-----------+
    | user   | host      |
    +--------+-----------+
    | root   | 127.0.0.1 |
    | myuser | localhost |
    | root   | localhost |
    +--------+-----------+
    31, e. g. ,
    > mysql -u myuser -p -t < d:\myproject\sqlscripts\testscript.sql
    Enter password: ********
    +--------------------+
    | Database           |
    +--------------------+
    | information_schema |
    | eastwind           |
    | mysql              |
    | test               |
    +--------------------+
    +--------+-----------+
    | user   | host      |
    +--------+-----------+
    | root   | 127.0.0.1 |
    | myuser | localhost |
    | root   | localhost |
    +--------+-----------+
    35,
    > mysql -u myuser -p -t < d:\myproject\sqlscripts\testscript.sql
    Enter password: ********
    +--------------------+
    | Database           |
    +--------------------+
    | information_schema |
    | eastwind           |
    | mysql              |
    | test               |
    +--------------------+
    +--------+-----------+
    | user   | host      |
    +--------+-----------+
    | root   | 127.0.0.1 |
    | myuser | localhost |
    | root   | localhost |
    +--------+-----------+
    36,
    > mysql -u myuser -p -t < d:\myproject\sqlscripts\testscript.sql
    Enter password: ********
    +--------------------+
    | Database           |
    +--------------------+
    | information_schema |
    | eastwind           |
    | mysql              |
    | test               |
    +--------------------+
    +--------+-----------+
    | user   | host      |
    +--------+-----------+
    | root   | 127.0.0.1 |
    | myuser | localhost |
    | root   | localhost |
    +--------+-----------+
    37,
    > mysql -u myuser -p -t < d:\myproject\sqlscripts\testscript.sql
    Enter password: ********
    +--------------------+
    | Database           |
    +--------------------+
    | information_schema |
    | eastwind           |
    | mysql              |
    | test               |
    +--------------------+
    +--------+-----------+
    | user   | host      |
    +--------+-----------+
    | root   | 127.0.0.1 |
    | myuser | localhost |
    | root   | localhost |
    +--------+-----------+
    38,
    > mysql -u myuser -p -t < d:\myproject\sqlscripts\testscript.sql
    Enter password: ********
    +--------------------+
    | Database           |
    +--------------------+
    | information_schema |
    | eastwind           |
    | mysql              |
    | test               |
    +--------------------+
    +--------+-----------+
    | user   | host      |
    +--------+-----------+
    | root   | 127.0.0.1 |
    | myuser | localhost |
    | root   | localhost |
    +--------+-----------+
    39,
    > mysql -u myuser -p -t < d:\myproject\sqlscripts\testscript.sql
    Enter password: ********
    +--------------------+
    | Database           |
    +--------------------+
    | information_schema |
    | eastwind           |
    | mysql              |
    | test               |
    +--------------------+
    +--------+-----------+
    | user   | host      |
    +--------+-----------+
    | root   | 127.0.0.1 |
    | myuser | localhost |
    | root   | localhost |
    +--------+-----------+
    40. Bảng nối được tạo để hỗ trợ mối quan hệ nhiều-nhiều giữa hai bảng có thể bao gồm cả tên bảng, (e. g. ,
    > mysql -u myuser -p -t < d:\myproject\sqlscripts\testscript.sql
    Enter password: ********
    +--------------------+
    | Database           |
    +--------------------+
    | information_schema |
    | eastwind           |
    | mysql              |
    | test               |
    +--------------------+
    +--------+-----------+
    | user   | host      |
    +--------+-----------+
    | root   | 127.0.0.1 |
    | myuser | localhost |
    | root   | localhost |
    +--------+-----------+
    41,
    > mysql -u myuser -p -t < d:\myproject\sqlscripts\testscript.sql
    Enter password: ********
    +--------------------+
    | Database           |
    +--------------------+
    | information_schema |
    | eastwind           |
    | mysql              |
    | test               |
    +--------------------+
    +--------+-----------+
    | user   | host      |
    +--------+-----------+
    | root   | 127.0.0.1 |
    | myuser | localhost |
    | root   | localhost |
    +--------+-----------+
    42) hoặc một động từ chỉ hành động (e. g. ,
    > mysql -u myuser -p -t < d:\myproject\sqlscripts\testscript.sql
    Enter password: ********
    +--------------------+
    | Database           |
    +--------------------+
    | information_schema |
    | eastwind           |
    | mysql              |
    | test               |
    +--------------------+
    +--------+-----------+
    | user   | host      |
    +--------+-----------+
    | root   | 127.0.0.1 |
    | myuser | localhost |
    | root   | localhost |
    +--------+-----------+
    43 (tác giả viết sách))
  • Tên cột là một danh từ số ít bao gồm một hoặc nhiều từ, trong chữ thường được nối với dấu gạch dưới hoặc trong trường hợp lạc đà bắt đầu bằng một chữ cái viết thường, e. g.
    > mysql -u myuser -p -t < d:\myproject\sqlscripts\testscript.sql
    Enter password: ********
    +--------------------+
    | Database           |
    +--------------------+
    | information_schema |
    | eastwind           |
    | mysql              |
    | test               |
    +--------------------+
    +--------+-----------+
    | user   | host      |
    +--------+-----------+
    | root   | 127.0.0.1 |
    | myuser | localhost |
    | root   | localhost |
    +--------+-----------+
    44,
    > mysql -u myuser -p -t < d:\myproject\sqlscripts\testscript.sql
    Enter password: ********
    +--------------------+
    | Database           |
    +--------------------+
    | information_schema |
    | eastwind           |
    | mysql              |
    | test               |
    +--------------------+
    +--------+-----------+
    | user   | host      |
    +--------+-----------+
    | root   | 127.0.0.1 |
    | myuser | localhost |
    | root   | localhost |
    +--------+-----------+
    45,
    > mysql -u myuser -p -t < d:\myproject\sqlscripts\testscript.sql
    Enter password: ********
    +--------------------+
    | Database           |
    +--------------------+
    | information_schema |
    | eastwind           |
    | mysql              |
    | test               |
    +--------------------+
    +--------+-----------+
    | user   | host      |
    +--------+-----------+
    | root   | 127.0.0.1 |
    | myuser | localhost |
    | root   | localhost |
    +--------+-----------+
    46 và
    > mysql -u myuser -p -t < d:\myproject\sqlscripts\testscript.sql
    Enter password: ********
    +--------------------+
    | Database           |
    +--------------------+
    | information_schema |
    | eastwind           |
    | mysql              |
    | test               |
    +--------------------+
    +--------+-----------+
    | user   | host      |
    +--------+-----------+
    | root   | 127.0.0.1 |
    | myuser | localhost |
    | root   | localhost |
    +--------+-----------+
    47
  • MySQL hiển thị tên cơ sở dữ liệu và tên bảng ở dạng chữ thường, nhưng tên cột ở dạng ban đầu
  • Tốt nhất là KHÔNG bao gồm các ký tự đặc biệt, đặc biệt là để trống, trong tên (trừ khi bạn đang muốn thử thách hơn - những tên này phải được trích dẫn lại). Tránh các từ dành riêng của MySQL, đặc biệt là
    > mysql -u myuser -p -t < d:\myproject\sqlscripts\testscript.sql
    Enter password: ********
    +--------------------+
    | Database           |
    +--------------------+
    | information_schema |
    | eastwind           |
    | mysql              |
    | test               |
    +--------------------+
    +--------+-----------+
    | user   | host      |
    +--------+-----------+
    | root   | 127.0.0.1 |
    | myuser | localhost |
    | root   | localhost |
    +--------+-----------+
    48,
    > mysql -u myuser -p -t < d:\myproject\sqlscripts\testscript.sql
    Enter password: ********
    +--------------------+
    | Database           |
    +--------------------+
    | information_schema |
    | eastwind           |
    | mysql              |
    | test               |
    +--------------------+
    +--------+-----------+
    | user   | host      |
    +--------+-----------+
    | root   | 127.0.0.1 |
    | myuser | localhost |
    | root   | localhost |
    +--------+-----------+
    49,
    > mysql -u myuser -p -t < d:\myproject\sqlscripts\testscript.sql
    Enter password: ********
    +--------------------+
    | Database           |
    +--------------------+
    | information_schema |
    | eastwind           |
    | mysql              |
    | test               |
    +--------------------+
    +--------+-----------+
    | user   | host      |
    +--------+-----------+
    | root   | 127.0.0.1 |
    | myuser | localhost |
    | root   | localhost |
    +--------+-----------+
    50,
    > mysql -u myuser -p -t < d:\myproject\sqlscripts\testscript.sql
    Enter password: ********
    +--------------------+
    | Database           |
    +--------------------+
    | information_schema |
    | eastwind           |
    | mysql              |
    | test               |
    +--------------------+
    +--------+-----------+
    | user   | host      |
    +--------+-----------+
    | root   | 127.0.0.1 |
    | myuser | localhost |
    | root   | localhost |
    +--------+-----------+
    51 (thay vào đó được sử dụng ____18_______46, ____18_______53 và ______18_______36). Trích dẫn ngược tên, nếu chúng chứa các ký tự đặc biệt hoặc là các từ dành riêng cho SQL, v.v. g. ,
    > mysql -u myuser -p < d:\myproject\sqlscripts\testscript.sql > output.txt
    14, `đặt hàng`,
    > mysql -u myuser -p -t < d:\myproject\sqlscripts\testscript.sql
    Enter password: ********
    +--------------------+
    | Database           |
    +--------------------+
    | information_schema |
    | eastwind           |
    | mysql              |
    | test               |
    +--------------------+
    +--------+-----------+
    | user   | host      |
    +--------+-----------+
    | root   | 127.0.0.1 |
    | myuser | localhost |
    | root   | localhost |
    +--------+-----------+
    56. Đó là một thực hành tốt để luôn trích dẫn ngược tên trong tập lệnh

[TODO] Nối chữ thường hay chữ thường với dấu gạch dưới?

Các kiểu dữ liệu MySQL

Là một lập trình viên, việc hiểu các kiểu dữ liệu là điều cần thiết để hiểu hoạt động của hệ thống cơ sở dữ liệu cơ bản. (Đọc "Hướng dẫn về Biểu diễn Dữ liệu - Số nguyên, Số dấu phẩy động và Bộ ký tự". )

MySQL hỗ trợ nhiều loại dữ liệu, được nhóm thành 3 loại

  1. số. bao gồm số nguyên, số dấu phẩy động, bit và boolean
  2. Sợi dây. bao gồm các chuỗi có độ dài cố định và độ dài thay đổi, dữ liệu nhị phân và bộ sưu tập (liệt kê và đặt)
  3. Ngày giờ. Ngày và giờ cực kỳ quan trọng trong 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 -u myuser -p -t < d:\myproject\sqlscripts\testscript.sql
    Enter password: ********
    +--------------------+
    | Database           |
    +--------------------+
    | information_schema |
    | eastwind           |
    | mysql              |
    | test               |
    +--------------------+
    +--------+-----------+
    | user   | host      |
    +--------+-----------+
    | root   | 127.0.0.1 |
    | myuser | localhost |
    | root   | localhost |
    +--------+-----------+
    57,
    > mysql -u myuser -p -t < d:\myproject\sqlscripts\testscript.sql
    Enter password: ********
    +--------------------+
    | Database           |
    +--------------------+
    | information_schema |
    | eastwind           |
    | mysql              |
    | test               |
    +--------------------+
    +--------+-----------+
    | user   | host      |
    +--------+-----------+
    | root   | 127.0.0.1 |
    | myuser | localhost |
    | root   | localhost |
    +--------+-----------+
    58). Cũng cần phải đánh dấu thời gian tạo và cập nhật lần cuối các bản ghi để xem xét kiểm tra và bảo mật. MySQL cung cấp nhiều kiểu dữ liệu ngày/giờ (e. g. ,
    > mysql -u myuser -p -t < d:\myproject\sqlscripts\testscript.sql
    Enter password: ********
    +--------------------+
    | Database           |
    +--------------------+
    | information_schema |
    | eastwind           |
    | mysql              |
    | test               |
    +--------------------+
    +--------+-----------+
    | user   | host      |
    +--------+-----------+
    | root   | 127.0.0.1 |
    | myuser | localhost |
    | root   | localhost |
    +--------+-----------+
    59,
    > mysql -u myuser -p -t < d:\myproject\sqlscripts\testscript.sql
    Enter password: ********
    +--------------------+
    | Database           |
    +--------------------+
    | information_schema |
    | eastwind           |
    | mysql              |
    | test               |
    +--------------------+
    +--------+-----------+
    | user   | host      |
    +--------+-----------+
    | root   | 127.0.0.1 |
    | myuser | localhost |
    | root   | localhost |
    +--------+-----------+
    60,
    > mysql -u myuser -p -t < d:\myproject\sqlscripts\testscript.sql
    Enter password: ********
    +--------------------+
    | Database           |
    +--------------------+
    | information_schema |
    | eastwind           |
    | mysql              |
    | test               |
    +--------------------+
    +--------+-----------+
    | user   | host      |
    +--------+-----------+
    | root   | 127.0.0.1 |
    | myuser | localhost |
    | root   | localhost |
    +--------+-----------+
    61,
    > mysql -u myuser -p -t < d:\myproject\sqlscripts\testscript.sql
    Enter password: ********
    +--------------------+
    | Database           |
    +--------------------+
    | information_schema |
    | eastwind           |
    | mysql              |
    | test               |
    +--------------------+
    +--------+-----------+
    | user   | host      |
    +--------+-----------+
    | root   | 127.0.0.1 |
    | myuser | localhost |
    | root   | localhost |
    +--------+-----------+
    62,
    > mysql -u myuser -p -t < d:\myproject\sqlscripts\testscript.sql
    Enter password: ********
    +--------------------+
    | Database           |
    +--------------------+
    | information_schema |
    | eastwind           |
    | mysql              |
    | test               |
    +--------------------+
    +--------+-----------+
    | user   | host      |
    +--------+-----------+
    | root   | 127.0.0.1 |
    | myuser | localhost |
    | root   | localhost |
    +--------+-----------+
    63) và các hàm tích hợp để thao tác ngày/giờ

Số - Số nguyên

Số nguyên, theo mặc định, là số nguyên có dấu;

Bạn có thể đặt chiều rộng hiển thị, sử dụng cú pháp

> mysql -u myuser -p -t < d:\myproject\sqlscripts\testscript.sql
Enter password: ********
+--------------------+
| Database           |
+--------------------+
| information_schema |
| eastwind           |
| mysql              |
| test               |
+--------------------+
+--------+-----------+
| user   | host      |
+--------+-----------+
| root   | 127.0.0.1 |
| myuser | localhost |
| root   | localhost |
+--------+-----------+
65, trong đó
> mysql -u myuser -p -t < d:\myproject\sqlscripts\testscript.sql
Enter password: ********
+--------------------+
| Database           |
+--------------------+
| information_schema |
| eastwind           |
| mysql              |
| test               |
+--------------------+
+--------+-----------+
| user   | host      |
+--------+-----------+
| root   | 127.0.0.1 |
| myuser | localhost |
| root   | localhost |
+--------+-----------+
66 là chiều rộng trường hiển thị tối đa 255, e. g. ,
> mysql -u myuser -p -t < d:\myproject\sqlscripts\testscript.sql
Enter password: ********
+--------------------+
| Database           |
+--------------------+
| information_schema |
| eastwind           |
| mysql              |
| test               |
+--------------------+
+--------+-----------+
| user   | host      |
+--------+-----------+
| root   | 127.0.0.1 |
| myuser | localhost |
| root   | localhost |
+--------+-----------+
67. Bạn cũng có thể chỉ định
> mysql -u myuser -p -t < d:\myproject\sqlscripts\testscript.sql
Enter password: ********
+--------------------+
| Database           |
+--------------------+
| information_schema |
| eastwind           |
| mysql              |
| test               |
+--------------------+
+--------+-----------+
| user   | host      |
+--------+-----------+
| root   | 127.0.0.1 |
| myuser | localhost |
| root   | localhost |
+--------+-----------+
68 để đệm các số được hiển thị bằng các số 0 ở đầu (chỉ dành cho
> mysql -u myuser -p -t < d:\myproject\sqlscripts\testscript.sql
Enter password: ********
+--------------------+
| Database           |
+--------------------+
| information_schema |
| eastwind           |
| mysql              |
| test               |
+--------------------+
+--------+-----------+
| user   | host      |
+--------+-----------+
| root   | 127.0.0.1 |
| myuser | localhost |
| root   | localhost |
+--------+-----------+
64) thay vì để trống. Độ rộng trường chỉ ảnh hưởng đến màn hình chứ không ảnh hưởng đến số được lưu trữ

MySQL hỗ trợ nhiều loại số nguyên với độ chính xác và phạm vi khác nhau

  • TINYINT. Độ chính xác 8-bit. Phạm vi là
    > mysql -u myuser -p -t < d:\myproject\sqlscripts\testscript.sql
    Enter password: ********
    +--------------------+
    | Database           |
    +--------------------+
    | information_schema |
    | eastwind           |
    | mysql              |
    | test               |
    +--------------------+
    +--------+-----------+
    | user   | host      |
    +--------+-----------+
    | root   | 127.0.0.1 |
    | myuser | localhost |
    | root   | localhost |
    +--------+-----------+
    70 cho số nguyên có dấu và
    > mysql -u myuser -p -t < d:\myproject\sqlscripts\testscript.sql
    Enter password: ********
    +--------------------+
    | Database           |
    +--------------------+
    | information_schema |
    | eastwind           |
    | mysql              |
    | test               |
    +--------------------+
    +--------+-----------+
    | user   | host      |
    +--------+-----------+
    | root   | 127.0.0.1 |
    | myuser | localhost |
    | root   | localhost |
    +--------+-----------+
    71 cho số nguyên không dấu
  • NHỎ. Độ chính xác 16-bit. Phạm vi là
    > mysql -u myuser -p -t < d:\myproject\sqlscripts\testscript.sql
    Enter password: ********
    +--------------------+
    | Database           |
    +--------------------+
    | information_schema |
    | eastwind           |
    | mysql              |
    | test               |
    +--------------------+
    +--------+-----------+
    | user   | host      |
    +--------+-----------+
    | root   | 127.0.0.1 |
    | myuser | localhost |
    | root   | localhost |
    +--------+-----------+
    72 cho số nguyên có dấu và
    > mysql -u myuser -p -t < d:\myproject\sqlscripts\testscript.sql
    Enter password: ********
    +--------------------+
    | Database           |
    +--------------------+
    | information_schema |
    | eastwind           |
    | mysql              |
    | test               |
    +--------------------+
    +--------+-----------+
    | user   | host      |
    +--------+-----------+
    | root   | 127.0.0.1 |
    | myuser | localhost |
    | root   | localhost |
    +--------+-----------+
    73 cho số nguyên không dấu
  • TRUNG BÌNH. Độ chính xác 24-bit. Phạm vi là
    > mysql -u myuser -p -t < d:\myproject\sqlscripts\testscript.sql
    Enter password: ********
    +--------------------+
    | Database           |
    +--------------------+
    | information_schema |
    | eastwind           |
    | mysql              |
    | test               |
    +--------------------+
    +--------+-----------+
    | user   | host      |
    +--------+-----------+
    | root   | 127.0.0.1 |
    | myuser | localhost |
    | root   | localhost |
    +--------+-----------+
    74 cho số nguyên có dấu và
    > mysql -u myuser -p -t < d:\myproject\sqlscripts\testscript.sql
    Enter password: ********
    +--------------------+
    | Database           |
    +--------------------+
    | information_schema |
    | eastwind           |
    | mysql              |
    | test               |
    +--------------------+
    +--------+-----------+
    | user   | host      |
    +--------+-----------+
    | root   | 127.0.0.1 |
    | myuser | localhost |
    | root   | localhost |
    +--------+-----------+
    75 cho số nguyên không dấu
  • INT (hoặc INTEGER). Độ chính xác 32-bit. Phạm vi là
    > mysql -u myuser -p -t < d:\myproject\sqlscripts\testscript.sql
    Enter password: ********
    +--------------------+
    | Database           |
    +--------------------+
    | information_schema |
    | eastwind           |
    | mysql              |
    | test               |
    +--------------------+
    +--------+-----------+
    | user   | host      |
    +--------+-----------+
    | root   | 127.0.0.1 |
    | myuser | localhost |
    | root   | localhost |
    +--------+-----------+
    76 cho số nguyên có dấu và
    > mysql -u myuser -p -t < d:\myproject\sqlscripts\testscript.sql
    Enter password: ********
    +--------------------+
    | Database           |
    +--------------------+
    | information_schema |
    | eastwind           |
    | mysql              |
    | test               |
    +--------------------+
    +--------+-----------+
    | user   | host      |
    +--------+-----------+
    | root   | 127.0.0.1 |
    | myuser | localhost |
    | root   | localhost |
    +--------+-----------+
    77 cho số nguyên không dấu
  • LỚN. Độ chính xác 64-bit. Phạm vi là
    > mysql -u myuser -p -t < d:\myproject\sqlscripts\testscript.sql
    Enter password: ********
    +--------------------+
    | Database           |
    +--------------------+
    | information_schema |
    | eastwind           |
    | mysql              |
    | test               |
    +--------------------+
    +--------+-----------+
    | user   | host      |
    +--------+-----------+
    | root   | 127.0.0.1 |
    | myuser | localhost |
    | root   | localhost |
    +--------+-----------+
    78 cho số nguyên có dấu và
    > mysql -u myuser -p -t < d:\myproject\sqlscripts\testscript.sql
    Enter password: ********
    +--------------------+
    | Database           |
    +--------------------+
    | information_schema |
    | eastwind           |
    | mysql              |
    | test               |
    +--------------------+
    +--------+-----------+
    | user   | host      |
    +--------+-----------+
    | root   | 127.0.0.1 |
    | myuser | localhost |
    | root   | localhost |
    +--------+-----------+
    79 cho số nguyên không dấu
  • BIT(n). Một cột n-bit. Để nhập một giá trị bit, hãy sử dụng cú pháp
    > mysql -u myuser -p -t < d:\myproject\sqlscripts\testscript.sql
    Enter password: ********
    +--------------------+
    | Database           |
    +--------------------+
    | information_schema |
    | eastwind           |
    | mysql              |
    | test               |
    +--------------------+
    +--------+-----------+
    | user   | host      |
    +--------+-----------+
    | root   | 127.0.0.1 |
    | myuser | localhost |
    | root   | localhost |
    +--------+-----------+
    80 hoặc
    > mysql -u myuser -p -t < d:\myproject\sqlscripts\testscript.sql
    Enter password: ********
    +--------------------+
    | Database           |
    +--------------------+
    | information_schema |
    | eastwind           |
    | mysql              |
    | test               |
    +--------------------+
    +--------+-----------+
    | user   | host      |
    +--------+-----------+
    | root   | 127.0.0.1 |
    | myuser | localhost |
    | root   | localhost |
    +--------+-----------+
    81, e. g. ,
    > mysql -u myuser -p -t < d:\myproject\sqlscripts\testscript.sql
    Enter password: ********
    +--------------------+
    | Database           |
    +--------------------+
    | information_schema |
    | eastwind           |
    | mysql              |
    | test               |
    +--------------------+
    +--------+-----------+
    | user   | host      |
    +--------+-----------+
    | root   | 127.0.0.1 |
    | myuser | localhost |
    | root   | localhost |
    +--------+-----------+
    82,
    > mysql -u myuser -p -t < d:\myproject\sqlscripts\testscript.sql
    Enter password: ********
    +--------------------+
    | Database           |
    +--------------------+
    | information_schema |
    | eastwind           |
    | mysql              |
    | test               |
    +--------------------+
    +--------+-----------+
    | user   | host      |
    +--------+-----------+
    | root   | 127.0.0.1 |
    | myuser | localhost |
    | root   | localhost |
    +--------+-----------+
    83
  • BOOLEAN (or BOOL). giống như
    > mysql -u myuser -p -t < d:\myproject\sqlscripts\testscript.sql
    Enter password: ********
    +--------------------+
    | Database           |
    +--------------------+
    | information_schema |
    | eastwind           |
    | mysql              |
    | test               |
    +--------------------+
    +--------+-----------+
    | user   | host      |
    +--------+-----------+
    | root   | 127.0.0.1 |
    | myuser | localhost |
    | root   | localhost |
    +--------+-----------+
    84 (với phạm vi từ -128 đến 127, độ rộng trường hiển thị là 1). Giá trị bằng 0 được coi là sai; . Bạn cũng có thể sử dụng
    > mysql -u myuser -p -t < d:\myproject\sqlscripts\testscript.sql
    Enter password: ********
    +--------------------+
    | Database           |
    +--------------------+
    | information_schema |
    | eastwind           |
    | mysql              |
    | test               |
    +--------------------+
    +--------+-----------+
    | user   | host      |
    +--------+-----------+
    | root   | 127.0.0.1 |
    | myuser | localhost |
    | root   | localhost |
    +--------+-----------+
    85 để lưu trữ giá trị boolean

Chọn đúng loại số nguyên rất quan trọng để tối ưu hóa việc sử dụng bộ nhớ và hiệu quả tính toán. Ví dụ: đối với cột số nguyên có phạm vi từ 1 đến 9999, hãy sử dụng

> mysql -u myuser -p -t < d:\myproject\sqlscripts\testscript.sql
Enter password: ********
+--------------------+
| Database           |
+--------------------+
| information_schema |
| eastwind           |
| mysql              |
| test               |
+--------------------+
+--------+-----------+
| user   | host      |
+--------+-----------+
| root   | 127.0.0.1 |
| myuser | localhost |
| root   | localhost |
+--------+-----------+
86. đối với 1 đến 9999999, hãy sử dụng
> mysql -u myuser -p -t < d:\myproject\sqlscripts\testscript.sql
Enter password: ********
+--------------------+
| Database           |
+--------------------+
| information_schema |
| eastwind           |
| mysql              |
| test               |
+--------------------+
+--------+-----------+
| user   | host      |
+--------+-----------+
| root   | 127.0.0.1 |
| myuser | localhost |
| root   | localhost |
+--------+-----------+
87 (đủ cho một doanh nghiệp nhỏ, nhưng luôn dành nhiều chỗ hơn cho việc mở rộng trong tương lai)

Số nguyên (và số dấu phẩy động sẽ được thảo luận sau) có thể được khai báo là

> mysql -u myuser -p -t < d:\myproject\sqlscripts\testscript.sql
Enter password: ********
+--------------------+
| Database           |
+--------------------+
| information_schema |
| eastwind           |
| mysql              |
| test               |
+--------------------+
+--------+-----------+
| user   | host      |
+--------+-----------+
| root   | 127.0.0.1 |
| myuser | localhost |
| root   | localhost |
+--------+-----------+
88, với giá trị bắt đầu mặc định là 1. Khi bạn chèn một
> mysql -u myuser -p < d:\myproject\sqlscripts\testscript.sql > output.txt
89 (được khuyến nghị) (hoặc 0 hoặc một giá trị bị thiếu) vào cột
> mysql -u myuser -p -t < d:\myproject\sqlscripts\testscript.sql
Enter password: ********
+--------------------+
| Database           |
+--------------------+
| information_schema |
| eastwind           |
| mysql              |
| test               |
+--------------------+
+--------+-----------+
| user   | host      |
+--------+-----------+
| root   | 127.0.0.1 |
| myuser | localhost |
| root   | localhost |
+--------+-----------+
88, 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 bất kỳ giá trị hợp lệ nào vào cột
> mysql -u myuser -p -t < d:\myproject\sqlscripts\testscript.sql
Enter password: ********
+--------------------+
| Database           |
+--------------------+
| information_schema |
| eastwind           |
| mysql              |
| test               |
+--------------------+
+--------+-----------+
| user   | host      |
+--------+-----------+
| root   | 127.0.0.1 |
| myuser | localhost |
| root   | localhost |
+--------+-----------+
88, bỏ qua phần tăng tự động. Hãy lưu ý rằng
> mysql -u myuser -p -t < d:\myproject\sqlscripts\testscript.sql
Enter password: ********
+--------------------+
| Database           |
+--------------------+
| information_schema |
| eastwind           |
| mysql              |
| test               |
+--------------------+
+--------+-----------+
| user   | host      |
+--------+-----------+
| root   | 127.0.0.1 |
| myuser | localhost |
| root   | localhost |
+--------+-----------+
92 tiếp theo sẽ không thành công nếu
> mysql -u myuser -p -t < d:\myproject\sqlscripts\testscript.sql
Enter password: ********
+--------------------+
| Database           |
+--------------------+
| information_schema |
| eastwind           |
| mysql              |
| test               |
+--------------------+
+--------+-----------+
| user   | host      |
+--------+-----------+
| root   | 127.0.0.1 |
| myuser | localhost |
| root   | localhost |
+--------+-----------+
92 cuối cùng đã đạt đến giá trị tối đa. Do đó, nên sử dụng
> mysql -u myuser -p -t < d:\myproject\sqlscripts\testscript.sql
Enter password: ********
+--------------------+
| Database           |
+--------------------+
| information_schema |
| eastwind           |
| mysql              |
| test               |
+--------------------+
+--------+-----------+
| user   | host      |
+--------+-----------+
| root   | 127.0.0.1 |
| myuser | localhost |
| root   | localhost |
+--------+-----------+
94 cho cột
> mysql -u myuser -p -t < d:\myproject\sqlscripts\testscript.sql
Enter password: ********
+--------------------+
| Database           |
+--------------------+
| information_schema |
| eastwind           |
| mysql              |
| test               |
+--------------------+
+--------+-----------+
| user   | host      |
+--------+-----------+
| root   | 127.0.0.1 |
| myuser | localhost |
| root   | localhost |
+--------+-----------+
88 để tránh xử lý chạy quá mức. Chỉ có thể có một cột
> mysql -u myuser -p -t < d:\myproject\sqlscripts\testscript.sql
Enter password: ********
+--------------------+
| Database           |
+--------------------+
| information_schema |
| eastwind           |
| mysql              |
| test               |
+--------------------+
+--------+-----------+
| user   | host      |
+--------+-----------+
| root   | 127.0.0.1 |
| myuser | localhost |
| root   | localhost |
+--------+-----------+
88 trong một bảng và cột đó phải được xác định là khóa

Ví dụ (Kiểm tra kiểu dữ liệu số nguyên). Đọc "_______18_______97"

Ví dụ (Thử nghiệm AUTO_INCREMENT). autoincrement_arena. sql

Số - Số dấu phẩy động & dấu phẩy động

MySQL hỗ trợ cả điểm động xấp xỉ (_______18_______98 và

> mysql -u myuser -p -t < d:\myproject\sqlscripts\testscript.sql
Enter password: ********
+--------------------+
| Database           |
+--------------------+
| information_schema |
| eastwind           |
| mysql              |
| test               |
+--------------------+
+--------+-----------+
| user   | host      |
+--------+-----------+
| root   | 127.0.0.1 |
| myuser | localhost |
| root   | localhost |
+--------+-----------+
99) và điểm cố định chính xác (
shell> mysql -u myuser -p -t -vvv < d:\myproject\sqlscripts\testscript.sql
Enter password: ********
--------------
SHOW DATABASES
--------------
   
+--------------------+
| Database           |
+--------------------+
| information_schema |
| eastwind           |
| mysql              |
| test               |
+--------------------+
4 rows in set (0.00 sec)
   
--------------
SELECT user, host FROM user
--------------
   
+--------+-----------+
| user   | host      |
+--------+-----------+
| root   | 127.0.0.1 |
| myuser | localhost |
| root   | localhost |
+--------+-----------+
4 rows in set (0.00 sec)
   
Bye
00)

  • TRÔI NỔI. Số dấu phẩy động chính xác đơn 32 bit. Bạn có thể chỉ định
    > mysql -u myuser -p -t < d:\myproject\sqlscripts\testscript.sql
    Enter password: ********
    +--------------------+
    | Database           |
    +--------------------+
    | information_schema |
    | eastwind           |
    | mysql              |
    | test               |
    +--------------------+
    +--------+-----------+
    | user   | host      |
    +--------+-----------+
    | root   | 127.0.0.1 |
    | myuser | localhost |
    | root   | localhost |
    +--------+-----------+
    64 để không cho phép số âm và
    > mysql -u myuser -p -t < d:\myproject\sqlscripts\testscript.sql
    Enter password: ********
    +--------------------+
    | Database           |
    +--------------------+
    | information_schema |
    | eastwind           |
    | mysql              |
    | test               |
    +--------------------+
    +--------+-----------+
    | user   | host      |
    +--------+-----------+
    | root   | 127.0.0.1 |
    | myuser | localhost |
    | root   | localhost |
    +--------+-----------+
    68 để đệm số được hiển thị bằng số không
  • NHÂN ĐÔI (hoặc CHÍNH XÁC NHÂN ĐÔI hoặc THỰC). Số dấu phẩy động chính xác kép 64 bit
  • DECIMAL(n, d) (hoặc DEC hoặc SỐ hoặc CỐ ĐỊNH). số thập phân cố định, trong đó
    shell> mysql -u myuser -p -t -vvv < d:\myproject\sqlscripts\testscript.sql
    Enter password: ********
    --------------
    SHOW DATABASES
    --------------
       
    +--------------------+
    | Database           |
    +--------------------+
    | information_schema |
    | eastwind           |
    | mysql              |
    | test               |
    +--------------------+
    4 rows in set (0.00 sec)
       
    --------------
    SELECT user, host FROM user
    --------------
       
    +--------+-----------+
    | user   | host      |
    +--------+-----------+
    | root   | 127.0.0.1 |
    | myuser | localhost |
    | root   | localhost |
    +--------+-----------+
    4 rows in set (0.00 sec)
       
    Bye
    03 là số chữ số có ____20_______04 chữ số thập phân. Ví dụ:
    shell> mysql -u myuser -p -t -vvv < d:\myproject\sqlscripts\testscript.sql
    Enter password: ********
    --------------
    SHOW DATABASES
    --------------
       
    +--------------------+
    | Database           |
    +--------------------+
    | information_schema |
    | eastwind           |
    | mysql              |
    | test               |
    +--------------------+
    4 rows in set (0.00 sec)
       
    --------------
    SELECT user, host FROM user
    --------------
       
    +--------+-----------+
    | user   | host      |
    +--------+-----------+
    | root   | 127.0.0.1 |
    | myuser | localhost |
    | root   | localhost |
    +--------+-----------+
    4 rows in set (0.00 sec)
       
    Bye
    05 chỉ định tổng cộng 6 chữ số (không bao gồm dấu thập phân) với 2 chữ số sau dấu thập phân, có phạm vi từ
    shell> mysql -u myuser -p -t -vvv < d:\myproject\sqlscripts\testscript.sql
    Enter password: ********
    --------------
    SHOW DATABASES
    --------------
       
    +--------------------+
    | Database           |
    +--------------------+
    | information_schema |
    | eastwind           |
    | mysql              |
    | test               |
    +--------------------+
    4 rows in set (0.00 sec)
       
    --------------
    SELECT user, host FROM user
    --------------
       
    +--------+-----------+
    | user   | host      |
    +--------+-----------+
    | root   | 127.0.0.1 |
    | myuser | localhost |
    | root   | localhost |
    +--------+-----------+
    4 rows in set (0.00 sec)
       
    Bye
    06 đến
    shell> mysql -u myuser -p -t -vvv < d:\myproject\sqlscripts\testscript.sql
    Enter password: ********
    --------------
    SHOW DATABASES
    --------------
       
    +--------------------+
    | Database           |
    +--------------------+
    | information_schema |
    | eastwind           |
    | mysql              |
    | test               |
    +--------------------+
    4 rows in set (0.00 sec)
       
    --------------
    SELECT user, host FROM user
    --------------
       
    +--------+-----------+
    | user   | host      |
    +--------+-----------+
    | root   | 127.0.0.1 |
    | myuser | localhost |
    | root   | localhost |
    +--------+-----------+
    4 rows in set (0.00 sec)
       
    Bye
    07
    Không giống như
    shell> mysql -u myuser -p -t -vvv < d:\myproject\sqlscripts\testscript.sql
    Enter password: ********
    --------------
    SHOW DATABASES
    --------------
       
    +--------------------+
    | Database           |
    +--------------------+
    | information_schema |
    | eastwind           |
    | mysql              |
    | test               |
    +--------------------+
    4 rows in set (0.00 sec)
       
    --------------
    SELECT user, host FROM user
    --------------
       
    +--------+-----------+
    | user   | host      |
    +--------+-----------+
    | root   | 127.0.0.1 |
    | myuser | localhost |
    | root   | localhost |
    +--------+-----------+
    4 rows in set (0.00 sec)
       
    Bye
    08, trong đó
    shell> mysql -u myuser -p -t -vvv < d:\myproject\sqlscripts\testscript.sql
    Enter password: ********
    --------------
    SHOW DATABASES
    --------------
       
    +--------------------+
    | Database           |
    +--------------------+
    | information_schema |
    | eastwind           |
    | mysql              |
    | test               |
    +--------------------+
    4 rows in set (0.00 sec)
       
    --------------
    SELECT user, host FROM user
    --------------
       
    +--------+-----------+
    | user   | host      |
    +--------+-----------+
    | root   | 127.0.0.1 |
    | myuser | localhost |
    | root   | localhost |
    +--------+-----------+
    4 rows in set (0.00 sec)
       
    Bye
    03 chỉ định độ rộng trường hiển thị và không ảnh hưởng đến số được lưu trữ;
    Điểm cố định
    shell> mysql -u myuser -p -t -vvv < d:\myproject\sqlscripts\testscript.sql
    Enter password: ********
    --------------
    SHOW DATABASES
    --------------
       
    +--------------------+
    | Database           |
    +--------------------+
    | information_schema |
    | eastwind           |
    | mysql              |
    | test               |
    +--------------------+
    4 rows in set (0.00 sec)
       
    --------------
    SELECT user, host FROM user
    --------------
       
    +--------+-----------+
    | user   | host      |
    +--------+-----------+
    | root   | 127.0.0.1 |
    | myuser | localhost |
    | root   | localhost |
    +--------+-----------+
    4 rows in set (0.00 sec)
       
    Bye
    00 không có sẵn trong các ngôn ngữ phổ biến như C/C++/Java/C#.
    shell> mysql -u myuser -p -t -vvv < d:\myproject\sqlscripts\testscript.sql
    Enter password: ********
    --------------
    SHOW DATABASES
    --------------
       
    +--------------------+
    | Database           |
    +--------------------+
    | information_schema |
    | eastwind           |
    | mysql              |
    | test               |
    +--------------------+
    4 rows in set (0.00 sec)
       
    --------------
    SELECT user, host FROM user
    --------------
       
    +--------+-----------+
    | user   | host      |
    +--------+-----------+
    | root   | 127.0.0.1 |
    | myuser | localhost |
    | root   | localhost |
    +--------+-----------+
    4 rows in set (0.00 sec)
       
    Bye
    00 là một biểu diễn chính xác, vì nó được biểu diễn dưới dạng số nguyên với dấu thập phân cố định. Mặt khác, các giá trị
    > mysql -u myuser -p -t < d:\myproject\sqlscripts\testscript.sql
    Enter password: ********
    +--------------------+
    | Database           |
    +--------------------+
    | information_schema |
    | eastwind           |
    | mysql              |
    | test               |
    +--------------------+
    +--------+-----------+
    | user   | host      |
    +--------+-----------+
    | root   | 127.0.0.1 |
    | myuser | localhost |
    | root   | localhost |
    +--------+-----------+
    98 và
    > mysql -u myuser -p -t < d:\myproject\sqlscripts\testscript.sql
    Enter password: ********
    +--------------------+
    | Database           |
    +--------------------+
    | information_schema |
    | eastwind           |
    | mysql              |
    | test               |
    +--------------------+
    +--------+-----------+
    | user   | host      |
    +--------+-----------+
    | root   | 127.0.0.1 |
    | myuser | localhost |
    | root   | localhost |
    +--------+-----------+
    99 là gần đúng và không chính xác, điều này tạo ra các vấn đề khi so sánh và gây ra lỗi làm tròn trong các phép toán số học. Cố gắng so sánh các giá trị không chính xác bằng cách sử dụng
    shell> mysql -u myuser -p -t -vvv < d:\myproject\sqlscripts\testscript.sql
    Enter password: ********
    --------------
    SHOW DATABASES
    --------------
       
    +--------------------+
    | Database           |
    +--------------------+
    | information_schema |
    | eastwind           |
    | mysql              |
    | test               |
    +--------------------+
    4 rows in set (0.00 sec)
       
    --------------
    SELECT user, host FROM user
    --------------
       
    +--------+-----------+
    | user   | host      |
    +--------+-----------+
    | root   | 127.0.0.1 |
    | myuser | localhost |
    | root   | localhost |
    +--------+-----------+
    4 rows in set (0.00 sec)
       
    Bye
    16 và
    shell> mysql -u myuser -p -t -vvv < d:\myproject\sqlscripts\testscript.sql
    Enter password: ********
    --------------
    SHOW DATABASES
    --------------
       
    +--------------------+
    | Database           |
    +--------------------+
    | information_schema |
    | eastwind           |
    | mysql              |
    | test               |
    +--------------------+
    4 rows in set (0.00 sec)
       
    --------------
    SELECT user, host FROM user
    --------------
       
    +--------+-----------+
    | user   | host      |
    +--------+-----------+
    | root   | 127.0.0.1 |
    | myuser | localhost |
    | root   | localhost |
    +--------+-----------+
    4 rows in set (0.00 sec)
       
    Bye
    17 dẫn đến kết quả không mong muốn
    Loại
    shell> mysql -u myuser -p -t -vvv < d:\myproject\sqlscripts\testscript.sql
    Enter password: ********
    --------------
    SHOW DATABASES
    --------------
       
    +--------------------+
    | Database           |
    +--------------------+
    | information_schema |
    | eastwind           |
    | mysql              |
    | test               |
    +--------------------+
    4 rows in set (0.00 sec)
       
    --------------
    SELECT user, host FROM user
    --------------
       
    +--------+-----------+
    | user   | host      |
    +--------+-----------+
    | root   | 127.0.0.1 |
    | myuser | localhost |
    | root   | localhost |
    +--------+-----------+
    4 rows in set (0.00 sec)
       
    Bye
    00 được tạo để biểu thị đơn vị tiền tệ, chính xác và không mắc lỗi làm tròn trong phép cộng và phép trừ. Ví dụ,
    shell> mysql -u myuser -p -t -vvv < d:\myproject\sqlscripts\testscript.sql
    Enter password: ********
    --------------
    SHOW DATABASES
    --------------
       
    +--------------------+
    | Database           |
    +--------------------+
    | information_schema |
    | eastwind           |
    | mysql              |
    | test               |
    +--------------------+
    4 rows in set (0.00 sec)
       
    --------------
    SELECT user, host FROM user
    --------------
       
    +--------+-----------+
    | user   | host      |
    +--------+-----------+
    | root   | 127.0.0.1 |
    | myuser | localhost |
    | root   | localhost |
    +--------+-----------+
    4 rows in set (0.00 sec)
       
    Bye
    19. Giá trị
    shell> mysql -u myuser -p -t -vvv < d:\myproject\sqlscripts\testscript.sql
    Enter password: ********
    --------------
    SHOW DATABASES
    --------------
       
    +--------------------+
    | Database           |
    +--------------------+
    | information_schema |
    | eastwind           |
    | mysql              |
    | test               |
    +--------------------+
    4 rows in set (0.00 sec)
       
    --------------
    SELECT user, host FROM user
    --------------
       
    +--------+-----------+
    | user   | host      |
    +--------+-----------+
    | root   | 127.0.0.1 |
    | myuser | localhost |
    | root   | localhost |
    +--------+-----------+
    4 rows in set (0.00 sec)
       
    Bye
    00 có thể được so sánh với
    shell> mysql -u myuser -p -t -vvv < d:\myproject\sqlscripts\testscript.sql
    Enter password: ********
    --------------
    SHOW DATABASES
    --------------
       
    +--------------------+
    | Database           |
    +--------------------+
    | information_schema |
    | eastwind           |
    | mysql              |
    | test               |
    +--------------------+
    4 rows in set (0.00 sec)
       
    --------------
    SELECT user, host FROM user
    --------------
       
    +--------+-----------+
    | user   | host      |
    +--------+-----------+
    | root   | 127.0.0.1 |
    | myuser | localhost |
    | root   | localhost |
    +--------+-----------+
    4 rows in set (0.00 sec)
       
    Bye
    16 hoặc
    shell> mysql -u myuser -p -t -vvv < d:\myproject\sqlscripts\testscript.sql
    Enter password: ********
    --------------
    SHOW DATABASES
    --------------
       
    +--------------------+
    | Database           |
    +--------------------+
    | information_schema |
    | eastwind           |
    | mysql              |
    | test               |
    +--------------------+
    4 rows in set (0.00 sec)
       
    --------------
    SELECT user, host FROM user
    --------------
       
    +--------+-----------+
    | user   | host      |
    +--------+-----------+
    | root   | 127.0.0.1 |
    | myuser | localhost |
    | root   | localhost |
    +--------+-----------+
    4 rows in set (0.00 sec)
       
    Bye
    17
  • FLOAT(n, d) hoặc DOUBLE(n, d). Được lưu trữ với tổng số
    shell> mysql -u myuser -p -t -vvv < d:\myproject\sqlscripts\testscript.sql
    Enter password: ********
    --------------
    SHOW DATABASES
    --------------
       
    +--------------------+
    | Database           |
    +--------------------+
    | information_schema |
    | eastwind           |
    | mysql              |
    | test               |
    +--------------------+
    4 rows in set (0.00 sec)
       
    --------------
    SELECT user, host FROM user
    --------------
       
    +--------+-----------+
    | user   | host      |
    +--------+-----------+
    | root   | 127.0.0.1 |
    | myuser | localhost |
    | root   | localhost |
    +--------+-----------+
    4 rows in set (0.00 sec)
       
    Bye
    03 chữ số với ____20_______04 chữ số thập phân. Chính xác hay xấp xỉ??

Các số dấu phẩy động và dấu phẩy động cũng có thể được khai báo là

> mysql -u myuser -p -t < d:\myproject\sqlscripts\testscript.sql
Enter password: ********
+--------------------+
| Database           |
+--------------------+
| information_schema |
| eastwind           |
| mysql              |
| test               |
+--------------------+
+--------+-----------+
| user   | host      |
+--------+-----------+
| root   | 127.0.0.1 |
| myuser | localhost |
| root   | localhost |
+--------+-----------+
64 để loại trừ các số âm

Ví dụ (Kiểm tra kiểu dữ liệu dấu phẩy động). Read "

shell> mysql -u myuser -p -t -vvv < d:\myproject\sqlscripts\testscript.sql
Enter password: ********
--------------
SHOW DATABASES
--------------
   
+--------------------+
| Database           |
+--------------------+
| information_schema |
| eastwind           |
| mysql              |
| test               |
+--------------------+
4 rows in set (0.00 sec)
   
--------------
SELECT user, host FROM user
--------------
   
+--------+-----------+
| user   | host      |
+--------+-----------+
| root   | 127.0.0.1 |
| myuser | localhost |
| root   | localhost |
+--------+-----------+
4 rows in set (0.00 sec)
   
Bye
27"

Character Sets and Collations

Strings are made up of a sequence of characters. Before presenting the various string data types, it is important to understand the so-called character set and collating sequence (or collation)

Character Sets

A character set (also called charset, character encoding, character map, code page) defines a set of character and maps each character to a unique numeric code. For example, in ASCII, character

shell> mysql -u myuser -p -t -vvv < d:\myproject\sqlscripts\testscript.sql
Enter password: ********
--------------
SHOW DATABASES
--------------
   
+--------------------+
| Database           |
+--------------------+
| information_schema |
| eastwind           |
| mysql              |
| test               |
+--------------------+
4 rows in set (0.00 sec)
   
--------------
SELECT user, host FROM user
--------------
   
+--------+-----------+
| user   | host      |
+--------+-----------+
| root   | 127.0.0.1 |
| myuser | localhost |
| root   | localhost |
+--------+-----------+
4 rows in set (0.00 sec)
   
Bye
28 is assigned 65,
shell> mysql -u myuser -p -t -vvv < d:\myproject\sqlscripts\testscript.sql
Enter password: ********
--------------
SHOW DATABASES
--------------
   
+--------------------+
| Database           |
+--------------------+
| information_schema |
| eastwind           |
| mysql              |
| test               |
+--------------------+
4 rows in set (0.00 sec)
   
--------------
SELECT user, host FROM user
--------------
   
+--------+-----------+
| user   | host      |
+--------+-----------+
| root   | 127.0.0.1 |
| myuser | localhost |
| root   | localhost |
+--------+-----------+
4 rows in set (0.00 sec)
   
Bye
29 is 97,
shell> mysql -u myuser -p -t -vvv < d:\myproject\sqlscripts\testscript.sql
Enter password: ********
--------------
SHOW DATABASES
--------------
   
+--------------------+
| Database           |
+--------------------+
| information_schema |
| eastwind           |
| mysql              |
| test               |
+--------------------+
4 rows in set (0.00 sec)
   
--------------
SELECT user, host FROM user
--------------
   
+--------+-----------+
| user   | host      |
+--------+-----------+
| root   | 127.0.0.1 |
| myuser | localhost |
| root   | localhost |
+--------+-----------+
4 rows in set (0.00 sec)
   
Bye
30 is 48 and space is 32. The most commonly-used character sets are the 8-bit Latin-1 (ISO/IEC 8859-1) for English characters (which is backward compatible with 7-bit ASCII), and multi-byte Unicode (ISO/IEC 10646) for internationalization. Unicode can be encoded in variable-length UTF8 (1-3 bytes) for fixed-length UCS2 (2 bytes)

For more details on character sets, read "A Tutorial on Data Representation - Integers, Floating-point Numbers, and Character Sets", section ""

MySQL's UCS-2 is in big-endian without BOM (Byte Order Mark), i. e. , UCS-2BE or UTF2BE. MySQL uses no BOM for UTF-8

Collating Sequences

A collating sequence (or collation) refers to the orders in which individual characters should be ranked in comparing or sorting the strings. In other words, a collation is a set of rules for ranking characters in a character set

A string may contain uppercase and lowercase characters, digits and symbols. As an example, suppose we wish to sort three strings.

shell> mysql -u myuser -p -t -vvv < d:\myproject\sqlscripts\testscript.sql
Enter password: ********
--------------
SHOW DATABASES
--------------
   
+--------------------+
| Database           |
+--------------------+
| information_schema |
| eastwind           |
| mysql              |
| test               |
+--------------------+
4 rows in set (0.00 sec)
   
--------------
SELECT user, host FROM user
--------------
   
+--------+-----------+
| user   | host      |
+--------+-----------+
| root   | 127.0.0.1 |
| myuser | localhost |
| root   | localhost |
+--------+-----------+
4 rows in set (0.00 sec)
   
Bye
31,
shell> mysql -u myuser -p -t -vvv < d:\myproject\sqlscripts\testscript.sql
Enter password: ********
--------------
SHOW DATABASES
--------------
   
+--------------------+
| Database           |
+--------------------+
| information_schema |
| eastwind           |
| mysql              |
| test               |
+--------------------+
4 rows in set (0.00 sec)
   
--------------
SELECT user, host FROM user
--------------
   
+--------+-----------+
| user   | host      |
+--------+-----------+
| root   | 127.0.0.1 |
| myuser | localhost |
| root   | localhost |
+--------+-----------+
4 rows in set (0.00 sec)
   
Bye
32, and
shell> mysql -u myuser -p -t -vvv < d:\myproject\sqlscripts\testscript.sql
Enter password: ********
--------------
SHOW DATABASES
--------------
   
+--------------------+
| Database           |
+--------------------+
| information_schema |
| eastwind           |
| mysql              |
| test               |
+--------------------+
4 rows in set (0.00 sec)
   
--------------
SELECT user, host FROM user
--------------
   
+--------+-----------+
| user   | host      |
+--------+-----------+
| root   | 127.0.0.1 |
| myuser | localhost |
| root   | localhost |
+--------+-----------+
4 rows in set (0.00 sec)
   
Bye
33 encoded in ASCII. If we rank the characters according to the underlying ASCII code numbers, the order would be
shell> mysql -u myuser -p -t -vvv < d:\myproject\sqlscripts\testscript.sql
Enter password: ********
--------------
SHOW DATABASES
--------------
   
+--------------------+
| Database           |
+--------------------+
| information_schema |
| eastwind           |
| mysql              |
| test               |
+--------------------+
4 rows in set (0.00 sec)
   
--------------
SELECT user, host FROM user
--------------
   
+--------+-----------+
| user   | host      |
+--------+-----------+
| root   | 127.0.0.1 |
| myuser | localhost |
| root   | localhost |
+--------+-----------+
4 rows in set (0.00 sec)
   
Bye
32,
shell> mysql -u myuser -p -t -vvv < d:\myproject\sqlscripts\testscript.sql
Enter password: ********
--------------
SHOW DATABASES
--------------
   
+--------------------+
| Database           |
+--------------------+
| information_schema |
| eastwind           |
| mysql              |
| test               |
+--------------------+
4 rows in set (0.00 sec)
   
--------------
SELECT user, host FROM user
--------------
   
+--------+-----------+
| user   | host      |
+--------+-----------+
| root   | 127.0.0.1 |
| myuser | localhost |
| root   | localhost |
+--------+-----------+
4 rows in set (0.00 sec)
   
Bye
31 and
shell> mysql -u myuser -p -t -vvv < d:\myproject\sqlscripts\testscript.sql
Enter password: ********
--------------
SHOW DATABASES
--------------
   
+--------------------+
| Database           |
+--------------------+
| information_schema |
| eastwind           |
| mysql              |
| test               |
+--------------------+
4 rows in set (0.00 sec)
   
--------------
SELECT user, host FROM user
--------------
   
+--------+-----------+
| user   | host      |
+--------+-----------+
| root   | 127.0.0.1 |
| myuser | localhost |
| root   | localhost |
+--------+-----------+
4 rows in set (0.00 sec)
   
Bye
36 It is because uppercase letters have smaller code numbers than lowercase letters in ASCII code. Ranking strings according to their underlying code numbers is known as binary collation. Binary collation does not agree with the so-called dictionary order, where the same uppercase and lowercase letters have the same rank

There are many other collating sequences available. Some case-insensitive (

shell> mysql -u myuser -p -t -vvv < d:\myproject\sqlscripts\testscript.sql
Enter password: ********
--------------
SHOW DATABASES
--------------
   
+--------------------+
| Database           |
+--------------------+
| information_schema |
| eastwind           |
| mysql              |
| test               |
+--------------------+
4 rows in set (0.00 sec)
   
--------------
SELECT user, host FROM user
--------------
   
+--------+-----------+
| user   | host      |
+--------+-----------+
| root   | 127.0.0.1 |
| myuser | localhost |
| root   | localhost |
+--------+-----------+
4 rows in set (0.00 sec)
   
Bye
37) dictionary-order collating sequences have the same rank for the same uppercase and lowercase letter, i. e. ,
shell> mysql -u myuser -p -t -vvv < d:\myproject\sqlscripts\testscript.sql
Enter password: ********
--------------
SHOW DATABASES
--------------
   
+--------------------+
| Database           |
+--------------------+
| information_schema |
| eastwind           |
| mysql              |
| test               |
+--------------------+
4 rows in set (0.00 sec)
   
--------------
SELECT user, host FROM user
--------------
   
+--------+-----------+
| user   | host      |
+--------+-----------+
| root   | 127.0.0.1 |
| myuser | localhost |
| root   | localhost |
+--------+-----------+
4 rows in set (0.00 sec)
   
Bye
28,
shell> mysql -u myuser -p -t -vvv < d:\myproject\sqlscripts\testscript.sql
Enter password: ********
--------------
SHOW DATABASES
--------------
   
+--------------------+
| Database           |
+--------------------+
| information_schema |
| eastwind           |
| mysql              |
| test               |
+--------------------+
4 rows in set (0.00 sec)
   
--------------
SELECT user, host FROM user
--------------
   
+--------+-----------+
| user   | host      |
+--------+-----------+
| root   | 127.0.0.1 |
| myuser | localhost |
| root   | localhost |
+--------+-----------+
4 rows in set (0.00 sec)
   
Bye
29 ⇒
shell> mysql -u myuser -p -t -vvv < d:\myproject\sqlscripts\testscript.sql
Enter password: ********
--------------
SHOW DATABASES
--------------
   
+--------------------+
| Database           |
+--------------------+
| information_schema |
| eastwind           |
| mysql              |
| test               |
+--------------------+
4 rows in set (0.00 sec)
   
--------------
SELECT user, host FROM user
--------------
   
+--------+-----------+
| user   | host      |
+--------+-----------+
| root   | 127.0.0.1 |
| myuser | localhost |
| root   | localhost |
+--------+-----------+
4 rows in set (0.00 sec)
   
Bye
40,
shell> mysql -u myuser -p -t -vvv < d:\myproject\sqlscripts\testscript.sql
Enter password: ********
--------------
SHOW DATABASES
--------------
   
+--------------------+
| Database           |
+--------------------+
| information_schema |
| eastwind           |
| mysql              |
| test               |
+--------------------+
4 rows in set (0.00 sec)
   
--------------
SELECT user, host FROM user
--------------
   
+--------+-----------+
| user   | host      |
+--------+-----------+
| root   | 127.0.0.1 |
| myuser | localhost |
| root   | localhost |
+--------+-----------+
4 rows in set (0.00 sec)
   
Bye
41 ⇒ . ⇒
shell> mysql -u myuser -p -t -vvv < d:\myproject\sqlscripts\testscript.sql
Enter password: ********
--------------
SHOW DATABASES
--------------
   
+--------------------+
| Database           |
+--------------------+
| information_schema |
| eastwind           |
| mysql              |
| test               |
+--------------------+
4 rows in set (0.00 sec)
   
--------------
SELECT user, host FROM user
--------------
   
+--------+-----------+
| user   | host      |
+--------+-----------+
| root   | 127.0.0.1 |
| myuser | localhost |
| root   | localhost |
+--------+-----------+
4 rows in set (0.00 sec)
   
Bye
42,
shell> mysql -u myuser -p -t -vvv < d:\myproject\sqlscripts\testscript.sql
Enter password: ********
--------------
SHOW DATABASES
--------------
   
+--------------------+
| Database           |
+--------------------+
| information_schema |
| eastwind           |
| mysql              |
| test               |
+--------------------+
4 rows in set (0.00 sec)
   
--------------
SELECT user, host FROM user
--------------
   
+--------+-----------+
| user   | host      |
+--------+-----------+
| root   | 127.0.0.1 |
| myuser | localhost |
| root   | localhost |
+--------+-----------+
4 rows in set (0.00 sec)
   
Bye
43. Some case-sensitive (
shell> mysql -u myuser -p -t -vvv < d:\myproject\sqlscripts\testscript.sql
Enter password: ********
--------------
SHOW DATABASES
--------------
   
+--------------------+
| Database           |
+--------------------+
| information_schema |
| eastwind           |
| mysql              |
| test               |
+--------------------+
4 rows in set (0.00 sec)
   
--------------
SELECT user, host FROM user
--------------
   
+--------+-----------+
| user   | host      |
+--------+-----------+
| root   | 127.0.0.1 |
| myuser | localhost |
| root   | localhost |
+--------+-----------+
4 rows in set (0.00 sec)
   
Bye
44) dictionary-order collating sequences put the uppercase letter before its lowercase counterpart, i. e. ,
shell> mysql -u myuser -p -t -vvv < d:\myproject\sqlscripts\testscript.sql
Enter password: ********
--------------
SHOW DATABASES
--------------
   
+--------------------+
| Database           |
+--------------------+
| information_schema |
| eastwind           |
| mysql              |
| test               |
+--------------------+
4 rows in set (0.00 sec)
   
--------------
SELECT user, host FROM user
--------------
   
+--------+-----------+
| user   | host      |
+--------+-----------+
| root   | 127.0.0.1 |
| myuser | localhost |
| root   | localhost |
+--------+-----------+
4 rows in set (0.00 sec)
   
Bye
28 ⇒
shell> mysql -u myuser -p -t -vvv < d:\myproject\sqlscripts\testscript.sql
Enter password: ********
--------------
SHOW DATABASES
--------------
   
+--------------------+
| Database           |
+--------------------+
| information_schema |
| eastwind           |
| mysql              |
| test               |
+--------------------+
4 rows in set (0.00 sec)
   
--------------
SELECT user, host FROM user
--------------
   
+--------+-----------+
| user   | host      |
+--------+-----------+
| root   | 127.0.0.1 |
| myuser | localhost |
| root   | localhost |
+--------+-----------+
4 rows in set (0.00 sec)
   
Bye
29 ⇒
shell> mysql -u myuser -p -t -vvv < d:\myproject\sqlscripts\testscript.sql
Enter password: ********
--------------
SHOW DATABASES
--------------
   
+--------------------+
| Database           |
+--------------------+
| information_schema |
| eastwind           |
| mysql              |
| test               |
+--------------------+
4 rows in set (0.00 sec)
   
--------------
SELECT user, host FROM user
--------------
   
+--------+-----------+
| user   | host      |
+--------+-----------+
| root   | 127.0.0.1 |
| myuser | localhost |
| root   | localhost |
+--------+-----------+
4 rows in set (0.00 sec)
   
Bye
47
shell> mysql -u myuser -p -t -vvv < d:\myproject\sqlscripts\testscript.sql
Enter password: ********
--------------
SHOW DATABASES
--------------
   
+--------------------+
| Database           |
+--------------------+
| information_schema |
| eastwind           |
| mysql              |
| test               |
+--------------------+
4 rows in set (0.00 sec)
   
--------------
SELECT user, host FROM user
--------------
   
+--------+-----------+
| user   | host      |
+--------+-----------+
| root   | 127.0.0.1 |
| myuser | localhost |
| root   | localhost |
+--------+-----------+
4 rows in set (0.00 sec)
   
Bye
41 ⇒ . ⇒
shell> mysql -u myuser -p -t -vvv < d:\myproject\sqlscripts\testscript.sql
Enter password: ********
--------------
SHOW DATABASES
--------------
   
+--------------------+
| Database           |
+--------------------+
| information_schema |
| eastwind           |
| mysql              |
| test               |
+--------------------+
4 rows in set (0.00 sec)
   
--------------
SELECT user, host FROM user
--------------
   
+--------+-----------+
| user   | host      |
+--------+-----------+
| root   | 127.0.0.1 |
| myuser | localhost |
| root   | localhost |
+--------+-----------+
4 rows in set (0.00 sec)
   
Bye
42 ⇒
shell> mysql -u myuser -p -t -vvv < d:\myproject\sqlscripts\testscript.sql
Enter password: ********
--------------
SHOW DATABASES
--------------
   
+--------------------+
| Database           |
+--------------------+
| information_schema |
| eastwind           |
| mysql              |
| test               |
+--------------------+
4 rows in set (0.00 sec)
   
--------------
SELECT user, host FROM user
--------------
   
+--------+-----------+
| user   | host      |
+--------+-----------+
| root   | 127.0.0.1 |
| myuser | localhost |
| root   | localhost |
+--------+-----------+
4 rows in set (0.00 sec)
   
Bye
43. Typically, space is ranked before digits
shell> mysql -u myuser -p -t -vvv < d:\myproject\sqlscripts\testscript.sql
Enter password: ********
--------------
SHOW DATABASES
--------------
   
+--------------------+
| Database           |
+--------------------+
| information_schema |
| eastwind           |
| mysql              |
| test               |
+--------------------+
4 rows in set (0.00 sec)
   
--------------
SELECT user, host FROM user
--------------
   
+--------+-----------+
| user   | host      |
+--------+-----------+
| root   | 127.0.0.1 |
| myuser | localhost |
| root   | localhost |
+--------+-----------+
4 rows in set (0.00 sec)
   
Bye
30 to
shell> mysql -u myuser -p -t -vvv < d:\myproject\sqlscripts\testscript.sql
Enter password: ********
--------------
SHOW DATABASES
--------------
   
+--------------------+
| Database           |
+--------------------+
| information_schema |
| eastwind           |
| mysql              |
| test               |
+--------------------+
4 rows in set (0.00 sec)
   
--------------
SELECT user, host FROM user
--------------
   
+--------+-----------+
| user   | host      |
+--------+-----------+
| root   | 127.0.0.1 |
| myuser | localhost |
| root   | localhost |
+--------+-----------+
4 rows in set (0.00 sec)
   
Bye
52, followed by the alphabets

Collating sequence is also language dependent, as different languages use different sets of characters, e. g. , a, A, α, Ä, á, é. It becomes more complicated if more than one languages are used, e. g. , you need to decide how to rank 'a' and 'α', by choosing an appropriate collating sequence

MySQL Character Sets and Collations

MySQL 5. 5 supports 39 character sets with 197 collations

You could use command

shell> mysql -u myuser -p -t -vvv < d:\myproject\sqlscripts\testscript.sql
Enter password: ********
--------------
SHOW DATABASES
--------------
   
+--------------------+
| Database           |
+--------------------+
| information_schema |
| eastwind           |
| mysql              |
| test               |
+--------------------+
4 rows in set (0.00 sec)
   
--------------
SELECT user, host FROM user
--------------
   
+--------+-----------+
| user   | host      |
+--------+-----------+
| root   | 127.0.0.1 |
| myuser | localhost |
| root   | localhost |
+--------+-----------+
4 rows in set (0.00 sec)
   
Bye
53 to display all the supported character sets and their default collation; and
shell> mysql -u myuser -p -t -vvv < d:\myproject\sqlscripts\testscript.sql
Enter password: ********
--------------
SHOW DATABASES
--------------
   
+--------------------+
| Database           |
+--------------------+
| information_schema |
| eastwind           |
| mysql              |
| test               |
+--------------------+
4 rows in set (0.00 sec)
   
--------------
SELECT user, host FROM user
--------------
   
+--------+-----------+
| user   | host      |
+--------+-----------+
| root   | 127.0.0.1 |
| myuser | localhost |
| root   | localhost |
+--------+-----------+
4 rows in set (0.00 sec)
   
Bye
54 to display all the collations and the charsets their support

mysql> SHOW CHARACTER SET;
+----------+-----------------------------+---------------------+--------+
| Charset  | Description                 | Default collation   | Maxlen |
+----------+-----------------------------+---------------------+--------+
| latin1   | cp1252 West European        | latin1_swedish_ci   |      1 |
| utf8     | UTF-8 Unicode               | utf8_general_ci     |      3 |
| ucs2     | UCS-2 Unicode               | ucs2_general_ci     |      2 |
| ascii    | US ASCII                    | ascii_general_ci    |      1 |
  ......
39 rows in set (0.06 sec)
 
mysql> SHOW COLLATION;
+--------------------------+----------+-----+---------+----------+---------+
| Collation                | Charset  | Id  | Default | Compiled | Sortlen |
+--------------------------+----------+-----+---------+----------+---------+
| big5_chinese_ci          | big5     |   1 | Yes     | Yes      |       1 |
| big5_bin                 | big5     |  84 |         | Yes      |       1 |
 ......
197 rows in set (0.01 sec)

The default character set in MySQL is

shell> mysql -u myuser -p -t -vvv < d:\myproject\sqlscripts\testscript.sql
Enter password: ********
--------------
SHOW DATABASES
--------------
   
+--------------------+
| Database           |
+--------------------+
| information_schema |
| eastwind           |
| mysql              |
| test               |
+--------------------+
4 rows in set (0.00 sec)
   
--------------
SELECT user, host FROM user
--------------
   
+--------+-----------+
| user   | host      |
+--------+-----------+
| root   | 127.0.0.1 |
| myuser | localhost |
| root   | localhost |
+--------+-----------+
4 rows in set (0.00 sec)
   
Bye
55 (aka ISO-8859-1). The default collation for
shell> mysql -u myuser -p -t -vvv < d:\myproject\sqlscripts\testscript.sql
Enter password: ********
--------------
SHOW DATABASES
--------------
   
+--------------------+
| Database           |
+--------------------+
| information_schema |
| eastwind           |
| mysql              |
| test               |
+--------------------+
4 rows in set (0.00 sec)
   
--------------
SELECT user, host FROM user
--------------
   
+--------+-----------+
| user   | host      |
+--------+-----------+
| root   | 127.0.0.1 |
| myuser | localhost |
| root   | localhost |
+--------+-----------+
4 rows in set (0.00 sec)
   
Bye
55 is
shell> mysql -u myuser -p -t -vvv < d:\myproject\sqlscripts\testscript.sql
Enter password: ********
--------------
SHOW DATABASES
--------------
   
+--------------------+
| Database           |
+--------------------+
| information_schema |
| eastwind           |
| mysql              |
| test               |
+--------------------+
4 rows in set (0.00 sec)
   
--------------
SELECT user, host FROM user
--------------
   
+--------+-----------+
| user   | host      |
+--------+-----------+
| root   | 127.0.0.1 |
| myuser | localhost |
| root   | localhost |
+--------+-----------+
4 rows in set (0.00 sec)
   
Bye
57, which is a case-insensitive collation suitable for Swedish/finnish (MySQL was created by some Swedishs). You can list the available collations for
shell> mysql -u myuser -p -t -vvv < d:\myproject\sqlscripts\testscript.sql
Enter password: ********
--------------
SHOW DATABASES
--------------
   
+--------------------+
| Database           |
+--------------------+
| information_schema |
| eastwind           |
| mysql              |
| test               |
+--------------------+
4 rows in set (0.00 sec)
   
--------------
SELECT user, host FROM user
--------------
   
+--------+-----------+
| user   | host      |
+--------+-----------+
| root   | 127.0.0.1 |
| myuser | localhost |
| root   | localhost |
+--------+-----------+
4 rows in set (0.00 sec)
   
Bye
55, as follows

mysql> SHOW COLLATION LIKE 'latin1%';
+-------------------+---------+----+---------+----------+---------+
| Collation         | Charset | Id | Default | Compiled | Sortlen |
+-------------------+---------+----+---------+----------+---------+
| latin1_german1_ci | latin1  |  5 |         | Yes      |       1 |
| latin1_swedish_ci | latin1  |  8 | Yes     | Yes      |       1 |
| latin1_danish_ci  | latin1  | 15 |         | Yes      |       1 |
| latin1_german2_ci | latin1  | 31 |         | Yes      |       2 |
| latin1_bin        | latin1  | 47 |         | Yes      |       1 |
| latin1_general_ci | latin1  | 48 |         | Yes      |       1 |
| latin1_general_cs | latin1  | 49 |         | Yes      |       1 |
| latin1_spanish_ci | latin1  | 94 |         | Yes      |       1 |
+-------------------+---------+----+---------+----------+---------+

shell> mysql -u myuser -p -t -vvv < d:\myproject\sqlscripts\testscript.sql
Enter password: ********
--------------
SHOW DATABASES
--------------
   
+--------------------+
| Database           |
+--------------------+
| information_schema |
| eastwind           |
| mysql              |
| test               |
+--------------------+
4 rows in set (0.00 sec)
   
--------------
SELECT user, host FROM user
--------------
   
+--------+-----------+
| user   | host      |
+--------+-----------+
| root   | 127.0.0.1 |
| myuser | localhost |
| root   | localhost |
+--------+-----------+
4 rows in set (0.00 sec)
   
Bye
59 is a case-insensitive collation for multilingual western european.
shell> mysql -u myuser -p -t -vvv < d:\myproject\sqlscripts\testscript.sql
Enter password: ********
--------------
SHOW DATABASES
--------------
   
+--------------------+
| Database           |
+--------------------+
| information_schema |
| eastwind           |
| mysql              |
| test               |
+--------------------+
4 rows in set (0.00 sec)
   
--------------
SELECT user, host FROM user
--------------
   
+--------+-----------+
| user   | host      |
+--------+-----------+
| root   | 127.0.0.1 |
| myuser | localhost |
| root   | localhost |
+--------+-----------+
4 rows in set (0.00 sec)
   
Bye
60 is case-sensitive.
shell> mysql -u myuser -p -t -vvv < d:\myproject\sqlscripts\testscript.sql
Enter password: ********
--------------
SHOW DATABASES
--------------
   
+--------------------+
| Database           |
+--------------------+
| information_schema |
| eastwind           |
| mysql              |
| test               |
+--------------------+
4 rows in set (0.00 sec)
   
--------------
SELECT user, host FROM user
--------------
   
+--------+-----------+
| user   | host      |
+--------+-----------+
| root   | 127.0.0.1 |
| myuser | localhost |
| root   | localhost |
+--------+-----------+
4 rows in set (0.00 sec)
   
Bye
61 is the binary collation according to
shell> mysql -u myuser -p -t -vvv < d:\myproject\sqlscripts\testscript.sql
Enter password: ********
--------------
SHOW DATABASES
--------------
   
+--------------------+
| Database           |
+--------------------+
| information_schema |
| eastwind           |
| mysql              |
| test               |
+--------------------+
4 rows in set (0.00 sec)
   
--------------
SELECT user, host FROM user
--------------
   
+--------+-----------+
| user   | host      |
+--------+-----------+
| root   | 127.0.0.1 |
| myuser | localhost |
| root   | localhost |
+--------+-----------+
4 rows in set (0.00 sec)
   
Bye
55 encoding

I recommend that you use

shell> mysql -u myuser -p -t -vvv < d:\myproject\sqlscripts\testscript.sql
Enter password: ********
--------------
SHOW DATABASES
--------------
   
+--------------------+
| Database           |
+--------------------+
| information_schema |
| eastwind           |
| mysql              |
| test               |
+--------------------+
4 rows in set (0.00 sec)
   
--------------
SELECT user, host FROM user
--------------
   
+--------+-----------+
| user   | host      |
+--------+-----------+
| root   | 127.0.0.1 |
| myuser | localhost |
| root   | localhost |
+--------+-----------+
4 rows in set (0.00 sec)
   
Bye
63 charset for applications that require internationalization (i18n) support (because
shell> mysql -u myuser -p -t -vvv < d:\myproject\sqlscripts\testscript.sql
Enter password: ********
--------------
SHOW DATABASES
--------------
   
+--------------------+
| Database           |
+--------------------+
| information_schema |
| eastwind           |
| mysql              |
| test               |
+--------------------+
4 rows in set (0.00 sec)
   
--------------
SELECT user, host FROM user
--------------
   
+--------+-----------+
| user   | host      |
+--------+-----------+
| root   | 127.0.0.1 |
| myuser | localhost |
| root   | localhost |
+--------+-----------+
4 rows in set (0.00 sec)
   
Bye
63 supports all the languages in this world). The default collation for
shell> mysql -u myuser -p -t -vvv < d:\myproject\sqlscripts\testscript.sql
Enter password: ********
--------------
SHOW DATABASES
--------------
   
+--------------------+
| Database           |
+--------------------+
| information_schema |
| eastwind           |
| mysql              |
| test               |
+--------------------+
4 rows in set (0.00 sec)
   
--------------
SELECT user, host FROM user
--------------
   
+--------+-----------+
| user   | host      |
+--------+-----------+
| root   | 127.0.0.1 |
| myuser | localhost |
| root   | localhost |
+--------+-----------+
4 rows in set (0.00 sec)
   
Bye
63 is
shell> mysql -u myuser -p -t -vvv < d:\myproject\sqlscripts\testscript.sql
Enter password: ********
--------------
SHOW DATABASES
--------------
   
+--------------------+
| Database           |
+--------------------+
| information_schema |
| eastwind           |
| mysql              |
| test               |
+--------------------+
4 rows in set (0.00 sec)
   
--------------
SELECT user, host FROM user
--------------
   
+--------+-----------+
| user   | host      |
+--------+-----------+
| root   | 127.0.0.1 |
| myuser | localhost |
| root   | localhost |
+--------+-----------+
4 rows in set (0.00 sec)
   
Bye
66. Other collations for
shell> mysql -u myuser -p -t -vvv < d:\myproject\sqlscripts\testscript.sql
Enter password: ********
--------------
SHOW DATABASES
--------------
   
+--------------------+
| Database           |
+--------------------+
| information_schema |
| eastwind           |
| mysql              |
| test               |
+--------------------+
4 rows in set (0.00 sec)
   
--------------
SELECT user, host FROM user
--------------
   
+--------+-----------+
| user   | host      |
+--------+-----------+
| root   | 127.0.0.1 |
| myuser | localhost |
| root   | localhost |
+--------+-----------+
4 rows in set (0.00 sec)
   
Bye
63 includes

mysql> SHOW COLLATION LIKE 'utf8%';
+--------------------+---------+-----+---------+----------+---------+
| Collation          | Charset | Id  | Default | Compiled | Sortlen |
+--------------------+---------+-----+---------+----------+---------+
| utf8_general_ci    | utf8    |  33 | Yes     | Yes      |       1 |
| utf8_bin           | utf8    |  83 |         | Yes      |       1 |
| utf8_unicode_ci    | utf8    | 192 |         | Yes      |       8 |
| utf8_icelandic_ci  | utf8    | 193 |         | Yes      |       8 |
| utf8_latvian_ci    | utf8    | 194 |         | Yes      |       8 |
| utf8_romanian_ci   | utf8    | 195 |         | Yes      |       8 |
  ......

You may want to try out some of these collations by ranking space, numbers, uppercase and lowercase letters, and some typical strings

Specifying Character Set and Collation in MySQL

You could specify the character set and collation via keyword

shell> mysql -u myuser -p -t -vvv < d:\myproject\sqlscripts\testscript.sql
Enter password: ********
--------------
SHOW DATABASES
--------------
   
+--------------------+
| Database           |
+--------------------+
| information_schema |
| eastwind           |
| mysql              |
| test               |
+--------------------+
4 rows in set (0.00 sec)
   
--------------
SELECT user, host FROM user
--------------
   
+--------+-----------+
| user   | host      |
+--------+-----------+
| root   | 127.0.0.1 |
| myuser | localhost |
| root   | localhost |
+--------+-----------+
4 rows in set (0.00 sec)
   
Bye
68 (or
shell> mysql -u myuser -p -t -vvv < d:\myproject\sqlscripts\testscript.sql
Enter password: ********
--------------
SHOW DATABASES
--------------
   
+--------------------+
| Database           |
+--------------------+
| information_schema |
| eastwind           |
| mysql              |
| test               |
+--------------------+
4 rows in set (0.00 sec)
   
--------------
SELECT user, host FROM user
--------------
   
+--------+-----------+
| user   | host      |
+--------+-----------+
| root   | 127.0.0.1 |
| myuser | localhost |
| root   | localhost |
+--------+-----------+
4 rows in set (0.00 sec)
   
Bye
69) and
shell> mysql -u myuser -p -t -vvv < d:\myproject\sqlscripts\testscript.sql
Enter password: ********
--------------
SHOW DATABASES
--------------
   
+--------------------+
| Database           |
+--------------------+
| information_schema |
| eastwind           |
| mysql              |
| test               |
+--------------------+
4 rows in set (0.00 sec)
   
--------------
SELECT user, host FROM user
--------------
   
+--------+-----------+
| user   | host      |
+--------+-----------+
| root   | 127.0.0.1 |
| myuser | localhost |
| root   | localhost |
+--------+-----------+
4 rows in set (0.00 sec)
   
Bye
70. They could be set at 4 levels. server, database, table, and column

To set the charset and collation for the server, start

shell> mysql -u myuser -p -t -vvv < d:\myproject\sqlscripts\testscript.sql
Enter password: ********
--------------
SHOW DATABASES
--------------
   
+--------------------+
| Database           |
+--------------------+
| information_schema |
| eastwind           |
| mysql              |
| test               |
+--------------------+
4 rows in set (0.00 sec)
   
--------------
SELECT user, host FROM user
--------------
   
+--------+-----------+
| user   | host      |
+--------+-----------+
| root   | 127.0.0.1 |
| myuser | localhost |
| root   | localhost |
+--------+-----------+
4 rows in set (0.00 sec)
   
Bye
71 with
shell> mysql -u myuser -p -t -vvv < d:\myproject\sqlscripts\testscript.sql
Enter password: ********
--------------
SHOW DATABASES
--------------
   
+--------------------+
| Database           |
+--------------------+
| information_schema |
| eastwind           |
| mysql              |
| test               |
+--------------------+
4 rows in set (0.00 sec)
   
--------------
SELECT user, host FROM user
--------------
   
+--------+-----------+
| user   | host      |
+--------+-----------+
| root   | 127.0.0.1 |
| myuser | localhost |
| root   | localhost |
+--------+-----------+
4 rows in set (0.00 sec)
   
Bye
72 and
shell> mysql -u myuser -p -t -vvv < d:\myproject\sqlscripts\testscript.sql
Enter password: ********
--------------
SHOW DATABASES
--------------
   
+--------------------+
| Database           |
+--------------------+
| information_schema |
| eastwind           |
| mysql              |
| test               |
+--------------------+
4 rows in set (0.00 sec)
   
--------------
SELECT user, host FROM user
--------------
   
+--------+-----------+
| user   | host      |
+--------+-----------+
| root   | 127.0.0.1 |
| myuser | localhost |
| root   | localhost |
+--------+-----------+
4 rows in set (0.00 sec)
   
Bye
73 options. The default charset is
shell> mysql -u myuser -p -t -vvv < d:\myproject\sqlscripts\testscript.sql
Enter password: ********
--------------
SHOW DATABASES
--------------
   
+--------------------+
| Database           |
+--------------------+
| information_schema |
| eastwind           |
| mysql              |
| test               |
+--------------------+
4 rows in set (0.00 sec)
   
--------------
SELECT user, host FROM user
--------------
   
+--------+-----------+
| user   | host      |
+--------+-----------+
| root   | 127.0.0.1 |
| myuser | localhost |
| root   | localhost |
+--------+-----------+
4 rows in set (0.00 sec)
   
Bye
55

You can set the default charset and collation for an database in

shell> mysql -u myuser -p -t -vvv < d:\myproject\sqlscripts\testscript.sql
Enter password: ********
--------------
SHOW DATABASES
--------------
   
+--------------------+
| Database           |
+--------------------+
| information_schema |
| eastwind           |
| mysql              |
| test               |
+--------------------+
4 rows in set (0.00 sec)
   
--------------
SELECT user, host FROM user
--------------
   
+--------+-----------+
| user   | host      |
+--------+-----------+
| root   | 127.0.0.1 |
| myuser | localhost |
| root   | localhost |
+--------+-----------+
4 rows in set (0.00 sec)
   
Bye
75. For example,

CREATE DATABASE databaseName
DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci;

You can set the character set and collation for table and column in

> mysql -u myuser -p < d:\myproject\sqlscripts\testscript.sql > output.txt
18. For example,

> mysql -u myuser -p < d:\myproject\sqlscripts\testscript.sql > output.txt
0

In the above example, the default character set for all the string columns for the table is

shell> mysql -u myuser -p -t -vvv < d:\myproject\sqlscripts\testscript.sql
Enter password: ********
--------------
SHOW DATABASES
--------------
   
+--------------------+
| Database           |
+--------------------+
| information_schema |
| eastwind           |
| mysql              |
| test               |
+--------------------+
4 rows in set (0.00 sec)
   
--------------
SELECT user, host FROM user
--------------
   
+--------+-----------+
| user   | host      |
+--------+-----------+
| root   | 127.0.0.1 |
| myuser | localhost |
| root   | localhost |
+--------+-----------+
4 rows in set (0.00 sec)
   
Bye
63 (for unicode support) with collating sequence of
shell> mysql -u myuser -p -t -vvv < d:\myproject\sqlscripts\testscript.sql
Enter password: ********
--------------
SHOW DATABASES
--------------
   
+--------------------+
| Database           |
+--------------------+
| information_schema |
| eastwind           |
| mysql              |
| test               |
+--------------------+
4 rows in set (0.00 sec)
   
--------------
SELECT user, host FROM user
--------------
   
+--------+-----------+
| user   | host      |
+--------+-----------+
| root   | 127.0.0.1 |
| myuser | localhost |
| root   | localhost |
+--------+-----------+
4 rows in set (0.00 sec)
   
Bye
78 (default). However, column
shell> mysql -u myuser -p -t -vvv < d:\myproject\sqlscripts\testscript.sql
Enter password: ********
--------------
SHOW DATABASES
--------------
   
+--------------------+
| Database           |
+--------------------+
| information_schema |
| eastwind           |
| mysql              |
| test               |
+--------------------+
4 rows in set (0.00 sec)
   
--------------
SELECT user, host FROM user
--------------
   
+--------+-----------+
| user   | host      |
+--------+-----------+
| root   | 127.0.0.1 |
| myuser | localhost |
| root   | localhost |
+--------+-----------+
4 rows in set (0.00 sec)
   
Bye
79 uses character set
shell> mysql -u myuser -p -t -vvv < d:\myproject\sqlscripts\testscript.sql
Enter password: ********
--------------
SHOW DATABASES
--------------
   
+--------------------+
| Database           |
+--------------------+
| information_schema |
| eastwind           |
| mysql              |
| test               |
+--------------------+
4 rows in set (0.00 sec)
   
--------------
SELECT user, host FROM user
--------------
   
+--------+-----------+
| user   | host      |
+--------+-----------+
| root   | 127.0.0.1 |
| myuser | localhost |
| root   | localhost |
+--------+-----------+
4 rows in set (0.00 sec)
   
Bye
55 with collation
shell> mysql -u myuser -p -t -vvv < d:\myproject\sqlscripts\testscript.sql
Enter password: ********
--------------
SHOW DATABASES
--------------
   
+--------------------+
| Database           |
+--------------------+
| information_schema |
| eastwind           |
| mysql              |
| test               |
+--------------------+
4 rows in set (0.00 sec)
   
--------------
SELECT user, host FROM user
--------------
   
+--------+-----------+
| user   | host      |
+--------+-----------+
| root   | 127.0.0.1 |
| myuser | localhost |
| root   | localhost |
+--------+-----------+
4 rows in set (0.00 sec)
   
Bye
60; column
shell> mysql -u myuser -p -t -vvv < d:\myproject\sqlscripts\testscript.sql
Enter password: ********
--------------
SHOW DATABASES
--------------
   
+--------------------+
| Database           |
+--------------------+
| information_schema |
| eastwind           |
| mysql              |
| test               |
+--------------------+
4 rows in set (0.00 sec)
   
--------------
SELECT user, host FROM user
--------------
   
+--------+-----------+
| user   | host      |
+--------+-----------+
| root   | 127.0.0.1 |
| myuser | localhost |
| root   | localhost |
+--------+-----------+
4 rows in set (0.00 sec)
   
Bye
82 uses character set
shell> mysql -u myuser -p -t -vvv < d:\myproject\sqlscripts\testscript.sql
Enter password: ********
--------------
SHOW DATABASES
--------------
   
+--------------------+
| Database           |
+--------------------+
| information_schema |
| eastwind           |
| mysql              |
| test               |
+--------------------+
4 rows in set (0.00 sec)
   
--------------
SELECT user, host FROM user
--------------
   
+--------+-----------+
| user   | host      |
+--------+-----------+
| root   | 127.0.0.1 |
| myuser | localhost |
| root   | localhost |
+--------+-----------+
4 rows in set (0.00 sec)
   
Bye
83 with default collation
shell> mysql -u myuser -p -t -vvv < d:\myproject\sqlscripts\testscript.sql
Enter password: ********
--------------
SHOW DATABASES
--------------
   
+--------------------+
| Database           |
+--------------------+
| information_schema |
| eastwind           |
| mysql              |
| test               |
+--------------------+
4 rows in set (0.00 sec)
   
--------------
SELECT user, host FROM user
--------------
   
+--------+-----------+
| user   | host      |
+--------+-----------+
| root   | 127.0.0.1 |
| myuser | localhost |
| root   | localhost |
+--------+-----------+
4 rows in set (0.00 sec)
   
Bye
84 (not from table default but from the charset default); column
shell> mysql -u myuser -p -t -vvv < d:\myproject\sqlscripts\testscript.sql
Enter password: ********
--------------
SHOW DATABASES
--------------
   
+--------------------+
| Database           |
+--------------------+
| information_schema |
| eastwind           |
| mysql              |
| test               |
+--------------------+
4 rows in set (0.00 sec)
   
--------------
SELECT user, host FROM user
--------------
   
+--------+-----------+
| user   | host      |
+--------+-----------+
| root   | 127.0.0.1 |
| myuser | localhost |
| root   | localhost |
+--------+-----------+
4 rows in set (0.00 sec)
   
Bye
85 uses the default character set and collation of the table

Example (Testing Character Sets and Collations). Read "

shell> mysql -u myuser -p -t -vvv < d:\myproject\sqlscripts\testscript.sql
Enter password: ********
--------------
SHOW DATABASES
--------------
   
+--------------------+
| Database           |
+--------------------+
| information_schema |
| eastwind           |
| mysql              |
| test               |
+--------------------+
4 rows in set (0.00 sec)
   
--------------
SELECT user, host FROM user
--------------
   
+--------+-----------+
| user   | host      |
+--------+-----------+
| root   | 127.0.0.1 |
| myuser | localhost |
| root   | localhost |
+--------+-----------+
4 rows in set (0.00 sec)
   
Bye
86"

Character Set and Collation Related System Variables

There are quite a number of system variables related to charset and collation, with names starting with "

shell> mysql -u myuser -p -t -vvv < d:\myproject\sqlscripts\testscript.sql
Enter password: ********
--------------
SHOW DATABASES
--------------
   
+--------------------+
| Database           |
+--------------------+
| information_schema |
| eastwind           |
| mysql              |
| test               |
+--------------------+
4 rows in set (0.00 sec)
   
--------------
SELECT user, host FROM user
--------------
   
+--------+-----------+
| user   | host      |
+--------+-----------+
| root   | 127.0.0.1 |
| myuser | localhost |
| root   | localhost |
+--------+-----------+
4 rows in set (0.00 sec)
   
Bye
87" and "
shell> mysql -u myuser -p -t -vvv < d:\myproject\sqlscripts\testscript.sql
Enter password: ********
--------------
SHOW DATABASES
--------------
   
+--------------------+
| Database           |
+--------------------+
| information_schema |
| eastwind           |
| mysql              |
| test               |
+--------------------+
4 rows in set (0.00 sec)
   
--------------
SELECT user, host FROM user
--------------
   
+--------+-----------+
| user   | host      |
+--------+-----------+
| root   | 127.0.0.1 |
| myuser | localhost |
| root   | localhost |
+--------+-----------+
4 rows in set (0.00 sec)
   
Bye
88", respectively. You can list them as follows

The system variables

shell> mysql -u myuser -p -t -vvv < d:\myproject\sqlscripts\testscript.sql
Enter password: ********
--------------
SHOW DATABASES
--------------
   
+--------------------+
| Database           |
+--------------------+
| information_schema |
| eastwind           |
| mysql              |
| test               |
+--------------------+
4 rows in set (0.00 sec)
   
--------------
SELECT user, host FROM user
--------------
   
+--------+-----------+
| user   | host      |
+--------+-----------+
| root   | 127.0.0.1 |
| myuser | localhost |
| root   | localhost |
+--------+-----------+
4 rows in set (0.00 sec)
   
Bye
89,
shell> mysql -u myuser -p -t -vvv < d:\myproject\sqlscripts\testscript.sql
Enter password: ********
--------------
SHOW DATABASES
--------------
   
+--------------------+
| Database           |
+--------------------+
| information_schema |
| eastwind           |
| mysql              |
| test               |
+--------------------+
4 rows in set (0.00 sec)
   
--------------
SELECT user, host FROM user
--------------
   
+--------+-----------+
| user   | host      |
+--------+-----------+
| root   | 127.0.0.1 |
| myuser | localhost |
| root   | localhost |
+--------+-----------+
4 rows in set (0.00 sec)
   
Bye
90 and
shell> mysql -u myuser -p -t -vvv < d:\myproject\sqlscripts\testscript.sql
Enter password: ********
--------------
SHOW DATABASES
--------------
   
+--------------------+
| Database           |
+--------------------+
| information_schema |
| eastwind           |
| mysql              |
| test               |
+--------------------+
4 rows in set (0.00 sec)
   
--------------
SELECT user, host FROM user
--------------
   
+--------+-----------+
| user   | host      |
+--------+-----------+
| root   | 127.0.0.1 |
| myuser | localhost |
| root   | localhost |
+--------+-----------+
4 rows in set (0.00 sec)
   
Bye
91,
shell> mysql -u myuser -p -t -vvv < d:\myproject\sqlscripts\testscript.sql
Enter password: ********
--------------
SHOW DATABASES
--------------
   
+--------------------+
| Database           |
+--------------------+
| information_schema |
| eastwind           |
| mysql              |
| test               |
+--------------------+
4 rows in set (0.00 sec)
   
--------------
SELECT user, host FROM user
--------------
   
+--------+-----------+
| user   | host      |
+--------+-----------+
| root   | 127.0.0.1 |
| myuser | localhost |
| root   | localhost |
+--------+-----------+
4 rows in set (0.00 sec)
   
Bye
92 maintain the default charset and collation for the server and the current database respectively

In MySQL, columns, tables, databases may use different character sets. However, the meta-data (such as column names and attributes) must be stored in the same character set, and include all languages. Hence, meta-data, by default, stored in UTF-8, as maintained in the system variable

shell> mysql -u myuser -p -t -vvv < d:\myproject\sqlscripts\testscript.sql
Enter password: ********
--------------
SHOW DATABASES
--------------
   
+--------------------+
| Database           |
+--------------------+
| information_schema |
| eastwind           |
| mysql              |
| test               |
+--------------------+
4 rows in set (0.00 sec)
   
--------------
SELECT user, host FROM user
--------------
   
+--------+-----------+
| user   | host      |
+--------+-----------+
| root   | 127.0.0.1 |
| myuser | localhost |
| root   | localhost |
+--------+-----------+
4 rows in set (0.00 sec)
   
Bye
93

Character Set for Client-Server Communication

A client connects to the server via a so-called connection object. The client sends the SQL statements over the connection to the server. The server returns the results via the connection to the client. Server maintains a connection for each client, and maintains connection-related character set and collation system variables for each client connection

The client sends its statements using

shell> mysql -u myuser -p -t -vvv < d:\myproject\sqlscripts\testscript.sql
Enter password: ********
--------------
SHOW DATABASES
--------------
   
+--------------------+
| Database           |
+--------------------+
| information_schema |
| eastwind           |
| mysql              |
| test               |
+--------------------+
4 rows in set (0.00 sec)
   
--------------
SELECT user, host FROM user
--------------
   
+--------+-----------+
| user   | host      |
+--------+-----------+
| root   | 127.0.0.1 |
| myuser | localhost |
| root   | localhost |
+--------+-----------+
4 rows in set (0.00 sec)
   
Bye
94. They are translated to
shell> mysql -u myuser -p -t -vvv < d:\myproject\sqlscripts\testscript.sql
Enter password: ********
--------------
SHOW DATABASES
--------------
   
+--------------------+
| Database           |
+--------------------+
| information_schema |
| eastwind           |
| mysql              |
| test               |
+--------------------+
4 rows in set (0.00 sec)
   
--------------
SELECT user, host FROM user
--------------
   
+--------+-----------+
| user   | host      |
+--------+-----------+
| root   | 127.0.0.1 |
| myuser | localhost |
| root   | localhost |
+--------+-----------+
4 rows in set (0.00 sec)
   
Bye
95, and uses
shell> mysql -u myuser -p -t -vvv < d:\myproject\sqlscripts\testscript.sql
Enter password: ********
--------------
SHOW DATABASES
--------------
   
+--------------------+
| Database           |
+--------------------+
| information_schema |
| eastwind           |
| mysql              |
| test               |
+--------------------+
4 rows in set (0.00 sec)
   
--------------
SELECT user, host FROM user
--------------
   
+--------+-----------+
| user   | host      |
+--------+-----------+
| root   | 127.0.0.1 |
| myuser | localhost |
| root   | localhost |
+--------+-----------+
4 rows in set (0.00 sec)
   
Bye
96 for comparing string literals. The server returns the results to the client using
shell> mysql -u myuser -p -t -vvv < d:\myproject\sqlscripts\testscript.sql
Enter password: ********
--------------
SHOW DATABASES
--------------
   
+--------------------+
| Database           |
+--------------------+
| information_schema |
| eastwind           |
| mysql              |
| test               |
+--------------------+
4 rows in set (0.00 sec)
   
--------------
SELECT user, host FROM user
--------------
   
+--------+-----------+
| user   | host      |
+--------+-----------+
| root   | 127.0.0.1 |
| myuser | localhost |
| root   | localhost |
+--------+-----------+
4 rows in set (0.00 sec)
   
Bye
97. You can use command "
shell> mysql -u myuser -p -t -vvv < d:\myproject\sqlscripts\testscript.sql
Enter password: ********
--------------
SHOW DATABASES
--------------
   
+--------------------+
| Database           |
+--------------------+
| information_schema |
| eastwind           |
| mysql              |
| test               |
+--------------------+
4 rows in set (0.00 sec)
   
--------------
SELECT user, host FROM user
--------------
   
+--------+-----------+
| user   | host      |
+--------+-----------+
| root   | 127.0.0.1 |
| myuser | localhost |
| root   | localhost |
+--------+-----------+
4 rows in set (0.00 sec)
   
Bye
98" (e. g. , "
shell> mysql -u myuser -p -t -vvv < d:\myproject\sqlscripts\testscript.sql
Enter password: ********
--------------
SHOW DATABASES
--------------
   
+--------------------+
| Database           |
+--------------------+
| information_schema |
| eastwind           |
| mysql              |
| test               |
+--------------------+
4 rows in set (0.00 sec)
   
--------------
SELECT user, host FROM user
--------------
   
+--------+-----------+
| user   | host      |
+--------+-----------+
| root   | 127.0.0.1 |
| myuser | localhost |
| root   | localhost |
+--------+-----------+
4 rows in set (0.00 sec)
   
Bye
99") to change the character set used for client-server communication. "
> mysql -u myuser -p -vvv -e "SELECT user, host FROM user; SHOW databases" mysql
Enter password: ********
--------------
SELECT user, host FROM user
--------------
   
+-----------+-----------+
| user      | host      |
+-----------+-----------+
| root      | 127.0.0.1 |
  ...... 
+-----------+-----------+
   
--------------
SHOW databases
--------------

+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
| test               |
  ......
+--------------------+
   
Bye
00", in effect, changes system variables
shell> mysql -u myuser -p -t -vvv < d:\myproject\sqlscripts\testscript.sql
Enter password: ********
--------------
SHOW DATABASES
--------------
   
+--------------------+
| Database           |
+--------------------+
| information_schema |
| eastwind           |
| mysql              |
| test               |
+--------------------+
4 rows in set (0.00 sec)
   
--------------
SELECT user, host FROM user
--------------
   
+--------+-----------+
| user   | host      |
+--------+-----------+
| root   | 127.0.0.1 |
| myuser | localhost |
| root   | localhost |
+--------+-----------+
4 rows in set (0.00 sec)
   
Bye
94,
shell> mysql -u myuser -p -t -vvv < d:\myproject\sqlscripts\testscript.sql
Enter password: ********
--------------
SHOW DATABASES
--------------
   
+--------------------+
| Database           |
+--------------------+
| information_schema |
| eastwind           |
| mysql              |
| test               |
+--------------------+
4 rows in set (0.00 sec)
   
--------------
SELECT user, host FROM user
--------------
   
+--------+-----------+
| user   | host      |
+--------+-----------+
| root   | 127.0.0.1 |
| myuser | localhost |
| root   | localhost |
+--------+-----------+
4 rows in set (0.00 sec)
   
Bye
95, and
shell> mysql -u myuser -p -t -vvv < d:\myproject\sqlscripts\testscript.sql
Enter password: ********
--------------
SHOW DATABASES
--------------
   
+--------------------+
| Database           |
+--------------------+
| information_schema |
| eastwind           |
| mysql              |
| test               |
+--------------------+
4 rows in set (0.00 sec)
   
--------------
SELECT user, host FROM user
--------------
   
+--------+-----------+
| user   | host      |
+--------+-----------+
| root   | 127.0.0.1 |
| myuser | localhost |
| root   | localhost |
+--------+-----------+
4 rows in set (0.00 sec)
   
Bye
97. For example,

When a client (e. g. ,

mysql> SHOW COLLATION LIKE 'utf8%';
+--------------------+---------+-----+---------+----------+---------+
| Collation          | Charset | Id  | Default | Compiled | Sortlen |
+--------------------+---------+-----+---------+----------+---------+
| utf8_general_ci    | utf8    |  33 | Yes     | Yes      |       1 |
| utf8_bin           | utf8    |  83 |         | Yes      |       1 |
| utf8_unicode_ci    | utf8    | 192 |         | Yes      |       8 |
| utf8_icelandic_ci  | utf8    | 193 |         | Yes      |       8 |
| utf8_latvian_ci    | utf8    | 194 |         | Yes      |       8 |
| utf8_romanian_ci   | utf8    | 195 |         | Yes      |       8 |
  ......
1,
> mysql -u myuser -p -vvv -e "SELECT user, host FROM user; SHOW databases" mysql
Enter password: ********
--------------
SELECT user, host FROM user
--------------
   
+-----------+-----------+
| user      | host      |
+-----------+-----------+
| root      | 127.0.0.1 |
  ...... 
+-----------+-----------+
   
--------------
SHOW databases
--------------

+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
| test               |
  ......
+--------------------+
   
Bye
05,
> mysql -u myuser -p -vvv -e "SELECT user, host FROM user; SHOW databases" mysql
Enter password: ********
--------------
SELECT user, host FROM user
--------------
   
+-----------+-----------+
| user      | host      |
+-----------+-----------+
| root      | 127.0.0.1 |
  ...... 
+-----------+-----------+
   
--------------
SHOW databases
--------------

+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
| test               |
  ......
+--------------------+
   
Bye
06) connects to the server, it sends the name of the character set that it wants to use to the server (default is
shell> mysql -u myuser -p -t -vvv < d:\myproject\sqlscripts\testscript.sql
Enter password: ********
--------------
SHOW DATABASES
--------------
   
+--------------------+
| Database           |
+--------------------+
| information_schema |
| eastwind           |
| mysql              |
| test               |
+--------------------+
4 rows in set (0.00 sec)
   
--------------
SELECT user, host FROM user
--------------
   
+--------+-----------+
| user   | host      |
+--------+-----------+
| root   | 127.0.0.1 |
| myuser | localhost |
| root   | localhost |
+--------+-----------+
4 rows in set (0.00 sec)
   
Bye
55; or specify in
> mysql -u myuser -p -vvv -e "SELECT user, host FROM user; SHOW databases" mysql
Enter password: ********
--------------
SELECT user, host FROM user
--------------
   
+-----------+-----------+
| user      | host      |
+-----------+-----------+
| root      | 127.0.0.1 |
  ...... 
+-----------+-----------+
   
--------------
SHOW databases
--------------

+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
| test               |
  ......
+--------------------+
   
Bye
08 startup option of the client). The server uses this name to set the
shell> mysql -u myuser -p -t -vvv < d:\myproject\sqlscripts\testscript.sql
Enter password: ********
--------------
SHOW DATABASES
--------------
   
+--------------------+
| Database           |
+--------------------+
| information_schema |
| eastwind           |
| mysql              |
| test               |
+--------------------+
4 rows in set (0.00 sec)
   
--------------
SELECT user, host FROM user
--------------
   
+--------+-----------+
| user   | host      |
+--------+-----------+
| root   | 127.0.0.1 |
| myuser | localhost |
| root   | localhost |
+--------+-----------+
4 rows in set (0.00 sec)
   
Bye
94,
shell> mysql -u myuser -p -t -vvv < d:\myproject\sqlscripts\testscript.sql
Enter password: ********
--------------
SHOW DATABASES
--------------
   
+--------------------+
| Database           |
+--------------------+
| information_schema |
| eastwind           |
| mysql              |
| test               |
+--------------------+
4 rows in set (0.00 sec)
   
--------------
SELECT user, host FROM user
--------------
   
+--------+-----------+
| user   | host      |
+--------+-----------+
| root   | 127.0.0.1 |
| myuser | localhost |
| root   | localhost |
+--------+-----------+
4 rows in set (0.00 sec)
   
Bye
97, and
shell> mysql -u myuser -p -t -vvv < d:\myproject\sqlscripts\testscript.sql
Enter password: ********
--------------
SHOW DATABASES
--------------
   
+--------------------+
| Database           |
+--------------------+
| information_schema |
| eastwind           |
| mysql              |
| test               |
+--------------------+
4 rows in set (0.00 sec)
   
--------------
SELECT user, host FROM user
--------------
   
+--------+-----------+
| user   | host      |
+--------+-----------+
| root   | 127.0.0.1 |
| myuser | localhost |
| root   | localhost |
+--------+-----------+
4 rows in set (0.00 sec)
   
Bye
95 system variables for this client connection. In effect, the server performs a "
> mysql -u myuser -p -vvv -e "SELECT user, host FROM user; SHOW databases" mysql
Enter password: ********
--------------
SELECT user, host FROM user
--------------
   
+-----------+-----------+
| user      | host      |
+-----------+-----------+
| root      | 127.0.0.1 |
  ...... 
+-----------+-----------+
   
--------------
SHOW databases
--------------

+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
| test               |
  ......
+--------------------+
   
Bye
00"

String Data Types

MySQL supports fixed-length and variable-length string types

  • CHAR(n). fix-length string of
    shell> mysql -u myuser -p -t -vvv < d:\myproject\sqlscripts\testscript.sql
    Enter password: ********
    --------------
    SHOW DATABASES
    --------------
       
    +--------------------+
    | Database           |
    +--------------------+
    | information_schema |
    | eastwind           |
    | mysql              |
    | test               |
    +--------------------+
    4 rows in set (0.00 sec)
       
    --------------
    SELECT user, host FROM user
    --------------
       
    +--------+-----------+
    | user   | host      |
    +--------+-----------+
    | root   | 127.0.0.1 |
    | myuser | localhost |
    | root   | localhost |
    +--------+-----------+
    4 rows in set (0.00 sec)
       
    Bye
    03 characters, right-pad with spaces. The maximum
    > mysql -u myuser -p -t < d:\myproject\sqlscripts\testscript.sql
    Enter password: ********
    +--------------------+
    | Database           |
    +--------------------+
    | information_schema |
    | eastwind           |
    | mysql              |
    | test               |
    +--------------------+
    +--------+-----------+
    | user   | host      |
    +--------+-----------+
    | root   | 127.0.0.1 |
    | myuser | localhost |
    | root   | localhost |
    +--------+-----------+
    66 is 255 characters
  • VARCHAR(n). variable-length string of up to
    > mysql -u myuser -p -t < d:\myproject\sqlscripts\testscript.sql
    Enter password: ********
    +--------------------+
    | Database           |
    +--------------------+
    | information_schema |
    | eastwind           |
    | mysql              |
    | test               |
    +--------------------+
    +--------+-----------+
    | user   | host      |
    +--------+-----------+
    | root   | 127.0.0.1 |
    | myuser | localhost |
    | root   | localhost |
    +--------+-----------+
    66 characters. The maximum
    shell> mysql -u myuser -p -t -vvv < d:\myproject\sqlscripts\testscript.sql
    Enter password: ********
    --------------
    SHOW DATABASES
    --------------
       
    +--------------------+
    | Database           |
    +--------------------+
    | information_schema |
    | eastwind           |
    | mysql              |
    | test               |
    +--------------------+
    4 rows in set (0.00 sec)
       
    --------------
    SELECT user, host FROM user
    --------------
       
    +--------+-----------+
    | user   | host      |
    +--------+-----------+
    | root   | 127.0.0.1 |
    | myuser | localhost |
    | root   | localhost |
    +--------+-----------+
    4 rows in set (0.00 sec)
       
    Bye
    03 is 65535 bytes of storage (
    shell> mysql -u myuser -p -t -vvv < d:\myproject\sqlscripts\testscript.sql
    Enter password: ********
    --------------
    SHOW DATABASES
    --------------
       
    +--------------------+
    | Database           |
    +--------------------+
    | information_schema |
    | eastwind           |
    | mysql              |
    | test               |
    +--------------------+
    4 rows in set (0.00 sec)
       
    --------------
    SELECT user, host FROM user
    --------------
       
    +--------+-----------+
    | user   | host      |
    +--------+-----------+
    | root   | 127.0.0.1 |
    | myuser | localhost |
    | root   | localhost |
    +--------+-----------+
    4 rows in set (0.00 sec)
       
    Bye
    63 characters range from 1-4 bytes)
  • TINYTEXT. up to 255 Bytes
  • TEXT. up to 64 KBytes
  • MEDIUMTEXT. up to 16 MBytes
  • LONGTEXT. up to 4 GBytes

Example. [TODO]

String Literals and String Introducer

A string literal has on optional charset introducer and collate clause. The introducer tells the parser that the string that is followed uses a certain character set

CONVERT(. USING . ) Function

> mysql -u myuser -p -vvv -e "SELECT user, host FROM user; SHOW databases" mysql
Enter password: ********
--------------
SELECT user, host FROM user
--------------
   
+-----------+-----------+
| user      | host      |
+-----------+-----------+
| root      | 127.0.0.1 |
  ...... 
+-----------+-----------+
   
--------------
SHOW databases
--------------

+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
| test               |
  ......
+--------------------+
   
Bye
18 can be used to convert string between different character sets, e. g. ,

> mysql -u myuser -p < d:\myproject\sqlscripts\testscript.sql > output.txt
1

String introducer merely interprets the string literal and does not change its value; whereas

> mysql -u myuser -p -vvv -e "SELECT user, host FROM user; SHOW databases" mysql
Enter password: ********
--------------
SELECT user, host FROM user
--------------
   
+-----------+-----------+
| user      | host      |
+-----------+-----------+
| root      | 127.0.0.1 |
  ...... 
+-----------+-----------+
   
--------------
SHOW databases
--------------

+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
| test               |
  ......
+--------------------+
   
Bye
19() returns a new value of the specified type. For example,

UTF8 Charset

For internationalization, UTF8 charset shall be used

UTF8-Encoded Chinese Characters in Windows' CMD Shell

In brief, do not use CMD shell to work on UTF8 charset. Use a tool such as NetBeans, Eclipse, MySQL workbench or PhpMyAdmin which fully supports UTF8 charset

If you want to display a text file encoded in a particular character set (e. g. , ASCII, Latin1, UTF8) in CMD correctly, you need to choose a matching "codepage". For example, ANSI/Latin1 requires codepage 1252, Simplified Chinese GBK (GB2312) requires 936, UTF8 requires 65001, UCS2LE requires 1200, UCS2BE requires 1201, and the original DOS extended-ASCII uses codepage 437

CMD is NOT able to detect the character set automatically and switch to the matching codepage. To set the codepage in CMD, issue command "

> mysql -u myuser -p -vvv -e "SELECT user, host FROM user; SHOW databases" mysql
Enter password: ********
--------------
SELECT user, host FROM user
--------------
   
+-----------+-----------+
| user      | host      |
+-----------+-----------+
| root      | 127.0.0.1 |
  ...... 
+-----------+-----------+
   
--------------
SHOW databases
--------------

+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
| test               |
  ......
+--------------------+
   
Bye
20", e. g. "
> mysql -u myuser -p -vvv -e "SELECT user, host FROM user; SHOW databases" mysql
Enter password: ********
--------------
SELECT user, host FROM user
--------------
   
+-----------+-----------+
| user      | host      |
+-----------+-----------+
| root      | 127.0.0.1 |
  ...... 
+-----------+-----------+
   
--------------
SHOW databases
--------------

+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
| test               |
  ......
+--------------------+
   
Bye
21" to choose UTF8 codepage. This codepage could display UTF8 text correctly, and display garbage if the text is encoded using other character set, including UCS2, GB2312

You also have to choose a font (such as Consolas, Lucida Console, but NOT raster font) that supports the characters. To choose the font for CMD, click on the CMD icon ⇒ "Properties" ⇒ "Font"

There are a number of character encoding schemes for Chinese characters, e. g. , Unicode (UTF8, UCS2GE, UCS2LE), GB2312, GBK and BIG5, which are not compatible. Đọc phần "Hướng dẫn về biểu diễn dữ liệu" để biết thêm chi tiết

Unicode is an international standard, which supports all languages, including Chinese, Japanese and Korean (CJK). Unicode has two frequently-used encoding schemes. UTF8 (1-3 bytes variable-length, the 1-byte codes are backward-compatible with ASCII) and UCS2 (2 byte fixed-length). UTF8 is ideal if your text consists of mainly ASCII (English text), with occasional non-ASCII text. I strongly recommend using UTF8 character set for MySQL columns that require internationalization support. GB2312 là tiêu chuẩn quốc gia của Trung Quốc dành cho tiếng Trung giản thể, nó không tương thích với UCS2 hoặc UTF8. For example, for the chinese characters "您好", the UCS2 is "

> mysql -u myuser -p -vvv -e "SELECT user, host FROM user; SHOW databases" mysql
Enter password: ********
--------------
SELECT user, host FROM user
--------------
   
+-----------+-----------+
| user      | host      |
+-----------+-----------+
| root      | 127.0.0.1 |
  ...... 
+-----------+-----------+
   
--------------
SHOW databases
--------------

+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
| test               |
  ......
+--------------------+
   
Bye
22", the UTF8 is "
> mysql -u myuser -p -vvv -e "SELECT user, host FROM user; SHOW databases" mysql
Enter password: ********
--------------
SELECT user, host FROM user
--------------
   
+-----------+-----------+
| user      | host      |
+-----------+-----------+
| root      | 127.0.0.1 |
  ...... 
+-----------+-----------+
   
--------------
SHOW databases
--------------

+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
| test               |
  ......
+--------------------+
   
Bye
23", the GB1232 is "
> mysql -u myuser -p -vvv -e "SELECT user, host FROM user; SHOW databases" mysql
Enter password: ********
--------------
SELECT user, host FROM user
--------------
   
+-----------+-----------+
| user      | host      |
+-----------+-----------+
| root      | 127.0.0.1 |
  ...... 
+-----------+-----------+
   
--------------
SHOW databases
--------------

+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
| test               |
  ......
+--------------------+
   
Bye
24"

Unfortunately, in CMD, the Microsoft Pinyin IME (MSPY), the Chinese character input tool, is disabled for codepage 65001 (UTF8) (?. ?. ). MSPY works on GB2312 (codepage 936). If you run your MySQL client in CMD, using codepage 936 (GB2312) so that you can input chinese characters (e. g. , đối với

> mysql -u myuser -p -t < d:\myproject\sqlscripts\testscript.sql
Enter password: ********
+--------------------+
| Database           |
+--------------------+
| information_schema |
| eastwind           |
| mysql              |
| test               |
+--------------------+
+--------+-----------+
| user   | host      |
+--------+-----------+
| root   | 127.0.0.1 |
| myuser | localhost |
| root   | localhost |
+--------+-----------+
92 và
> mysql -u myuser -p -vvv -e "SELECT user, host FROM user; SHOW databases" mysql
Enter password: ********
--------------
SELECT user, host FROM user
--------------
   
+-----------+-----------+
| user      | host      |
+-----------+-----------+
| root      | 127.0.0.1 |
  ...... 
+-----------+-----------+
   
--------------
SHOW databases
--------------

+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
| test               |
  ......
+--------------------+
   
Bye
26), nhưng các cột ký tự trong cơ sở dữ liệu của bạn đang sử dụng UTF8, bạn cần xử lý tình huống này hết sức cẩn thận

In MySQL client, you can issue the command "

> mysql -u myuser -p -vvv -e "SELECT user, host FROM user; SHOW databases" mysql
Enter password: ********
--------------
SELECT user, host FROM user
--------------
   
+-----------+-----------+
| user      | host      |
+-----------+-----------+
| root      | 127.0.0.1 |
  ...... 
+-----------+-----------+
   
--------------
SHOW databases
--------------

+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
| test               |
  ......
+--------------------+
   
Bye
27'" to specify the character set used for the client/server communication. (Alternatively, you could start
> mysql -u myuser -p -vvv -e "SELECT user, host FROM user; SHOW databases" mysql
Enter password: ********
--------------
SELECT user, host FROM user
--------------
   
+-----------+-----------+
| user      | host      |
+-----------+-----------+
| root      | 127.0.0.1 |
  ...... 
+-----------+-----------+
   
--------------
SHOW databases
--------------

+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
| test               |
  ......
+--------------------+
   
Bye
28 client with the
> mysql -u myuser -p -vvv -e "SELECT user, host FROM user; SHOW databases" mysql
Enter password: ********
--------------
SELECT user, host FROM user
--------------
   
+-----------+-----------+
| user      | host      |
+-----------+-----------+
| root      | 127.0.0.1 |
  ...... 
+-----------+-----------+
   
--------------
SHOW databases
--------------

+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
| test               |
  ......
+--------------------+
   
Bye
29 option. )

Trong tình huống trên, bạn cần phát hành "

> mysql -u myuser -p -vvv -e "SELECT user, host FROM user; SHOW databases" mysql
Enter password: ********
--------------
SELECT user, host FROM user
--------------
   
+-----------+-----------+
| user      | host      |
+-----------+-----------+
| root      | 127.0.0.1 |
  ...... 
+-----------+-----------+
   
--------------
SHOW databases
--------------

+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
| test               |
  ......
+--------------------+
   
Bye
30", vì đầu vào của bạn được mã hóa bằng GB2312, được gửi đến máy chủ. The server receives the characters in GB2312, converts them into the character set defined for the column, which is UTF8, before storing them. Trong khi truy vấn, máy chủ truy xuất các ký tự từ các cột trong UTF8, chuyển đổi thành GB2312 (theo
> mysql -u myuser -p -vvv -e "SELECT user, host FROM user; SHOW databases" mysql
Enter password: ********
--------------
SELECT user, host FROM user
--------------
   
+-----------+-----------+
| user      | host      |
+-----------+-----------+
| root      | 127.0.0.1 |
  ...... 
+-----------+-----------+
   
--------------
SHOW databases
--------------

+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
| test               |
  ......
+--------------------+
   
Bye
00) và gửi tới máy khách trong CMD, sử dụng trang mã 936 để hiển thị chính xác văn bản. Try the following commands

> mysql -u myuser -p < d:\myproject\sqlscripts\testscript.sql > output.txt
2

Quan sát rằng

> mysql -u myuser -p -vvv -e "SELECT user, host FROM user; SHOW databases" mysql
Enter password: ********
--------------
SELECT user, host FROM user
--------------
   
+-----------+-----------+
| user      | host      |
+-----------+-----------+
| root      | 127.0.0.1 |
  ...... 
+-----------+-----------+
   
--------------
SHOW databases
--------------

+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
| test               |
  ......
+--------------------+
   
Bye
00 ảnh hưởng đến
shell> mysql -u myuser -p -t -vvv < d:\myproject\sqlscripts\testscript.sql
Enter password: ********
--------------
SHOW DATABASES
--------------
   
+--------------------+
| Database           |
+--------------------+
| information_schema |
| eastwind           |
| mysql              |
| test               |
+--------------------+
4 rows in set (0.00 sec)
   
--------------
SELECT user, host FROM user
--------------
   
+--------+-----------+
| user   | host      |
+--------+-----------+
| root   | 127.0.0.1 |
| myuser | localhost |
| root   | localhost |
+--------+-----------+
4 rows in set (0.00 sec)
   
Bye
94,
shell> mysql -u myuser -p -t -vvv < d:\myproject\sqlscripts\testscript.sql
Enter password: ********
--------------
SHOW DATABASES
--------------
   
+--------------------+
| Database           |
+--------------------+
| information_schema |
| eastwind           |
| mysql              |
| test               |
+--------------------+
4 rows in set (0.00 sec)
   
--------------
SELECT user, host FROM user
--------------
   
+--------+-----------+
| user   | host      |
+--------+-----------+
| root   | 127.0.0.1 |
| myuser | localhost |
| root   | localhost |
+--------+-----------+
4 rows in set (0.00 sec)
   
Bye
95 và
shell> mysql -u myuser -p -t -vvv < d:\myproject\sqlscripts\testscript.sql
Enter password: ********
--------------
SHOW DATABASES
--------------
   
+--------------------+
| Database           |
+--------------------+
| information_schema |
| eastwind           |
| mysql              |
| test               |
+--------------------+
4 rows in set (0.00 sec)
   
--------------
SELECT user, host FROM user
--------------
   
+--------+-----------+
| user   | host      |
+--------+-----------+
| root   | 127.0.0.1 |
| myuser | localhost |
| root   | localhost |
+--------+-----------+
4 rows in set (0.00 sec)
   
Bye
97

Giả sử rằng bạn tương tác với máy chủ thông qua một chương trình Java, được viết bằng Eclipse hoặc các chương trình khác. Bạn nên đặt mã hóa thành UTF8 và bao gồm "

shell> mysql -u myuser -p -t -vvv < d:\myproject\sqlscripts\testscript.sql
Enter password: ********
--------------
SHOW DATABASES
--------------
   
+--------------------+
| Database           |
+--------------------+
| information_schema |
| eastwind           |
| mysql              |
| test               |
+--------------------+
4 rows in set (0.00 sec)
   
--------------
SELECT user, host FROM user
--------------
   
+--------+-----------+
| user   | host      |
+--------+-----------+
| root   | 127.0.0.1 |
| myuser | localhost |
| root   | localhost |
+--------+-----------+
4 rows in set (0.00 sec)
   
Bye
99" trong tập lệnh MySQL của mình

Tương tự, giả sử rằng bạn đang chạy tập lệnh SQL ở chế độ hàng loạt hoặc sử dụng lệnh nguồn trong CMD và tập lệnh của bạn được mã hóa bằng UTF8, thì bạn nên đưa "

shell> mysql -u myuser -p -t -vvv < d:\myproject\sqlscripts\testscript.sql
Enter password: ********
--------------
SHOW DATABASES
--------------
   
+--------------------+
| Database           |
+--------------------+
| information_schema |
| eastwind           |
| mysql              |
| test               |
+--------------------+
4 rows in set (0.00 sec)
   
--------------
SELECT user, host FROM user
--------------
   
+--------+-----------+
| user   | host      |
+--------+-----------+
| root   | 127.0.0.1 |
| myuser | localhost |
| root   | localhost |
+--------+-----------+
4 rows in set (0.00 sec)
   
Bye
99" vào tập lệnh ("
> mysql -u myuser -p -vvv -e "SELECT user, host FROM user; SHOW databases" mysql
Enter password: ********
--------------
SELECT user, host FROM user
--------------
   
+-----------+-----------+
| user      | host      |
+-----------+-----------+
| root      | 127.0.0.1 |
  ...... 
+-----------+-----------+
   
--------------
SHOW databases
--------------

+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
| test               |
  ......
+--------------------+
   
Bye
30" dẫn đến rác được chèn vào cơ sở dữ liệu). Nhưng để truy vấn tương tác trong CMD bằng mã trang 936, bạn cần "
> mysql -u myuser -p -vvv -e "SELECT user, host FROM user; SHOW databases" mysql
Enter password: ********
--------------
SELECT user, host FROM user
--------------
   
+-----------+-----------+
| user      | host      |
+-----------+-----------+
| root      | 127.0.0.1 |
  ...... 
+-----------+-----------+
   
--------------
SHOW databases
--------------

+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
| test               |
  ......
+--------------------+
   
Bye
30" để chuyển đổi UTF8 thành GB2312 (cp936)

Tôi hy vọng rằng, trong CMD sử dụng trang mã 65001, tôi có thể hiển thị cột UTF8 từ MySQL một cách chính xác với "_______20_______99". Nhưng nó không hoạt động trong máy tính của tôi (?. ?. )

Lưu ý rằng bạn có thể sử dụng hàm

> mysql -u myuser -p < d:\myproject\sqlscripts\testscript.sql > output.txt
64 để yêu cầu mã hex của các ký tự, được lưu trữ trong cơ sở dữ liệu

> mysql -u myuser -p < d:\myproject\sqlscripts\testscript.sql > output.txt
3

Ví dụ (Kiểm tra các ký tự tiếng Trung được mã hóa UTF8). Đọc "

> mysql -u myuser -p -vvv -e "SELECT user, host FROM user; SHOW databases" mysql
Enter password: ********
--------------
SELECT user, host FROM user
--------------
   
+-----------+-----------+
| user      | host      |
+-----------+-----------+
| root      | 127.0.0.1 |
  ...... 
+-----------+-----------+
   
--------------
SHOW databases
--------------

+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
| test               |
  ......
+--------------------+
   
Bye
42"

Lưu ý khi sử dụng các ký tự được mã hóa UTF8 trong Eclipse/Java
  1. Mở hộp thoại Run ⇒ "ứng dụng của bạn" ⇒ Tab chung ⇒ Mã hóa bảng điều khiển ⇒ Khác ⇒ "đặt thành UTF-8"
  2. Mở Hộp thoại Chạy ⇒ "ứng dụng của bạn" ⇒ Tab Đối số ⇒ Đối số VM ⇒ Thêm "
    > mysql -u myuser -p -vvv -e "SELECT user, host FROM user; SHOW databases" mysql
    Enter password: ********
    --------------
    SELECT user, host FROM user
    --------------
       
    +-----------+-----------+
    | user      | host      |
    +-----------+-----------+
    | root      | 127.0.0.1 |
      ...... 
    +-----------+-----------+
       
    --------------
    SHOW databases
    --------------
    
    +--------------------+
    | Database           |
    +--------------------+
    | information_schema |
    | mysql              |
    | test               |
      ......
    +--------------------+
       
    Bye
    43";
  3. Menu cửa sổ ⇒ Chung ⇒ Không gian làm việc ⇒ Mã hóa tệp văn bản ⇒ được đặt thành "UTF-8"

Dữ liệu nhị phân và BLOB

MySQL hỗ trợ cả chuỗi ký tự (một chuỗi ký tự) và chuỗi nhị phân (một chuỗi byte). Dữ liệu nhị phân (e. g. , hình ảnh và mã) là chuỗi đặc biệt có bộ ký tự là

> mysql -u myuser -p -vvv -e "SELECT user, host FROM user; SHOW databases" mysql
Enter password: ********
--------------
SELECT user, host FROM user
--------------
   
+-----------+-----------+
| user      | host      |
+-----------+-----------+
| root      | 127.0.0.1 |
  ...... 
+-----------+-----------+
   
--------------
SHOW databases
--------------

+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
| test               |
  ......
+--------------------+
   
Bye
46, nghĩa là tất cả các ký tự được coi là byte thô nhị phân

  • NHỊP NHỊ(n). Tương tự như
    > mysql -u myuser -p -vvv -e "SELECT user, host FROM user; SHOW databases" mysql
    Enter password: ********
    --------------
    SELECT user, host FROM user
    --------------
       
    +-----------+-----------+
    | user      | host      |
    +-----------+-----------+
    | root      | 127.0.0.1 |
      ...... 
    +-----------+-----------+
       
    --------------
    SHOW databases
    --------------
    
    +--------------------+
    | Database           |
    +--------------------+
    | information_schema |
    | mysql              |
    | test               |
      ......
    +--------------------+
       
    Bye
    47, nhưng lưu trữ dữ liệu nhị phân với độ dài cố định là
    > mysql -u myuser -p -t < d:\myproject\sqlscripts\testscript.sql
    Enter password: ********
    +--------------------+
    | Database           |
    +--------------------+
    | information_schema |
    | eastwind           |
    | mysql              |
    | test               |
    +--------------------+
    +--------+-----------+
    | user   | host      |
    +--------+-----------+
    | root   | 127.0.0.1 |
    | myuser | localhost |
    | root   | localhost |
    +--------+-----------+
    66 byte
  • BIẾN THỂ(n). Tương tự như
    > mysql -u myuser -p -vvv -e "SELECT user, host FROM user; SHOW databases" mysql
    Enter password: ********
    --------------
    SELECT user, host FROM user
    --------------
       
    +-----------+-----------+
    | user      | host      |
    +-----------+-----------+
    | root      | 127.0.0.1 |
      ...... 
    +-----------+-----------+
       
    --------------
    SHOW databases
    --------------
    
    +--------------------+
    | Database           |
    +--------------------+
    | information_schema |
    | mysql              |
    | test               |
      ......
    +--------------------+
       
    Bye
    49, nhưng lưu trữ dữ liệu nhị phân có độ dài thay đổi lên tới
    > mysql -u myuser -p -t < d:\myproject\sqlscripts\testscript.sql
    Enter password: ********
    +--------------------+
    | Database           |
    +--------------------+
    | information_schema |
    | eastwind           |
    | mysql              |
    | test               |
    +--------------------+
    +--------+-----------+
    | user   | host      |
    +--------+-----------+
    | root   | 127.0.0.1 |
    | myuser | localhost |
    | root   | localhost |
    +--------+-----------+
    66 byte
  • TINYBLOB. lên đến 255 byte
  • BÃI. lên đến 64KByte
  • VỪABLOB. lên đến 16MByte
  • BÓNG DÀI. lên đến 4GB

Ví dụ. Hàm

> mysql -u myuser -p -vvv -e "SELECT user, host FROM user; SHOW databases" mysql
Enter password: ********
--------------
SELECT user, host FROM user
--------------
   
+-----------+-----------+
| user      | host      |
+-----------+-----------+
| root      | 127.0.0.1 |
  ...... 
+-----------+-----------+
   
--------------
SHOW databases
--------------

+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
| test               |
  ......
+--------------------+
   
Bye
51, đọc từ tệp và trả về một chuỗi, có thể được sử dụng để tải trường
> mysql -u myuser -p -vvv -e "SELECT user, host FROM user; SHOW databases" mysql
Enter password: ********
--------------
SELECT user, host FROM user
--------------
   
+-----------+-----------+
| user      | host      |
+-----------+-----------+
| root      | 127.0.0.1 |
  ...... 
+-----------+-----------+
   
--------------
SHOW databases
--------------

+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
| test               |
  ......
+--------------------+
   
Bye
52/
> mysql -u myuser -p -vvv -e "SELECT user, host FROM user; SHOW databases" mysql
Enter password: ********
--------------
SELECT user, host FROM user
--------------
   
+-----------+-----------+
| user      | host      |
+-----------+-----------+
| root      | 127.0.0.1 |
  ...... 
+-----------+-----------+
   
--------------
SHOW databases
--------------

+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
| test               |
  ......
+--------------------+
   
Bye
53 với tệp nhị phân/văn bản

> mysql -u myuser -p < d:\myproject\sqlscripts\testscript.sql > output.txt
4

Ví dụ. Lưu trữ hình thu nhỏ [Tham khảo Ví dụ về Cơ sở dữ liệu cho thuê]

ENUM

> mysql -u myuser -p -vvv -e "SELECT user, host FROM user; SHOW databases" mysql
Enter password: ********
--------------
SELECT user, host FROM user
--------------
   
+-----------+-----------+
| user      | host      |
+-----------+-----------+
| root      | 127.0.0.1 |
  ...... 
+-----------+-----------+
   
--------------
SHOW databases
--------------

+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
| test               |
  ......
+--------------------+
   
Bye
54 là một loại chuỗi đặc biệt. Một
> mysql -u myuser -p -vvv -e "SELECT user, host FROM user; SHOW databases" mysql
Enter password: ********
--------------
SELECT user, host FROM user
--------------
   
+-----------+-----------+
| user      | host      |
+-----------+-----------+
| root      | 127.0.0.1 |
  ...... 
+-----------+-----------+
   
--------------
SHOW databases
--------------

+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
| test               |
  ......
+--------------------+
   
Bye
54 (hoặc liệt kê) là một chuỗi có giá trị được chọn từ danh sách các giá trị được phép (hoặc thành viên). The list of allowed values are defined explicitly in the column definition of the
> mysql -u myuser -p < d:\myproject\sqlscripts\testscript.sql > output.txt
18 command. Ví dụ,

> mysql -u myuser -p < d:\myproject\sqlscripts\testscript.sql > output.txt
5

Giá trị phải là một chuỗi ký tự được trích dẫn. Giá trị trùng lặp không được phép.

> mysql -u myuser -p < d:\myproject\sqlscripts\testscript.sql > output.txt
89 chỉ được phép nếu cột được khai báo là cho phép
> mysql -u myuser -p < d:\myproject\sqlscripts\testscript.sql > output.txt
89. Nếu bạn chèn một giá trị không có trong danh sách
> mysql -u myuser -p -vvv -e "SELECT user, host FROM user; SHOW databases" mysql
Enter password: ********
--------------
SELECT user, host FROM user
--------------
   
+-----------+-----------+
| user      | host      |
+-----------+-----------+
| root      | 127.0.0.1 |
  ...... 
+-----------+-----------+
   
--------------
SHOW databases
--------------

+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
| test               |
  ......
+--------------------+
   
Bye
54, một chuỗi trống (
> mysql -u myuser -p -vvv -e "SELECT user, host FROM user; SHOW databases" mysql
Enter password: ********
--------------
SELECT user, host FROM user
--------------
   
+-----------+-----------+
| user      | host      |
+-----------+-----------+
| root      | 127.0.0.1 |
  ...... 
+-----------+-----------+
   
--------------
SHOW databases
--------------

+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
| test               |
  ......
+--------------------+
   
Bye
60) sẽ được chèn vào, báo hiệu giá trị lỗi

Mỗi loại

> mysql -u myuser -p -vvv -e "SELECT user, host FROM user; SHOW databases" mysql
Enter password: ********
--------------
SELECT user, host FROM user
--------------
   
+-----------+-----------+
| user      | host      |
+-----------+-----------+
| root      | 127.0.0.1 |
  ...... 
+-----------+-----------+
   
--------------
SHOW databases
--------------

+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
| test               |
  ......
+--------------------+
   
Bye
54 được liên kết với một chỉ mục, bắt đầu bằng 1 cho giá trị được phép đầu tiên. Chuỗi trống có chỉ số là 0 (để biểu thị giá trị lỗi). Chỉ số của
> mysql -u myuser -p < d:\myproject\sqlscripts\testscript.sql > output.txt
89 là
> mysql -u myuser -p < d:\myproject\sqlscripts\testscript.sql > output.txt
89

ENUM thường được biểu diễn bằng 16-bit, cho phép 65.535 thành viên

Ví dụ (Thử nghiệm loại ENUM)

  1. Tạo một bảng có
    > mysql -u myuser -p -vvv -e "SELECT user, host FROM user; SHOW databases" mysql
    Enter password: ********
    --------------
    SELECT user, host FROM user
    --------------
       
    +-----------+-----------+
    | user      | host      |
    +-----------+-----------+
    | root      | 127.0.0.1 |
      ...... 
    +-----------+-----------+
       
    --------------
    SHOW databases
    --------------
    
    +--------------------+
    | Database           |
    +--------------------+
    | information_schema |
    | mysql              |
    | test               |
      ......
    +--------------------+
       
    Bye
    54 cột. Quan sát rằng các giá trị của
    > mysql -u myuser -p -vvv -e "SELECT user, host FROM user; SHOW databases" mysql
    Enter password: ********
    --------------
    SELECT user, host FROM user
    --------------
       
    +-----------+-----------+
    | user      | host      |
    +-----------+-----------+
    | root      | 127.0.0.1 |
      ...... 
    +-----------+-----------+
       
    --------------
    SHOW databases
    --------------
    
    +--------------------+
    | Database           |
    +--------------------+
    | information_schema |
    | mysql              |
    | test               |
      ......
    +--------------------+
       
    Bye
    54 được trích dẫn bằng chuỗi ký tự. Các số phải được lưu trữ dưới dạng chuỗi trích dẫn.
    > mysql -u myuser -p < d:\myproject\sqlscripts\testscript.sql > output.txt
    6
  2. Chèn giá trị vào các trường
    > mysql -u myuser -p -vvv -e "SELECT user, host FROM user; SHOW databases" mysql
    Enter password: ********
    --------------
    SELECT user, host FROM user
    --------------
       
    +-----------+-----------+
    | user      | host      |
    +-----------+-----------+
    | root      | 127.0.0.1 |
      ...... 
    +-----------+-----------+
       
    --------------
    SHOW databases
    --------------
    
    +--------------------+
    | Database           |
    +--------------------+
    | information_schema |
    | mysql              |
    | test               |
      ......
    +--------------------+
       
    Bye
    54. Kiểm tra phân biệt chữ hoa chữ thường và các giá trị không có trong danh sách enum. Lưu ý rằng chuỗi
    > mysql -u myuser -p -vvv -e "SELECT user, host FROM user; SHOW databases" mysql
    Enter password: ********
    --------------
    SELECT user, host FROM user
    --------------
       
    +-----------+-----------+
    | user      | host      |
    +-----------+-----------+
    | root      | 127.0.0.1 |
      ...... 
    +-----------+-----------+
       
    --------------
    SHOW databases
    --------------
    
    +--------------------+
    | Database           |
    +--------------------+
    | information_schema |
    | mysql              |
    | test               |
      ......
    +--------------------+
       
    Bye
    54 KHÔNG phân biệt chữ hoa chữ thường (trong MySQL). Chuỗi trống (
    > mysql -u myuser -p -vvv -e "SELECT user, host FROM user; SHOW databases" mysql
    Enter password: ********
    --------------
    SELECT user, host FROM user
    --------------
       
    +-----------+-----------+
    | user      | host      |
    +-----------+-----------+
    | root      | 127.0.0.1 |
      ...... 
    +-----------+-----------+
       
    --------------
    SHOW databases
    --------------
    
    +--------------------+
    | Database           |
    +--------------------+
    | information_schema |
    | mysql              |
    | test               |
      ......
    +--------------------+
       
    Bye
    60), biểu thị giá trị sai, sẽ được chèn vào cho giá trị không có trong danh sách
    > mysql -u myuser -p -vvv -e "SELECT user, host FROM user; SHOW databases" mysql
    Enter password: ********
    --------------
    SELECT user, host FROM user
    --------------
       
    +-----------+-----------+
    | user      | host      |
    +-----------+-----------+
    | root      | 127.0.0.1 |
      ...... 
    +-----------+-----------+
       
    --------------
    SHOW databases
    --------------
    
    +--------------------+
    | Database           |
    +--------------------+
    | information_schema |
    | mysql              |
    | test               |
      ......
    +--------------------+
       
    Bye
    54.
    > mysql -u myuser -p < d:\myproject\sqlscripts\testscript.sql > output.txt
    7
  3. Sử dụng chỉ mục số làm giá trị của
    > mysql -u myuser -p -vvv -e "SELECT user, host FROM user; SHOW databases" mysql
    Enter password: ********
    --------------
    SELECT user, host FROM user
    --------------
       
    +-----------+-----------+
    | user      | host      |
    +-----------+-----------+
    | root      | 127.0.0.1 |
      ...... 
    +-----------+-----------+
       
    --------------
    SHOW databases
    --------------
    
    +--------------------+
    | Database           |
    +--------------------+
    | information_schema |
    | mysql              |
    | test               |
      ......
    +--------------------+
       
    Bye
    54. Thay vì giá trị chuỗi ký tự, bạn cũng có thể sử dụng chỉ mục số được liên kết với từng loại
    > mysql -u myuser -p -vvv -e "SELECT user, host FROM user; SHOW databases" mysql
    Enter password: ********
    --------------
    SELECT user, host FROM user
    --------------
       
    +-----------+-----------+
    | user      | host      |
    +-----------+-----------+
    | root      | 127.0.0.1 |
      ...... 
    +-----------+-----------+
       
    --------------
    SHOW databases
    --------------
    
    +--------------------+
    | Database           |
    +--------------------+
    | information_schema |
    | mysql              |
    | test               |
      ......
    +--------------------+
       
    Bye
    54. Chỉ mục số bắt đầu từ 1, vì giá trị đầu tiên là danh sách.
    > mysql -u myuser -p < d:\myproject\sqlscripts\testscript.sql > output.txt
    8
  4. Chọn các bản ghi lỗi. Chuỗi trống (giá trị sai) có chỉ số là 0 (mã lỗi). Bạn có thể sử dụng chỉ số lỗi bằng 0 để truy xuất các bản ghi bị lỗi như sau.
    > mysql -u myuser -p < d:\myproject\sqlscripts\testscript.sql > output.txt
    9
  5. Để truy xuất tất cả các giá trị được phép của một
    > mysql -u myuser -p -vvv -e "SELECT user, host FROM user; SHOW databases" mysql
    Enter password: ********
    --------------
    SELECT user, host FROM user
    --------------
       
    +-----------+-----------+
    | user      | host      |
    +-----------+-----------+
    | root      | 127.0.0.1 |
      ...... 
    +-----------+-----------+
       
    --------------
    SHOW databases
    --------------
    
    +--------------------+
    | Database           |
    +--------------------+
    | information_schema |
    | mysql              |
    | test               |
      ......
    +--------------------+
       
    Bye
    54, bạn có thể truy vấn hệ thống MySQL
    > mysql -u myuser -p -vvv -e "SELECT user, host FROM user; SHOW databases" mysql
    Enter password: ********
    --------------
    SELECT user, host FROM user
    --------------
       
    +-----------+-----------+
    | user      | host      |
    +-----------+-----------+
    | root      | 127.0.0.1 |
      ...... 
    +-----------+-----------+
       
    --------------
    SHOW databases
    --------------
    
    +--------------------+
    | Database           |
    +--------------------+
    | information_schema |
    | mysql              |
    | test               |
      ......
    +--------------------+
       
    Bye
    73, bảng
    > mysql -u myuser -p -vvv -e "SELECT user, host FROM user; SHOW databases" mysql
    Enter password: ********
    --------------
    SELECT user, host FROM user
    --------------
       
    +-----------+-----------+
    | user      | host      |
    +-----------+-----------+
    | root      | 127.0.0.1 |
      ...... 
    +-----------+-----------+
       
    --------------
    SHOW databases
    --------------
    
    +--------------------+
    | Database           |
    +--------------------+
    | information_schema |
    | mysql              |
    | test               |
      ......
    +--------------------+
       
    Bye
    74, như sau.
    > mysql -u myuser -p -t < d:\myproject\sqlscripts\testscript.sql
    Enter password: ********
    +--------------------+
    | Database           |
    +--------------------+
    | information_schema |
    | eastwind           |
    | mysql              |
    | test               |
    +--------------------+
    +--------+-----------+
    | user   | host      |
    +--------+-----------+
    | root   | 127.0.0.1 |
    | myuser | localhost |
    | root   | localhost |
    +--------+-----------+
    0

BỘ

> mysql -u myuser -p < d:\myproject\sqlscripts\testscript.sql > output.txt
81 cũng là một kiểu chuỗi đặc biệt.
> mysql -u myuser -p < d:\myproject\sqlscripts\testscript.sql > output.txt
81 tương tự như
> mysql -u myuser -p -vvv -e "SELECT user, host FROM user; SHOW databases" mysql
Enter password: ********
--------------
SELECT user, host FROM user
--------------
   
+-----------+-----------+
| user      | host      |
+-----------+-----------+
| root      | 127.0.0.1 |
  ...... 
+-----------+-----------+
   
--------------
SHOW databases
--------------

+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
| test               |
  ......
+--------------------+
   
Bye
54, nhưng bạn có thể chọn giá trị không (chuỗi trống) hoặc nhiều giá trị hơn từ các giá trị được phép; . Đối với
> mysql -u myuser -p < d:\myproject\sqlscripts\testscript.sql > output.txt
81 (_______20_______29,
shell> mysql -u myuser -p -t -vvv < d:\myproject\sqlscripts\testscript.sql
Enter password: ********
--------------
SHOW DATABASES
--------------
   
+--------------------+
| Database           |
+--------------------+
| information_schema |
| eastwind           |
| mysql              |
| test               |
+--------------------+
4 rows in set (0.00 sec)
   
--------------
SELECT user, host FROM user
--------------
   
+--------+-----------+
| user   | host      |
+--------+-----------+
| root   | 127.0.0.1 |
| myuser | localhost |
| root   | localhost |
+--------+-----------+
4 rows in set (0.00 sec)
   
Bye
41,
> mysql -u myuser -p -vvv -e "SELECT user, host FROM user; SHOW databases" mysql
Enter password: ********
--------------
SELECT user, host FROM user
--------------
   
+-----------+-----------+
| user      | host      |
+-----------+-----------+
| root      | 127.0.0.1 |
  ...... 
+-----------+-----------+
   
--------------
SHOW databases
--------------

+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
| test               |
  ......
+--------------------+
   
Bye
82), các giá trị hợp lệ là
> mysql -u myuser -p -vvv -e "SELECT user, host FROM user; SHOW databases" mysql
Enter password: ********
--------------
SELECT user, host FROM user
--------------
   
+-----------+-----------+
| user      | host      |
+-----------+-----------+
| root      | 127.0.0.1 |
  ...... 
+-----------+-----------+
   
--------------
SHOW databases
--------------

+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
| test               |
  ......
+--------------------+
   
Bye
60 (chuỗi trống),
shell> mysql -u myuser -p -t -vvv < d:\myproject\sqlscripts\testscript.sql
Enter password: ********
--------------
SHOW DATABASES
--------------
   
+--------------------+
| Database           |
+--------------------+
| information_schema |
| eastwind           |
| mysql              |
| test               |
+--------------------+
4 rows in set (0.00 sec)
   
--------------
SELECT user, host FROM user
--------------
   
+--------+-----------+
| user   | host      |
+--------+-----------+
| root   | 127.0.0.1 |
| myuser | localhost |
| root   | localhost |
+--------+-----------+
4 rows in set (0.00 sec)
   
Bye
29,
shell> mysql -u myuser -p -t -vvv < d:\myproject\sqlscripts\testscript.sql
Enter password: ********
--------------
SHOW DATABASES
--------------
   
+--------------------+
| Database           |
+--------------------+
| information_schema |
| eastwind           |
| mysql              |
| test               |
+--------------------+
4 rows in set (0.00 sec)
   
--------------
SELECT user, host FROM user
--------------
   
+--------+-----------+
| user   | host      |
+--------+-----------+
| root   | 127.0.0.1 |
| myuser | localhost |
| root   | localhost |
+--------+-----------+
4 rows in set (0.00 sec)
   
Bye
41,
> mysql -u myuser -p -vvv -e "SELECT user, host FROM user; SHOW databases" mysql
Enter password: ********
--------------
SELECT user, host FROM user
--------------
   
+-----------+-----------+
| user      | host      |
+-----------+-----------+
| root      | 127.0.0.1 |
  ...... 
+-----------+-----------+
   
--------------
SHOW databases
--------------

+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
| test               |
  ......
+--------------------+
   
Bye
82,
> mysql -u myuser -p -vvv -e "SELECT user, host FROM user; SHOW databases" mysql
Enter password: ********
--------------
SELECT user, host FROM user
--------------
   
+-----------+-----------+
| user      | host      |
+-----------+-----------+
| root      | 127.0.0.1 |
  ...... 
+-----------+-----------+
   
--------------
SHOW databases
--------------

+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
| test               |
  ......
+--------------------+
   
Bye
87,
> mysql -u myuser -p -vvv -e "SELECT user, host FROM user; SHOW databases" mysql
Enter password: ********
--------------
SELECT user, host FROM user
--------------
   
+-----------+-----------+
| user      | host      |
+-----------+-----------+
| root      | 127.0.0.1 |
  ...... 
+-----------+-----------+
   
--------------
SHOW databases
--------------

+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
| test               |
  ......
+--------------------+
   
Bye
88,
> mysql -u myuser -p -vvv -e "SELECT user, host FROM user; SHOW databases" mysql
Enter password: ********
--------------
SELECT user, host FROM user
--------------
   
+-----------+-----------+
| user      | host      |
+-----------+-----------+
| root      | 127.0.0.1 |
  ...... 
+-----------+-----------+
   
--------------
SHOW databases
--------------

+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
| test               |
  ......
+--------------------+
   
Bye
89 và
> mysql -u myuser -p -vvv -e "SELECT user, host FROM user; SHOW databases" mysql
Enter password: ********
--------------
SELECT user, host FROM user
--------------
   
+-----------+-----------+
| user      | host      |
+-----------+-----------+
| root      | 127.0.0.1 |
  ...... 
+-----------+-----------+
   
--------------
SHOW databases
--------------

+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
| test               |
  ......
+--------------------+
   
Bye
90. Dấu phẩy dùng để phân cách nhiều giá trị, không có dấu cách xung quanh dấu phẩy

Một bộ có thể có tối đa 64 thành viên. Trong MySQL, một giá trị đã đặt được lưu trữ dưới dạng số nguyên 64 bit, với bit ít quan trọng nhất tương ứng với thành viên đầu tiên. Ví dụ: đối với

> mysql -u myuser -p < d:\myproject\sqlscripts\testscript.sql > output.txt
81 (_______20_______29,
shell> mysql -u myuser -p -t -vvv < d:\myproject\sqlscripts\testscript.sql
Enter password: ********
--------------
SHOW DATABASES
--------------
   
+--------------------+
| Database           |
+--------------------+
| information_schema |
| eastwind           |
| mysql              |
| test               |
+--------------------+
4 rows in set (0.00 sec)
   
--------------
SELECT user, host FROM user
--------------
   
+--------+-----------+
| user   | host      |
+--------+-----------+
| root   | 127.0.0.1 |
| myuser | localhost |
| root   | localhost |
+--------+-----------+
4 rows in set (0.00 sec)
   
Bye
41,
> mysql -u myuser -p -vvv -e "SELECT user, host FROM user; SHOW databases" mysql
Enter password: ********
--------------
SELECT user, host FROM user
--------------
   
+-----------+-----------+
| user      | host      |
+-----------+-----------+
| root      | 127.0.0.1 |
  ...... 
+-----------+-----------+
   
--------------
SHOW databases
--------------

+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
| test               |
  ......
+--------------------+
   
Bye
82), giá trị số được chọn là

SET memberBinary ValueDecimal Value
shell> mysql -u myuser -p -t -vvv < d:\myproject\sqlscripts\testscript.sql
Enter password: ********
--------------
SHOW DATABASES
--------------
   
+--------------------+
| Database           |
+--------------------+
| information_schema |
| eastwind           |
| mysql              |
| test               |
+--------------------+
4 rows in set (0.00 sec)
   
--------------
SELECT user, host FROM user
--------------
   
+--------+-----------+
| user   | host      |
+--------+-----------+
| root   | 127.0.0.1 |
| myuser | localhost |
| root   | localhost |
+--------+-----------+
4 rows in set (0.00 sec)
   
Bye
290011
shell> mysql -u myuser -p -t -vvv < d:\myproject\sqlscripts\testscript.sql
Enter password: ********
--------------
SHOW DATABASES
--------------
   
+--------------------+
| Database           |
+--------------------+
| information_schema |
| eastwind           |
| mysql              |
| test               |
+--------------------+
4 rows in set (0.00 sec)
   
--------------
SELECT user, host FROM user
--------------
   
+--------+-----------+
| user   | host      |
+--------+-----------+
| root   | 127.0.0.1 |
| myuser | localhost |
| root   | localhost |
+--------+-----------+
4 rows in set (0.00 sec)
   
Bye
410102
> mysql -u myuser -p -vvv -e "SELECT user, host FROM user; SHOW databases" mysql
Enter password: ********
--------------
SELECT user, host FROM user
--------------
   
+-----------+-----------+
| user      | host      |
+-----------+-----------+
| root      | 127.0.0.1 |
  ...... 
+-----------+-----------+
   
--------------
SHOW databases
--------------

+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
| test               |
  ......
+--------------------+
   
Bye
821004
> mysql -u myuser -p -vvv -e "SELECT user, host FROM user; SHOW databases" mysql
Enter password: ********
--------------
SELECT user, host FROM user
--------------
   
+-----------+-----------+
| user      | host      |
+-----------+-----------+
| root      | 127.0.0.1 |
  ...... 
+-----------+-----------+
   
--------------
SHOW databases
--------------

+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
| test               |
  ......
+--------------------+
   
Bye
600000
> mysql -u myuser -p -vvv -e "SELECT user, host FROM user; SHOW databases" mysql
Enter password: ********
--------------
SELECT user, host FROM user
--------------
   
+-----------+-----------+
| user      | host      |
+-----------+-----------+
| root      | 127.0.0.1 |
  ...... 
+-----------+-----------+
   
--------------
SHOW databases
--------------

+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
| test               |
  ......
+--------------------+
   
Bye
901117

Tương tự như

> mysql -u myuser -p -vvv -e "SELECT user, host FROM user; SHOW databases" mysql
Enter password: ********
--------------
SELECT user, host FROM user
--------------
   
+-----------+-----------+
| user      | host      |
+-----------+-----------+
| root      | 127.0.0.1 |
  ...... 
+-----------+-----------+
   
--------------
SHOW databases
--------------

+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
| test               |
  ......
+--------------------+
   
Bye
54, bạn có thể sử dụng giá trị số

Ví dụ (Kiểm tra kiểu dữ liệu SET). Đọc "

/*!40101 SET NAMES utf8 */;
/*!40101 SET SQL_MODE=''*/;
/*!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */;
/*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO' */;
CREATE DATABASE /*!32312 IF NOT EXISTS*/ `eastwind` /*!40100 DEFAULT CHARACTER SET latin1 */;
......
01"

[TODO] Giải thích

Ngày giờ

Ngày và giờ (cũng như tiền tệ) được quan tâm đặc biệt đối với các ứng dụng cơ sở dữ liệu. Đó là bởi vì hồ sơ kinh doanh thường mang thông tin ngày/giờ (e. g. ,

> mysql -u myuser -p -t < d:\myproject\sqlscripts\testscript.sql
Enter password: ********
+--------------------+
| Database           |
+--------------------+
| information_schema |
| eastwind           |
| mysql              |
| test               |
+--------------------+
+--------+-----------+
| user   | host      |
+--------+-----------+
| root   | 127.0.0.1 |
| myuser | localhost |
| root   | localhost |
+--------+-----------+
57,
/*!40101 SET NAMES utf8 */;
/*!40101 SET SQL_MODE=''*/;
/*!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */;
/*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO' */;
CREATE DATABASE /*!32312 IF NOT EXISTS*/ `eastwind` /*!40100 DEFAULT CHARACTER SET latin1 */;
......
03,
> mysql -u myuser -p -t < d:\myproject\sqlscripts\testscript.sql
Enter password: ********
+--------------------+
| Database           |
+--------------------+
| information_schema |
| eastwind           |
| mysql              |
| test               |
+--------------------+
+--------+-----------+
| user   | host      |
+--------+-----------+
| root   | 127.0.0.1 |
| myuser | localhost |
| root   | localhost |
+--------+-----------+
58), cũng như nhu cầu đánh dấu thời gian cho lần cập nhật cuối cùng của hồ sơ để kiểm tra và bảo mật

MySQL cung cấp các hàm dựng sẵn này để lấy ngày và/hoặc giờ hiện tại

  • HIỆN NAY(). trả về ngày và giờ hiện tại ở định dạng 'YYYY-MM-DD HH. MM. SS'
  • CURDATE() (so với CURRENT_DATE() và CURRENT_DATE). trả về ngày hiện tại ở định dạng 'YYYY-MM-DD'
  • CURTIME() (hoặc CURRENT_TIME(), hoặc CURRENT_TIME). trả về thời gian hiện tại ở định dạng 'HH. MM. SS'

Ví dụ như,

> mysql -u myuser -p -t < d:\myproject\sqlscripts\testscript.sql
Enter password: ********
+--------------------+
| Database           |
+--------------------+
| information_schema |
| eastwind           |
| mysql              |
| test               |
+--------------------+
+--------+-----------+
| user   | host      |
+--------+-----------+
| root   | 127.0.0.1 |
| myuser | localhost |
| root   | localhost |
+--------+-----------+
1

MySQL cung cấp các kiểu dữ liệu ngày/giờ này

  • NGÀY GIỜ. được lưu trữ cả ngày và giờ ở định dạng 'YYYY-MM-DD HH. MM. SS' nơi ngày và giờ được phân tách bằng dấu cách. Phạm vi hợp lệ là
    /*!40101 SET NAMES utf8 */;
    /*!40101 SET SQL_MODE=''*/;
    /*!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */;
    /*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO' */;
    CREATE DATABASE /*!32312 IF NOT EXISTS*/ `eastwind` /*!40100 DEFAULT CHARACTER SET latin1 */;
    ......
    05 đến
    /*!40101 SET NAMES utf8 */;
    /*!40101 SET SQL_MODE=''*/;
    /*!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */;
    /*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO' */;
    CREATE DATABASE /*!32312 IF NOT EXISTS*/ `eastwind` /*!40100 DEFAULT CHARACTER SET latin1 */;
    ......
    06. Bạn có thể áp dụng các chức năng
    /*!40101 SET NAMES utf8 */;
    /*!40101 SET SQL_MODE=''*/;
    /*!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */;
    /*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO' */;
    CREATE DATABASE /*!32312 IF NOT EXISTS*/ `eastwind` /*!40100 DEFAULT CHARACTER SET latin1 */;
    ......
    07 hoặc
    /*!40101 SET NAMES utf8 */;
    /*!40101 SET SQL_MODE=''*/;
    /*!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */;
    /*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO' */;
    CREATE DATABASE /*!32312 IF NOT EXISTS*/ `eastwind` /*!40100 DEFAULT CHARACTER SET latin1 */;
    ......
    08 (thời gian sẽ được đặt thành
    /*!40101 SET NAMES utf8 */;
    /*!40101 SET SQL_MODE=''*/;
    /*!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */;
    /*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO' */;
    CREATE DATABASE /*!32312 IF NOT EXISTS*/ `eastwind` /*!40100 DEFAULT CHARACTER SET latin1 */;
    ......
    09) trên trường này, nhưng không phải là
    /*!40101 SET NAMES utf8 */;
    /*!40101 SET SQL_MODE=''*/;
    /*!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */;
    /*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO' */;
    CREATE DATABASE /*!32312 IF NOT EXISTS*/ `eastwind` /*!40100 DEFAULT CHARACTER SET latin1 */;
    ......
    10
  • NGÀY. ngày được lưu trữ chỉ ở định dạng 'YYYY-MM-DD'. Phạm vi là
    /*!40101 SET NAMES utf8 */;
    /*!40101 SET SQL_MODE=''*/;
    /*!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */;
    /*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO' */;
    CREATE DATABASE /*!32312 IF NOT EXISTS*/ `eastwind` /*!40100 DEFAULT CHARACTER SET latin1 */;
    ......
    11 đến
    /*!40101 SET NAMES utf8 */;
    /*!40101 SET SQL_MODE=''*/;
    /*!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */;
    /*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO' */;
    CREATE DATABASE /*!32312 IF NOT EXISTS*/ `eastwind` /*!40100 DEFAULT CHARACTER SET latin1 */;
    ......
    12. Bạn có thể sử dụng
    /*!40101 SET NAMES utf8 */;
    /*!40101 SET SQL_MODE=''*/;
    /*!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */;
    /*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO' */;
    CREATE DATABASE /*!32312 IF NOT EXISTS*/ `eastwind` /*!40100 DEFAULT CHARACTER SET latin1 */;
    ......
    08 hoặc
    /*!40101 SET NAMES utf8 */;
    /*!40101 SET SQL_MODE=''*/;
    /*!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */;
    /*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO' */;
    CREATE DATABASE /*!32312 IF NOT EXISTS*/ `eastwind` /*!40100 DEFAULT CHARACTER SET latin1 */;
    ......
    07 (phần thời gian trả lại bị loại bỏ) cho trường này
  • THỜI GIAN. thời gian được lưu trữ chỉ ở định dạng 'HH. MM. SS'. You could use
    /*!40101 SET NAMES utf8 */;
    /*!40101 SET SQL_MODE=''*/;
    /*!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */;
    /*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO' */;
    CREATE DATABASE /*!32312 IF NOT EXISTS*/ `eastwind` /*!40100 DEFAULT CHARACTER SET latin1 */;
    ......
    10 or
    /*!40101 SET NAMES utf8 */;
    /*!40101 SET SQL_MODE=''*/;
    /*!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */;
    /*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO' */;
    CREATE DATABASE /*!32312 IF NOT EXISTS*/ `eastwind` /*!40100 DEFAULT CHARACTER SET latin1 */;
    ......
    07 (the returned date portion discarded) for this field
  • NĂM(4. 2). trong
    /*!40101 SET NAMES utf8 */;
    /*!40101 SET SQL_MODE=''*/;
    /*!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */;
    /*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO' */;
    CREATE DATABASE /*!32312 IF NOT EXISTS*/ `eastwind` /*!40100 DEFAULT CHARACTER SET latin1 */;
    ......
    17 hoặc
    /*!40101 SET NAMES utf8 */;
    /*!40101 SET SQL_MODE=''*/;
    /*!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */;
    /*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO' */;
    CREATE DATABASE /*!32312 IF NOT EXISTS*/ `eastwind` /*!40100 DEFAULT CHARACTER SET latin1 */;
    ......
    18. Phạm vi năm là 1901 đến 2155. Sử dụng loại
    > mysql -u myuser -p -t < d:\myproject\sqlscripts\testscript.sql
    Enter password: ********
    +--------------------+
    | Database           |
    +--------------------+
    | information_schema |
    | eastwind           |
    | mysql              |
    | test               |
    +--------------------+
    +--------+-----------+
    | user   | host      |
    +--------+-----------+
    | root   | 127.0.0.1 |
    | myuser | localhost |
    | root   | localhost |
    +--------+-----------+
    60 cho năm ngoài phạm vi này. Bạn cũng có thể sử dụng
    /*!40101 SET NAMES utf8 */;
    /*!40101 SET SQL_MODE=''*/;
    /*!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */;
    /*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO' */;
    CREATE DATABASE /*!32312 IF NOT EXISTS*/ `eastwind` /*!40100 DEFAULT CHARACTER SET latin1 */;
    ......
    08 để truy xuất giá trị năm hiện tại cho trường này (đã loại bỏ tháng và ngày)
  • DẤU THỜI GIAN. tương tự như
    > mysql -u myuser -p -t < d:\myproject\sqlscripts\testscript.sql
    Enter password: ********
    +--------------------+
    | Database           |
    +--------------------+
    | information_schema |
    | eastwind           |
    | mysql              |
    | test               |
    +--------------------+
    +--------+-----------+
    | user   | host      |
    +--------+-----------+
    | root   | 127.0.0.1 |
    | myuser | localhost |
    | root   | localhost |
    +--------+-----------+
    59 nhưng lưu trữ số giây kể từ ngày 1 tháng 1 năm 1970 UTC (kiểu Unix). Phạm vi là
    /*!40101 SET NAMES utf8 */;
    /*!40101 SET SQL_MODE=''*/;
    /*!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */;
    /*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO' */;
    CREATE DATABASE /*!32312 IF NOT EXISTS*/ `eastwind` /*!40100 DEFAULT CHARACTER SET latin1 */;
    ......
    22 đến
    /*!40101 SET NAMES utf8 */;
    /*!40101 SET SQL_MODE=''*/;
    /*!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */;
    /*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO' */;
    CREATE DATABASE /*!32312 IF NOT EXISTS*/ `eastwind` /*!40100 DEFAULT CHARACTER SET latin1 */;
    ......
    23
    Sự khác biệt giữa
    > mysql -u myuser -p -t < d:\myproject\sqlscripts\testscript.sql
    Enter password: ********
    +--------------------+
    | Database           |
    +--------------------+
    | information_schema |
    | eastwind           |
    | mysql              |
    | test               |
    +--------------------+
    +--------+-----------+
    | user   | host      |
    +--------+-----------+
    | root   | 127.0.0.1 |
    | myuser | localhost |
    | root   | localhost |
    +--------+-----------+
    59 và
    > mysql -u myuser -p -t < d:\myproject\sqlscripts\testscript.sql
    Enter password: ********
    +--------------------+
    | Database           |
    +--------------------+
    | information_schema |
    | eastwind           |
    | mysql              |
    | test               |
    +--------------------+
    +--------+-----------+
    | user   | host      |
    +--------+-----------+
    | root   | 127.0.0.1 |
    | myuser | localhost |
    | root   | localhost |
    +--------+-----------+
    63 là
    1. phạm vi,
    2. hỗ trợ cho múi giờ,
    3. Cột
      > mysql -u myuser -p -t < d:\myproject\sqlscripts\testscript.sql
      Enter password: ********
      +--------------------+
      | Database           |
      +--------------------+
      | information_schema |
      | eastwind           |
      | mysql              |
      | test               |
      +--------------------+
      +--------+-----------+
      | user   | host      |
      +--------+-----------+
      | root   | 127.0.0.1 |
      | myuser | localhost |
      | root   | localhost |
      +--------+-----------+
      63 có thể được khai báo với
      /*!40101 SET NAMES utf8 */;
      /*!40101 SET SQL_MODE=''*/;
      /*!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */;
      /*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO' */;
      CREATE DATABASE /*!32312 IF NOT EXISTS*/ `eastwind` /*!40100 DEFAULT CHARACTER SET latin1 */;
      ......
      27 để đặt giá trị mặc định thành ngày/giờ hiện tại. (Mặc định của tất cả các loại dữ liệu khác, bao gồm
      > mysql -u myuser -p -t < d:\myproject\sqlscripts\testscript.sql
      Enter password: ********
      +--------------------+
      | Database           |
      +--------------------+
      | information_schema |
      | eastwind           |
      | mysql              |
      | test               |
      +--------------------+
      +--------+-----------+
      | user   | host      |
      +--------+-----------+
      | root   | 127.0.0.1 |
      | myuser | localhost |
      | root   | localhost |
      +--------+-----------+
      59, phải là một hằng số và không phải là một giá trị trả về của hàm). Bạn cũng có thể khai báo với
      /*!40101 SET NAMES utf8 */;
      /*!40101 SET SQL_MODE=''*/;
      /*!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */;
      /*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO' */;
      CREATE DATABASE /*!32312 IF NOT EXISTS*/ `eastwind` /*!40100 DEFAULT CHARACTER SET latin1 */;
      ......
      29 để nắm bắt dấu thời gian của lần cập nhật cuối cùng

Giá trị ngày/giờ có thể được nhập thủ công dưới dạng chuỗi ký tự (e. g. ,

/*!40101 SET NAMES utf8 */;
/*!40101 SET SQL_MODE=''*/;
/*!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */;
/*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO' */;
CREATE DATABASE /*!32312 IF NOT EXISTS*/ `eastwind` /*!40100 DEFAULT CHARACTER SET latin1 */;
......
30 cho
/*!40101 SET NAMES utf8 */;
/*!40101 SET SQL_MODE=''*/;
/*!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */;
/*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO' */;
CREATE DATABASE /*!32312 IF NOT EXISTS*/ `eastwind` /*!40100 DEFAULT CHARACTER SET latin1 */;
......
31). MySQL sẽ đưa ra cảnh báo và chèn tất cả các số không (e. g. , '0000-00-00 00:00:00' for ________38_______31), nếu giá trị của ngày/giờ được chèn không hợp lệ hoặc nằm ngoài phạm vi.
/*!40101 SET NAMES utf8 */;
/*!40101 SET SQL_MODE=''*/;
/*!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */;
/*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO' */;
CREATE DATABASE /*!32312 IF NOT EXISTS*/ `eastwind` /*!40100 DEFAULT CHARACTER SET latin1 */;
......
33 được gọi là ngày "giả"

Ví dụ (Kiểm tra kiểu dữ liệu NGÀY/GIỜ)

  1. Tạo một bảng với các cột ngày/giờ khác nhau. Chỉ cột
    > mysql -u myuser -p -t < d:\myproject\sqlscripts\testscript.sql
    Enter password: ********
    +--------------------+
    | Database           |
    +--------------------+
    | information_schema |
    | eastwind           |
    | mysql              |
    | test               |
    +--------------------+
    +--------+-----------+
    | user   | host      |
    +--------+-----------+
    | root   | 127.0.0.1 |
    | myuser | localhost |
    | root   | localhost |
    +--------+-----------+
    63 mới có thể có
    /*!40101 SET NAMES utf8 */;
    /*!40101 SET SQL_MODE=''*/;
    /*!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */;
    /*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO' */;
    CREATE DATABASE /*!32312 IF NOT EXISTS*/ `eastwind` /*!40100 DEFAULT CHARACTER SET latin1 */;
    ......
    35 và
    /*!40101 SET NAMES utf8 */;
    /*!40101 SET SQL_MODE=''*/;
    /*!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */;
    /*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO' */;
    CREATE DATABASE /*!32312 IF NOT EXISTS*/ `eastwind` /*!40100 DEFAULT CHARACTER SET latin1 */;
    ......
    36 là
    /*!40101 SET NAMES utf8 */;
    /*!40101 SET SQL_MODE=''*/;
    /*!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */;
    /*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO' */;
    CREATE DATABASE /*!32312 IF NOT EXISTS*/ `eastwind` /*!40100 DEFAULT CHARACTER SET latin1 */;
    ......
    37.
    > mysql -u myuser -p -t < d:\myproject\sqlscripts\testscript.sql
    Enter password: ********
    +--------------------+
    | Database           |
    +--------------------+
    | information_schema |
    | eastwind           |
    | mysql              |
    | test               |
    +--------------------+
    +--------+-----------+
    | user   | host      |
    +--------+-----------+
    | root   | 127.0.0.1 |
    | myuser | localhost |
    | root   | localhost |
    +--------+-----------+
    2
  2. Chèn các giá trị theo cách thủ công bằng cách sử dụng chuỗi ký tự.
    > mysql -u myuser -p -t < d:\myproject\sqlscripts\testscript.sql
    Enter password: ********
    +--------------------+
    | Database           |
    +--------------------+
    | information_schema |
    | eastwind           |
    | mysql              |
    | test               |
    +--------------------+
    +--------+-----------+
    | user   | host      |
    +--------+-----------+
    | root   | 127.0.0.1 |
    | myuser | localhost |
    | root   | localhost |
    +--------+-----------+
    3
  3. Kiểm tra cập nhật cho
    /*!40101 SET NAMES utf8 */;
    /*!40101 SET SQL_MODE=''*/;
    /*!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */;
    /*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO' */;
    CREATE DATABASE /*!32312 IF NOT EXISTS*/ `eastwind` /*!40100 DEFAULT CHARACTER SET latin1 */;
    ......
    38.
    > mysql -u myuser -p -t < d:\myproject\sqlscripts\testscript.sql
    Enter password: ********
    +--------------------+
    | Database           |
    +--------------------+
    | information_schema |
    | eastwind           |
    | mysql              |
    | test               |
    +--------------------+
    +--------+-----------+
    | user   | host      |
    +--------+-----------+
    | root   | 127.0.0.1 |
    | myuser | localhost |
    | root   | localhost |
    +--------+-----------+
    4
  4. Chèn các giá trị bằng cách sử dụng các hàm có sẵn của MySQL
    /*!40101 SET NAMES utf8 */;
    /*!40101 SET SQL_MODE=''*/;
    /*!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */;
    /*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO' */;
    CREATE DATABASE /*!32312 IF NOT EXISTS*/ `eastwind` /*!40100 DEFAULT CHARACTER SET latin1 */;
    ......
    39,
    /*!40101 SET NAMES utf8 */;
    /*!40101 SET SQL_MODE=''*/;
    /*!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */;
    /*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO' */;
    CREATE DATABASE /*!32312 IF NOT EXISTS*/ `eastwind` /*!40100 DEFAULT CHARACTER SET latin1 */;
    ......
    40,
    /*!40101 SET NAMES utf8 */;
    /*!40101 SET SQL_MODE=''*/;
    /*!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */;
    /*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO' */;
    CREATE DATABASE /*!32312 IF NOT EXISTS*/ `eastwind` /*!40100 DEFAULT CHARACTER SET latin1 */;
    ......
    41.
    > mysql -u myuser -p -t < d:\myproject\sqlscripts\testscript.sql
    Enter password: ********
    +--------------------+
    | Database           |
    +--------------------+
    | information_schema |
    | eastwind           |
    | mysql              |
    | test               |
    +--------------------+
    +--------+-----------+
    | user   | host      |
    +--------+-----------+
    | root   | 127.0.0.1 |
    | myuser | localhost |
    | root   | localhost |
    +--------+-----------+
    5
  5. Chèn các giá trị không hợp lệ hoặc nằm ngoài phạm vi. MySQL thay thế bằng tất cả các số không.
    > mysql -u myuser -p -t < d:\myproject\sqlscripts\testscript.sql
    Enter password: ********
    +--------------------+
    | Database           |
    +--------------------+
    | information_schema |
    | eastwind           |
    | mysql              |
    | test               |
    +--------------------+
    +--------+-----------+
    | user   | host      |
    +--------+-----------+
    | root   | 127.0.0.1 |
    | myuser | localhost |
    | root   | localhost |
    +--------+-----------+
    6
  6. Có thể sử dụng hàm tích hợp hữu ích
    /*!40101 SET NAMES utf8 */;
    /*!40101 SET SQL_MODE=''*/;
    /*!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */;
    /*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO' */;
    CREATE DATABASE /*!32312 IF NOT EXISTS*/ `eastwind` /*!40100 DEFAULT CHARACTER SET latin1 */;
    ......
    42 để tính ngày trong tương lai, e. g. ,
    > mysql -u myuser -p -t < d:\myproject\sqlscripts\testscript.sql
    Enter password: ********
    +--------------------+
    | Database           |
    +--------------------+
    | information_schema |
    | eastwind           |
    | mysql              |
    | test               |
    +--------------------+
    +--------+-----------+
    | user   | host      |
    +--------+-----------+
    | root   | 127.0.0.1 |
    | myuser | localhost |
    | root   | localhost |
    +--------+-----------+
    7

Ví dụ (DẤU THỜI GIAN Tạo và cập nhật lần cuối). Trong MySQL, bạn chỉ có thể có một cột

> mysql -u myuser -p -t < d:\myproject\sqlscripts\testscript.sql
Enter password: ********
+--------------------+
| Database           |
+--------------------+
| information_schema |
| eastwind           |
| mysql              |
| test               |
+--------------------+
+--------+-----------+
| user   | host      |
+--------+-----------+
| root   | 127.0.0.1 |
| myuser | localhost |
| root   | localhost |
+--------+-----------+
63 với
/*!40101 SET NAMES utf8 */;
/*!40101 SET SQL_MODE=''*/;
/*!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */;
/*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO' */;
CREATE DATABASE /*!32312 IF NOT EXISTS*/ `eastwind` /*!40100 DEFAULT CHARACTER SET latin1 */;
......
44. Để duy trì cả dấu thời gian tạo và cập nhật lần cuối, hãy đặt cột tạo thành mặc định 0 và chèn một
> mysql -u myuser -p < d:\myproject\sqlscripts\testscript.sql > output.txt
89 để nhận
/*!40101 SET NAMES utf8 */;
/*!40101 SET SQL_MODE=''*/;
/*!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */;
/*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO' */;
CREATE DATABASE /*!32312 IF NOT EXISTS*/ `eastwind` /*!40100 DEFAULT CHARACTER SET latin1 */;
......
37

loại đúc

Để phân tích một chuỗi (các chữ số) thành số, hãy sử dụng hàm

/*!40101 SET NAMES utf8 */;
/*!40101 SET SQL_MODE=''*/;
/*!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */;
/*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO' */;
CREATE DATABASE /*!32312 IF NOT EXISTS*/ `eastwind` /*!40100 DEFAULT CHARACTER SET latin1 */;
......
47 hoặc
/*!40101 SET NAMES utf8 */;
/*!40101 SET SQL_MODE=''*/;
/*!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */;
/*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO' */;
CREATE DATABASE /*!32312 IF NOT EXISTS*/ `eastwind` /*!40100 DEFAULT CHARACTER SET latin1 */;
......
48. Ví dụ,

> mysql -u myuser -p -t < d:\myproject\sqlscripts\testscript.sql
Enter password: ********
+--------------------+
| Database           |
+--------------------+
| information_schema |
| eastwind           |
| mysql              |
| test               |
+--------------------+
+--------+-----------+
| user   | host      |
+--------+-----------+
| root   | 127.0.0.1 |
| myuser | localhost |
| root   | localhost |
+--------+-----------+
8

[TODO] thêm

Các kiểu dữ liệu không gian

  • ĐIỂM. Một điểm trong cặp (x, y)
  • LINESTRING
  • ĐA GIÁC
  • HÌNH HỌC
  • ĐA ĐIỂM
  • MULTILINESTRING
  • ĐA GIÁC
  • BỘ SƯU TẬP HÌNH HỌC

Tuyên bố chuẩn bị

Tấn công tiêm SQL

Thẩm quyền giải quyết. Ví dụ về "Tấn công SQL injection" của Steve Friedl

Giả sử rằng ứng dụng của bạn nhắc người dùng nhập tên người dùng/mật khẩu của anh ấy và dự định đưa ra câu lệnh SQL sau

> mysql -u myuser -p < d:\myproject\sqlscripts\testscript.sql > output.txt
19

> mysql -u myuser -p -t < d:\myproject\sqlscripts\testscript.sql
Enter password: ********
+--------------------+
| Database           |
+--------------------+
| information_schema |
| eastwind           |
| mysql              |
| test               |
+--------------------+
+--------+-----------+
| user   | host      |
+--------+-----------+
| root   | 127.0.0.1 |
| myuser | localhost |
| root   | localhost |
+--------+-----------+
9

Người dùng ác ý có thể nhập "

/*!40101 SET NAMES utf8 */;
/*!40101 SET SQL_MODE=''*/;
/*!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */;
/*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO' */;
CREATE DATABASE /*!32312 IF NOT EXISTS*/ `eastwind` /*!40100 DEFAULT CHARACTER SET latin1 */;
......
50", kết quả là

Điều gì sẽ xảy ra nếu bạn có lệnh

/*!40101 SET NAMES utf8 */;
/*!40101 SET SQL_MODE=''*/;
/*!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */;
/*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO' */;
CREATE DATABASE /*!32312 IF NOT EXISTS*/ `eastwind` /*!40100 DEFAULT CHARACTER SET latin1 */;
......
51 như sau. Tất cả các bản ghi trong bảng sẽ bị xóa

shell> mysql -u myuser -p -t -vvv < d:\myproject\sqlscripts\testscript.sql
Enter password: ********
--------------
SHOW DATABASES
--------------
   
+--------------------+
| Database           |
+--------------------+
| information_schema |
| eastwind           |
| mysql              |
| test               |
+--------------------+
4 rows in set (0.00 sec)
   
--------------
SELECT user, host FROM user
--------------
   
+--------+-----------+
| user   | host      |
+--------+-----------+
| root   | 127.0.0.1 |
| myuser | localhost |
| root   | localhost |
+--------+-----------+
4 rows in set (0.00 sec)
   
Bye
0

Trong một số trường hợp, bạn có thể thực thi nhiều câu lệnh SQL, phân tách chúng bằng dấu phẩy. Người dùng ác ý có thể nhập "______38_______52", trong đó -- (hoặc #) là nhận xét cuối dòng của MySQL. Kết quả này trong

Các giải pháp là

  1. Luôn kiểm tra đầu vào trước khi cắm nó vào câu lệnh SQL. Thay thế dấu ngoặc kép bằng các ký tự thoát của chúng, tôi. e. ,
    > mysql -u myuser -p < d:\myproject\sqlscripts\testscript.sql > output.txt
    24 là
    > mysql -u myuser -p < d:\myproject\sqlscripts\testscript.sql > output.txt
    23 và
    > mysql -u myuser -p < d:\myproject\sqlscripts\testscript.sql > output.txt
    26 là
    > mysql -u myuser -p < d:\myproject\sqlscripts\testscript.sql > output.txt
    30
  2. Cấp ít quyền nhất cần thiết để thực hiện nhiệm vụ, e. g. , chỉ cấp
    > mysql -u myuser -p < d:\myproject\sqlscripts\testscript.sql > output.txt
    19 (và không cho phép
    /*!40101 SET NAMES utf8 */;
    /*!40101 SET SQL_MODE=''*/;
    /*!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */;
    /*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO' */;
    CREATE DATABASE /*!32312 IF NOT EXISTS*/ `eastwind` /*!40100 DEFAULT CHARACTER SET latin1 */;
    ......
    51,
    > mysql -u myuser -p -t < d:\myproject\sqlscripts\testscript.sql
    Enter password: ********
    +--------------------+
    | Database           |
    +--------------------+
    | information_schema |
    | eastwind           |
    | mysql              |
    | test               |
    +--------------------+
    +--------+-----------+
    | user   | host      |
    +--------+-----------+
    | root   | 127.0.0.1 |
    | myuser | localhost |
    | root   | localhost |
    +--------+-----------+
    92 hoặc thậm chí
    > mysql -u myuser -p -vvv -e "SELECT user, host FROM user; SHOW databases" mysql
    Enter password: ********
    --------------
    SELECT user, host FROM user
    --------------
       
    +-----------+-----------+
    | user      | host      |
    +-----------+-----------+
    | root      | 127.0.0.1 |
      ...... 
    +-----------+-----------+
       
    --------------
    SHOW databases
    --------------
    
    +--------------------+
    | Database           |
    +--------------------+
    | information_schema |
    | mysql              |
    | test               |
      ......
    +--------------------+
       
    Bye
    26 - và chắc chắn không cho phép
    /*!40101 SET NAMES utf8 */;
    /*!40101 SET SQL_MODE=''*/;
    /*!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */;
    /*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO' */;
    CREATE DATABASE /*!32312 IF NOT EXISTS*/ `eastwind` /*!40100 DEFAULT CHARACTER SET latin1 */;
    ......
    61 và
    /*!40101 SET NAMES utf8 */;
    /*!40101 SET SQL_MODE=''*/;
    /*!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */;
    /*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO' */;
    CREATE DATABASE /*!32312 IF NOT EXISTS*/ `eastwind` /*!40100 DEFAULT CHARACTER SET latin1 */;
    ......
    62)
  3. Sử dụng câu lệnh đã chuẩn bị sẵn (như bên dưới) hoặc thủ tục được lưu trữ để lấy các tham số đầu vào

Tuyên bố chuẩn bị

Một câu lệnh đã chuẩn bị (hoặc câu lệnh được tham số hóa) chứa các phần giữ chỗ cho các tham số đầu vào. Bạn có thể sử dụng lại cùng một câu lệnh đã chuẩn bị nhiều lần, với các đầu vào khác nhau. Prepared statements are often pre-compiled, which are more efficient than the normal statements

Các bước trong việc sử dụng báo cáo chuẩn bị là

  1. Phân bổ một tuyên bố đã chuẩn bị, với các chỗ dành sẵn được chỉ định là
    /*!40101 SET NAMES utf8 */;
    /*!40101 SET SQL_MODE=''*/;
    /*!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */;
    /*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO' */;
    CREATE DATABASE /*!32312 IF NOT EXISTS*/ `eastwind` /*!40100 DEFAULT CHARACTER SET latin1 */;
    ......
    63
  2. Đặt đầu vào
  3. Thực hiện câu lệnh đã chuẩn bị với các đầu vào (đối với trình giữ chỗ)
  4. Lặp lại Bước 2 và 3 để thực hiện khác
  5. Xử lý tuyên bố đã chuẩn bị

Tấn công chèn HTML

Có một cuộc tấn công tiêm chích tương tự khác được gọi là HTML Injection (hoặc Cross-site Scripting hoặc XSS), có thể làm lộ quyền riêng tư và khả năng bảo vệ của người dùng web, nhưng không ảnh hưởng nhiều đến tính bảo mật của hệ thống

Giả sử bạn yêu cầu người dùng để lại nhận xét của họ. Người dùng ác ý có thể nhập một số

/*!40101 SET NAMES utf8 */;
/*!40101 SET SQL_MODE=''*/;
/*!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */;
/*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO' */;
CREATE DATABASE /*!32312 IF NOT EXISTS*/ `eastwind` /*!40100 DEFAULT CHARACTER SET latin1 */;
......
64

/*!40101 SET NAMES utf8 */;
/*!40101 SET SQL_MODE=''*/;
/*!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */;
/*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO' */;
CREATE DATABASE /*!32312 IF NOT EXISTS*/ `eastwind` /*!40100 DEFAULT CHARACTER SET latin1 */;
......
65

/*!40101 SET NAMES utf8 */;
/*!40101 SET SQL_MODE=''*/;
/*!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */;
/*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO' */;
CREATE DATABASE /*!32312 IF NOT EXISTS*/ `eastwind` /*!40100 DEFAULT CHARACTER SET latin1 */;
......
66 là
/*!40101 SET NAMES utf8 */;
/*!40101 SET SQL_MODE=''*/;
/*!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */;
/*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO' */;
CREATE DATABASE /*!32312 IF NOT EXISTS*/ `eastwind` /*!40100 DEFAULT CHARACTER SET latin1 */;
......
67,
/*!40101 SET NAMES utf8 */;
/*!40101 SET SQL_MODE=''*/;
/*!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */;
/*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO' */;
CREATE DATABASE /*!32312 IF NOT EXISTS*/ `eastwind` /*!40100 DEFAULT CHARACTER SET latin1 */;
......
68 là
/*!40101 SET NAMES utf8 */;
/*!40101 SET SQL_MODE=''*/;
/*!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */;
/*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO' */;
CREATE DATABASE /*!32312 IF NOT EXISTS*/ `eastwind` /*!40100 DEFAULT CHARACTER SET latin1 */;
......
68;,
> mysql -u myuser -p < d:\myproject\sqlscripts\testscript.sql > output.txt
26 là
> mysql -u myuser -p < d:\myproject\sqlscripts\testscript.sql > output.txt
26 và
/*!40101 SET NAMES utf8 */;
/*!40101 SET SQL_MODE=''*/;
/*!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */;
/*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO' */;
CREATE DATABASE /*!32312 IF NOT EXISTS*/ `eastwind` /*!40100 DEFAULT CHARACTER SET latin1 */;
......
72 là
/*!40101 SET NAMES utf8 */;
/*!40101 SET SQL_MODE=''*/;
/*!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */;
/*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO' */;
CREATE DATABASE /*!32312 IF NOT EXISTS*/ `eastwind` /*!40100 DEFAULT CHARACTER SET latin1 */;
......
72) trước khi phản hồi lại cho người dùng

Các đối tượng và chương trình được lưu trữ

Một đối tượng cơ sở dữ liệu được lưu trữ là một tập hợp các câu lệnh SQL được lưu trữ trong máy chủ để gọi tiếp theo. Các đối tượng được lưu trữ trong MySQL bao gồm

  1. Các hàm do người dùng định nghĩa & các thủ tục được lưu trữ. Được gọi chung là các thường trình được lưu trữ, chứa một tập hợp các câu lệnh SQL được lưu trữ trong máy chủ, cho lần gọi tiếp theo
    Một hàm nhận một tập hợp các tham số, thực hiện các hoạt động được lập trình và trả về kết quả cho người gọi. Ngoài các hàm có sẵn của MySQL, bạn có thể viết các hàm của riêng mình bằng các câu lệnh SQL. Để gọi một chức năng, hãy sử dụng
    /*!40101 SET NAMES utf8 */;
    /*!40101 SET SQL_MODE=''*/;
    /*!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */;
    /*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO' */;
    CREATE DATABASE /*!32312 IF NOT EXISTS*/ `eastwind` /*!40100 DEFAULT CHARACTER SET latin1 */;
    ......
    74
    /*!40101 SET NAMES utf8 */;
    /*!40101 SET SQL_MODE=''*/;
    /*!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */;
    /*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO' */;
    CREATE DATABASE /*!32312 IF NOT EXISTS*/ `eastwind` /*!40100 DEFAULT CHARACTER SET latin1 */;
    ......
    75. Bạn có thể lưu trữ giá trị trả về trong một biến, e. g. ,
    /*!40101 SET NAMES utf8 */;
    /*!40101 SET SQL_MODE=''*/;
    /*!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */;
    /*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO' */;
    CREATE DATABASE /*!32312 IF NOT EXISTS*/ `eastwind` /*!40100 DEFAULT CHARACTER SET latin1 */;
    ......
    76;
    Một thủ tục tương tự như một hàm, ngoại trừ việc nó không trả về giá trị. Tuy nhiên, bạn có thể sử dụng các tham số để chuyển các giá trị giữa trình gọi và thủ tục bằng cách khai báo hướng của các tham số là
    /*!40101 SET NAMES utf8 */;
    /*!40101 SET SQL_MODE=''*/;
    /*!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */;
    /*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO' */;
    CREATE DATABASE /*!32312 IF NOT EXISTS*/ `eastwind` /*!40100 DEFAULT CHARACTER SET latin1 */;
    ......
    78,
    /*!40101 SET NAMES utf8 */;
    /*!40101 SET SQL_MODE=''*/;
    /*!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */;
    /*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO' */;
    CREATE DATABASE /*!32312 IF NOT EXISTS*/ `eastwind` /*!40100 DEFAULT CHARACTER SET latin1 */;
    ......
    79 hoặc
    /*!40101 SET NAMES utf8 */;
    /*!40101 SET SQL_MODE=''*/;
    /*!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */;
    /*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO' */;
    CREATE DATABASE /*!32312 IF NOT EXISTS*/ `eastwind` /*!40100 DEFAULT CHARACTER SET latin1 */;
    ......
    80 (trong khi tất cả các tham số cho chức năng được giới hạn ở
    /*!40101 SET NAMES utf8 */;
    /*!40101 SET SQL_MODE=''*/;
    /*!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */;
    /*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO' */;
    CREATE DATABASE /*!32312 IF NOT EXISTS*/ `eastwind` /*!40100 DEFAULT CHARACTER SET latin1 */;
    ......
    78). Sử dụng câu lệnh
    /*!40101 SET NAMES utf8 */;
    /*!40101 SET SQL_MODE=''*/;
    /*!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */;
    /*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO' */;
    CREATE DATABASE /*!32312 IF NOT EXISTS*/ `eastwind` /*!40100 DEFAULT CHARACTER SET latin1 */;
    ......
    82 để gọi một thủ tục, ở dạng
    /*!40101 SET NAMES utf8 */;
    /*!40101 SET SQL_MODE=''*/;
    /*!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */;
    /*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO' */;
    CREATE DATABASE /*!32312 IF NOT EXISTS*/ `eastwind` /*!40100 DEFAULT CHARACTER SET latin1 */;
    ......
    83
  2. Gây nên. Trình kích hoạt là một trình xử lý sự kiện được kích hoạt khi xảy ra một sự kiện cụ thể, chẳng hạn như. g. ,
    /*!40101 SET NAMES utf8 */;
    /*!40101 SET SQL_MODE=''*/;
    /*!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */;
    /*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO' */;
    CREATE DATABASE /*!32312 IF NOT EXISTS*/ `eastwind` /*!40100 DEFAULT CHARACTER SET latin1 */;
    ......
    84,
    /*!40101 SET NAMES utf8 */;
    /*!40101 SET SQL_MODE=''*/;
    /*!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */;
    /*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO' */;
    CREATE DATABASE /*!32312 IF NOT EXISTS*/ `eastwind` /*!40100 DEFAULT CHARACTER SET latin1 */;
    ......
    51,
    > mysql -u myuser -p -vvv -e "SELECT user, host FROM user; SHOW databases" mysql
    Enter password: ********
    --------------
    SELECT user, host FROM user
    --------------
       
    +-----------+-----------+
    | user      | host      |
    +-----------+-----------+
    | root      | 127.0.0.1 |
      ...... 
    +-----------+-----------+
       
    --------------
    SHOW databases
    --------------
    
    +--------------------+
    | Database           |
    +--------------------+
    | information_schema |
    | mysql              |
    | test               |
      ......
    +--------------------+
       
    Bye
    26. Một trình kích hoạt được liên kết với một bảng. Ví dụ: bạn có thể sử dụng trình kích hoạt
    /*!40101 SET NAMES utf8 */;
    /*!40101 SET SQL_MODE=''*/;
    /*!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */;
    /*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO' */;
    CREATE DATABASE /*!32312 IF NOT EXISTS*/ `eastwind` /*!40100 DEFAULT CHARACTER SET latin1 */;
    ......
    87 để thiết lập việc tạo
    > mysql -u myuser -p -t < d:\myproject\sqlscripts\testscript.sql
    Enter password: ********
    +--------------------+
    | Database           |
    +--------------------+
    | information_schema |
    | eastwind           |
    | mysql              |
    | test               |
    +--------------------+
    +--------+-----------+
    | user   | host      |
    +--------+-----------+
    | root   | 127.0.0.1 |
    | myuser | localhost |
    | root   | localhost |
    +--------+-----------+
    63 bản ghi;
  3. Sự kiện. Sự kiện là một nhiệm vụ đã lên lịch, chạy vào ngày/giờ đã lên lịch và có thể lặp lại
  4. Lượt xem. Một dạng xem là một truy vấn được lưu trữ. Đó là một bảng ảo không có dữ liệu thực, thường được sử dụng để giới hạn thông tin có sẵn cho người dùng ít đặc quyền hơn hoặc tạo ra các cột dẫn xuất bổ sung (chẳng hạn như tổng giá)

Một đối tượng được lưu trữ được liên kết với cơ sở dữ liệu. Bạn có thể gọi một thường trình không thuộc cơ sở dữ liệu hiện tại bằng cách xác định tên cơ sở dữ liệu, e. g.

/*!40101 SET NAMES utf8 */;
/*!40101 SET SQL_MODE=''*/;
/*!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */;
/*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO' */;
CREATE DATABASE /*!32312 IF NOT EXISTS*/ `eastwind` /*!40100 DEFAULT CHARACTER SET latin1 */;
......
90 hoặc
/*!40101 SET NAMES utf8 */;
/*!40101 SET SQL_MODE=''*/;
/*!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */;
/*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO' */;
CREATE DATABASE /*!32312 IF NOT EXISTS*/ `eastwind` /*!40100 DEFAULT CHARACTER SET latin1 */;
......
91. Tất cả các đối tượng được lưu trữ cho cơ sở dữ liệu sẽ bị xóa khi cơ sở dữ liệu bị hủy

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

/*!40101 SET NAMES utf8 */;
/*!40101 SET SQL_MODE=''*/;
/*!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */;
/*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO' */;
CREATE DATABASE /*!32312 IF NOT EXISTS*/ `eastwind` /*!40100 DEFAULT CHARACTER SET latin1 */;
......
92, để tạo, thay đổi hoặc xóa các đối tượng được lưu trữ

Trước khi thảo luận về các đối tượng được lưu trữ, chúng ta cần xem cú pháp MySQL để lập trình các đối tượng được lưu trữ

Tuyên bố phức hợp

Một câu lệnh ghép bao gồm nhiều câu lệnh, được coi là một đơn vị. Một câu lệnh ghép được đính kèm trong

/*!40101 SET NAMES utf8 */;
/*!40101 SET SQL_MODE=''*/;
/*!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */;
/*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO' */;
CREATE DATABASE /*!32312 IF NOT EXISTS*/ `eastwind` /*!40100 DEFAULT CHARACTER SET latin1 */;
......
93. Mỗi câu lệnh được kết thúc bằng
> mysql -u myuser -p < d:\myproject\sqlscripts\testscript.sql > output.txt
06 (được gọi là dấu phân cách câu lệnh). Vì "dấu phân cách câu lệnh" gặp sự cố với dấu phân cách "cuối câu lệnh" của máy khách
mysql> SHOW COLLATION LIKE 'utf8%';
+--------------------+---------+-----+---------+----------+---------+
| Collation          | Charset | Id  | Default | Compiled | Sortlen |
+--------------------+---------+-----+---------+----------+---------+
| utf8_general_ci    | utf8    |  33 | Yes     | Yes      |       1 |
| utf8_bin           | utf8    |  83 |         | Yes      |       1 |
| utf8_unicode_ci    | utf8    | 192 |         | Yes      |       8 |
| utf8_icelandic_ci  | utf8    | 193 |         | Yes      |       8 |
| utf8_latvian_ci    | utf8    | 194 |         | Yes      |       8 |
| utf8_romanian_ci   | utf8    | 195 |         | Yes      |       8 |
  ......
1 (báo hiệu máy khách gửi câu lệnh đến máy chủ để xử lý), chúng ta cần sử dụng lệnh
/*!40101 SET NAMES utf8 */;
/*!40101 SET SQL_MODE=''*/;
/*!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */;
/*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO' */;
CREATE DATABASE /*!32312 IF NOT EXISTS*/ `eastwind` /*!40100 DEFAULT CHARACTER SET latin1 */;
......
96 để tạm thời thay đổi "dấu phân cách câu lệnh" . Ví dụ,

Biến cục bộ

Trong một câu lệnh ghép được bao quanh bởi

/*!40101 SET NAMES utf8 */;
/*!40101 SET SQL_MODE=''*/;
/*!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */;
/*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO' */;
CREATE DATABASE /*!32312 IF NOT EXISTS*/ `eastwind` /*!40100 DEFAULT CHARACTER SET latin1 */;
......
93, chúng ta có thể khai báo các biến cục bộ bằng cách sử dụng câu lệnh
> mysql -u myuser -p < d:\myproject\sqlscripts\testscript.sql > output.txt
84, chỉ định tên, loại và giá trị mặc định tùy chọn của nó. Phạm vi của các biến cục bộ nằm trong
/*!40101 SET NAMES utf8 */;
/*!40101 SET SQL_MODE=''*/;
/*!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */;
/*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO' */;
CREATE DATABASE /*!32312 IF NOT EXISTS*/ `eastwind` /*!40100 DEFAULT CHARACTER SET latin1 */;
......
93. Chúng ta có thể sử dụng lệnh
> mysql -u myuser -p < d:\myproject\sqlscripts\testscript.sql > output.txt
81 để gán giá trị cho các biến cục bộ

Chúng ta cũng có thể sử dụng "

mysql> SHOW CHARACTER SET;
+----------+-----------------------------+---------------------+--------+
| Charset  | Description                 | Default collation   | Maxlen |
+----------+-----------------------------+---------------------+--------+
| latin1   | cp1252 West European        | latin1_swedish_ci   |      1 |
| utf8     | UTF-8 Unicode               | utf8_general_ci     |      3 |
| ucs2     | UCS-2 Unicode               | ucs2_general_ci     |      2 |
| ascii    | US ASCII                    | ascii_general_ci    |      1 |
  ......
39 rows in set (0.06 sec)
 
mysql> SHOW COLLATION;
+--------------------------+----------+-----+---------+----------+---------+
| Collation                | Charset  | Id  | Default | Compiled | Sortlen |
+--------------------------+----------+-----+---------+----------+---------+
| big5_chinese_ci          | big5     |   1 | Yes     | Yes      |       1 |
| big5_bin                 | big5     |  84 |         | Yes      |       1 |
 ......
197 rows in set (0.01 sec)
02" để gán giá trị cho (các) biến cục bộ từ một truy vấn. "
mysql> SHOW CHARACTER SET;
+----------+-----------------------------+---------------------+--------+
| Charset  | Description                 | Default collation   | Maxlen |
+----------+-----------------------------+---------------------+--------+
| latin1   | cp1252 West European        | latin1_swedish_ci   |      1 |
| utf8     | UTF-8 Unicode               | utf8_general_ci     |      3 |
| ucs2     | UCS-2 Unicode               | ucs2_general_ci     |      2 |
| ascii    | US ASCII                    | ascii_general_ci    |      1 |
  ......
39 rows in set (0.06 sec)
 
mysql> SHOW COLLATION;
+--------------------------+----------+-----+---------+----------+---------+
| Collation                | Charset  | Id  | Default | Compiled | Sortlen |
+--------------------------+----------+-----+---------+----------+---------+
| big5_chinese_ci          | big5     |   1 | Yes     | Yes      |       1 |
| big5_bin                 | big5     |  84 |         | Yes      |       1 |
 ......
197 rows in set (0.01 sec)
03" sẽ trả về một hàng. Bạn có thể sử dụng "
mysql> SHOW CHARACTER SET;
+----------+-----------------------------+---------------------+--------+
| Charset  | Description                 | Default collation   | Maxlen |
+----------+-----------------------------+---------------------+--------+
| latin1   | cp1252 West European        | latin1_swedish_ci   |      1 |
| utf8     | UTF-8 Unicode               | utf8_general_ci     |      3 |
| ucs2     | UCS-2 Unicode               | ucs2_general_ci     |      2 |
| ascii    | US ASCII                    | ascii_general_ci    |      1 |
  ......
39 rows in set (0.06 sec)
 
mysql> SHOW COLLATION;
+--------------------------+----------+-----+---------+----------+---------+
| Collation                | Charset  | Id  | Default | Compiled | Sortlen |
+--------------------------+----------+-----+---------+----------+---------+
| big5_chinese_ci          | big5     |   1 | Yes     | Yes      |       1 |
| big5_bin                 | big5     |  84 |         | Yes      |       1 |
 ......
197 rows in set (0.01 sec)
04" để giới hạn đầu ra của
> mysql -u myuser -p < d:\myproject\sqlscripts\testscript.sql > output.txt
19 thành một hàng với tiêu chí lựa chọn và thứ tự phù hợp

Kiểm soát lưu lượng

MySQL hỗ trợ các cấu trúc điều khiển luồng

mysql> SHOW CHARACTER SET;
+----------+-----------------------------+---------------------+--------+
| Charset  | Description                 | Default collation   | Maxlen |
+----------+-----------------------------+---------------------+--------+
| latin1   | cp1252 West European        | latin1_swedish_ci   |      1 |
| utf8     | UTF-8 Unicode               | utf8_general_ci     |      3 |
| ucs2     | UCS-2 Unicode               | ucs2_general_ci     |      2 |
| ascii    | US ASCII                    | ascii_general_ci    |      1 |
  ......
39 rows in set (0.06 sec)
 
mysql> SHOW COLLATION;
+--------------------------+----------+-----+---------+----------+---------+
| Collation                | Charset  | Id  | Default | Compiled | Sortlen |
+--------------------------+----------+-----+---------+----------+---------+
| big5_chinese_ci          | big5     |   1 | Yes     | Yes      |       1 |
| big5_bin                 | big5     |  84 |         | Yes      |       1 |
 ......
197 rows in set (0.01 sec)
06,
mysql> SHOW CHARACTER SET;
+----------+-----------------------------+---------------------+--------+
| Charset  | Description                 | Default collation   | Maxlen |
+----------+-----------------------------+---------------------+--------+
| latin1   | cp1252 West European        | latin1_swedish_ci   |      1 |
| utf8     | UTF-8 Unicode               | utf8_general_ci     |      3 |
| ucs2     | UCS-2 Unicode               | ucs2_general_ci     |      2 |
| ascii    | US ASCII                    | ascii_general_ci    |      1 |
  ......
39 rows in set (0.06 sec)
 
mysql> SHOW COLLATION;
+--------------------------+----------+-----+---------+----------+---------+
| Collation                | Charset  | Id  | Default | Compiled | Sortlen |
+--------------------------+----------+-----+---------+----------+---------+
| big5_chinese_ci          | big5     |   1 | Yes     | Yes      |       1 |
| big5_bin                 | big5     |  84 |         | Yes      |       1 |
 ......
197 rows in set (0.01 sec)
07,
mysql> SHOW CHARACTER SET;
+----------+-----------------------------+---------------------+--------+
| Charset  | Description                 | Default collation   | Maxlen |
+----------+-----------------------------+---------------------+--------+
| latin1   | cp1252 West European        | latin1_swedish_ci   |      1 |
| utf8     | UTF-8 Unicode               | utf8_general_ci     |      3 |
| ucs2     | UCS-2 Unicode               | ucs2_general_ci     |      2 |
| ascii    | US ASCII                    | ascii_general_ci    |      1 |
  ......
39 rows in set (0.06 sec)
 
mysql> SHOW COLLATION;
+--------------------------+----------+-----+---------+----------+---------+
| Collation                | Charset  | Id  | Default | Compiled | Sortlen |
+--------------------------+----------+-----+---------+----------+---------+
| big5_chinese_ci          | big5     |   1 | Yes     | Yes      |       1 |
| big5_bin                 | big5     |  84 |         | Yes      |       1 |
 ......
197 rows in set (0.01 sec)
08,
mysql> SHOW CHARACTER SET;
+----------+-----------------------------+---------------------+--------+
| Charset  | Description                 | Default collation   | Maxlen |
+----------+-----------------------------+---------------------+--------+
| latin1   | cp1252 West European        | latin1_swedish_ci   |      1 |
| utf8     | UTF-8 Unicode               | utf8_general_ci     |      3 |
| ucs2     | UCS-2 Unicode               | ucs2_general_ci     |      2 |
| ascii    | US ASCII                    | ascii_general_ci    |      1 |
  ......
39 rows in set (0.06 sec)
 
mysql> SHOW COLLATION;
+--------------------------+----------+-----+---------+----------+---------+
| Collation                | Charset  | Id  | Default | Compiled | Sortlen |
+--------------------------+----------+-----+---------+----------+---------+
| big5_chinese_ci          | big5     |   1 | Yes     | Yes      |       1 |
| big5_bin                 | big5     |  84 |         | Yes      |       1 |
 ......
197 rows in set (0.01 sec)
09,
mysql> SHOW CHARACTER SET;
+----------+-----------------------------+---------------------+--------+
| Charset  | Description                 | Default collation   | Maxlen |
+----------+-----------------------------+---------------------+--------+
| latin1   | cp1252 West European        | latin1_swedish_ci   |      1 |
| utf8     | UTF-8 Unicode               | utf8_general_ci     |      3 |
| ucs2     | UCS-2 Unicode               | ucs2_general_ci     |      2 |
| ascii    | US ASCII                    | ascii_general_ci    |      1 |
  ......
39 rows in set (0.06 sec)
 
mysql> SHOW COLLATION;
+--------------------------+----------+-----+---------+----------+---------+
| Collation                | Charset  | Id  | Default | Compiled | Sortlen |
+--------------------------+----------+-----+---------+----------+---------+
| big5_chinese_ci          | big5     |   1 | Yes     | Yes      |       1 |
| big5_bin                 | big5     |  84 |         | Yes      |       1 |
 ......
197 rows in set (0.01 sec)
10 và
mysql> SHOW CHARACTER SET;
+----------+-----------------------------+---------------------+--------+
| Charset  | Description                 | Default collation   | Maxlen |
+----------+-----------------------------+---------------------+--------+
| latin1   | cp1252 West European        | latin1_swedish_ci   |      1 |
| utf8     | UTF-8 Unicode               | utf8_general_ci     |      3 |
| ucs2     | UCS-2 Unicode               | ucs2_general_ci     |      2 |
| ascii    | US ASCII                    | ascii_general_ci    |      1 |
  ......
39 rows in set (0.06 sec)
 
mysql> SHOW COLLATION;
+--------------------------+----------+-----+---------+----------+---------+
| Collation                | Charset  | Id  | Default | Compiled | Sortlen |
+--------------------------+----------+-----+---------+----------+---------+
| big5_chinese_ci          | big5     |   1 | Yes     | Yes      |       1 |
| big5_bin                 | big5     |  84 |         | Yes      |       1 |
 ......
197 rows in set (0.01 sec)
11 cho các chương trình được lưu trữ

shell> mysql -u myuser -p -t -vvv < d:\myproject\sqlscripts\testscript.sql
Enter password: ********
--------------
SHOW DATABASES
--------------
   
+--------------------+
| Database           |
+--------------------+
| information_schema |
| eastwind           |
| mysql              |
| test               |
+--------------------+
4 rows in set (0.00 sec)
   
--------------
SELECT user, host FROM user
--------------
   
+--------+-----------+
| user   | host      |
+--------+-----------+
| root   | 127.0.0.1 |
| myuser | localhost |
| root   | localhost |
+--------+-----------+
4 rows in set (0.00 sec)
   
Bye
1
shell> mysql -u myuser -p -t -vvv < d:\myproject\sqlscripts\testscript.sql
Enter password: ********
--------------
SHOW DATABASES
--------------
   
+--------------------+
| Database           |
+--------------------+
| information_schema |
| eastwind           |
| mysql              |
| test               |
+--------------------+
4 rows in set (0.00 sec)
   
--------------
SELECT user, host FROM user
--------------
   
+--------+-----------+
| user   | host      |
+--------+-----------+
| root   | 127.0.0.1 |
| myuser | localhost |
| root   | localhost |
+--------+-----------+
4 rows in set (0.00 sec)
   
Bye
2
shell> mysql -u myuser -p -t -vvv < d:\myproject\sqlscripts\testscript.sql
Enter password: ********
--------------
SHOW DATABASES
--------------
   
+--------------------+
| Database           |
+--------------------+
| information_schema |
| eastwind           |
| mysql              |
| test               |
+--------------------+
4 rows in set (0.00 sec)
   
--------------
SELECT user, host FROM user
--------------
   
+--------+-----------+
| user   | host      |
+--------+-----------+
| root   | 127.0.0.1 |
| myuser | localhost |
| root   | localhost |
+--------+-----------+
4 rows in set (0.00 sec)
   
Bye
3
shell> mysql -u myuser -p -t -vvv < d:\myproject\sqlscripts\testscript.sql
Enter password: ********
--------------
SHOW DATABASES
--------------
   
+--------------------+
| Database           |
+--------------------+
| information_schema |
| eastwind           |
| mysql              |
| test               |
+--------------------+
4 rows in set (0.00 sec)
   
--------------
SELECT user, host FROM user
--------------
   
+--------+-----------+
| user   | host      |
+--------+-----------+
| root   | 127.0.0.1 |
| myuser | localhost |
| root   | localhost |
+--------+-----------+
4 rows in set (0.00 sec)
   
Bye
4
shell> mysql -u myuser -p -t -vvv < d:\myproject\sqlscripts\testscript.sql
Enter password: ********
--------------
SHOW DATABASES
--------------
   
+--------------------+
| Database           |
+--------------------+
| information_schema |
| eastwind           |
| mysql              |
| test               |
+--------------------+
4 rows in set (0.00 sec)
   
--------------
SELECT user, host FROM user
--------------
   
+--------+-----------+
| user   | host      |
+--------+-----------+
| root   | 127.0.0.1 |
| myuser | localhost |
| root   | localhost |
+--------+-----------+
4 rows in set (0.00 sec)
   
Bye
5
shell> mysql -u myuser -p -t -vvv < d:\myproject\sqlscripts\testscript.sql
Enter password: ********
--------------
SHOW DATABASES
--------------
   
+--------------------+
| Database           |
+--------------------+
| information_schema |
| eastwind           |
| mysql              |
| test               |
+--------------------+
4 rows in set (0.00 sec)
   
--------------
SELECT user, host FROM user
--------------
   
+--------+-----------+
| user   | host      |
+--------+-----------+
| root   | 127.0.0.1 |
| myuser | localhost |
| root   | localhost |
+--------+-----------+
4 rows in set (0.00 sec)
   
Bye
5
shell> mysql -u myuser -p -t -vvv < d:\myproject\sqlscripts\testscript.sql
Enter password: ********
--------------
SHOW DATABASES
--------------
   
+--------------------+
| Database           |
+--------------------+
| information_schema |
| eastwind           |
| mysql              |
| test               |
+--------------------+
4 rows in set (0.00 sec)
   
--------------
SELECT user, host FROM user
--------------
   
+--------+-----------+
| user   | host      |
+--------+-----------+
| root   | 127.0.0.1 |
| myuser | localhost |
| root   | localhost |
+--------+-----------+
4 rows in set (0.00 sec)
   
Bye
7
shell> mysql -u myuser -p -t -vvv < d:\myproject\sqlscripts\testscript.sql
Enter password: ********
--------------
SHOW DATABASES
--------------
   
+--------------------+
| Database           |
+--------------------+
| information_schema |
| eastwind           |
| mysql              |
| test               |
+--------------------+
4 rows in set (0.00 sec)
   
--------------
SELECT user, host FROM user
--------------
   
+--------+-----------+
| user   | host      |
+--------+-----------+
| root   | 127.0.0.1 |
| myuser | localhost |
| root   | localhost |
+--------+-----------+
4 rows in set (0.00 sec)
   
Bye
7

Các chức năng điều khiển lưu lượng sau đây khả dụng

shell> mysql -u myuser -p -t -vvv < d:\myproject\sqlscripts\testscript.sql
Enter password: ********
--------------
SHOW DATABASES
--------------
   
+--------------------+
| Database           |
+--------------------+
| information_schema |
| eastwind           |
| mysql              |
| test               |
+--------------------+
4 rows in set (0.00 sec)
   
--------------
SELECT user, host FROM user
--------------
   
+--------+-----------+
| user   | host      |
+--------+-----------+
| root   | 127.0.0.1 |
| myuser | localhost |
| root   | localhost |
+--------+-----------+
4 rows in set (0.00 sec)
   
Bye
9_______20_______9
shell> mysql -u myuser -p -t -vvv < d:\myproject\sqlscripts\testscript.sql
Enter password: ********
--------------
SHOW DATABASES
--------------
   
+--------------------+
| Database           |
+--------------------+
| information_schema |
| eastwind           |
| mysql              |
| test               |
+--------------------+
4 rows in set (0.00 sec)
   
--------------
SELECT user, host FROM user
--------------
   
+--------+-----------+
| user   | host      |
+--------+-----------+
| root   | 127.0.0.1 |
| myuser | localhost |
| root   | localhost |
+--------+-----------+
4 rows in set (0.00 sec)
   
Bye
9
shell> mysql -u myuser -p -t -vvv < d:\myproject\sqlscripts\testscript.sql
Enter password: ********
--------------
SHOW DATABASES
--------------
   
+--------------------+
| Database           |
+--------------------+
| information_schema |
| eastwind           |
| mysql              |
| test               |
+--------------------+
4 rows in set (0.00 sec)
   
--------------
SELECT user, host FROM user
--------------
   
+--------+-----------+
| user   | host      |
+--------+-----------+
| root   | 127.0.0.1 |
| myuser | localhost |
| root   | localhost |
+--------+-----------+
4 rows in set (0.00 sec)
   
Bye
9

thủ tục lưu trữ

cú pháp

> mysql -u myuser -p -vvv -e "SELECT user, host FROM user; SHOW databases" mysql
Enter password: ********
--------------
SELECT user, host FROM user
--------------
   
+-----------+-----------+
| user      | host      |
+-----------+-----------+
| root      | 127.0.0.1 |
  ...... 
+-----------+-----------+
   
--------------
SHOW databases
--------------

+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
| test               |
  ......
+--------------------+
   
Bye
3

Bạn có thể sử dụng các tham số để truyền dữ liệu vào và nhận dữ liệu từ một thủ tục được lưu trữ bằng cách khai báo hướng của các tham số là

/*!40101 SET NAMES utf8 */;
/*!40101 SET SQL_MODE=''*/;
/*!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */;
/*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO' */;
CREATE DATABASE /*!32312 IF NOT EXISTS*/ `eastwind` /*!40100 DEFAULT CHARACTER SET latin1 */;
......
78,
/*!40101 SET NAMES utf8 */;
/*!40101 SET SQL_MODE=''*/;
/*!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */;
/*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO' */;
CREATE DATABASE /*!32312 IF NOT EXISTS*/ `eastwind` /*!40100 DEFAULT CHARACTER SET latin1 */;
......
79 hoặc
/*!40101 SET NAMES utf8 */;
/*!40101 SET SQL_MODE=''*/;
/*!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */;
/*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO' */;
CREATE DATABASE /*!32312 IF NOT EXISTS*/ `eastwind` /*!40100 DEFAULT CHARACTER SET latin1 */;
......
80. Dữ liệu nhận được thường được đặt trong các biến do người dùng định nghĩa

Bạn có thể sử dụng một câu lệnh ghép, bao gồm nhiều câu lệnh, làm phần thân của

mysql> SHOW CHARACTER SET;
+----------+-----------------------------+---------------------+--------+
| Charset  | Description                 | Default collation   | Maxlen |
+----------+-----------------------------+---------------------+--------+
| latin1   | cp1252 West European        | latin1_swedish_ci   |      1 |
| utf8     | UTF-8 Unicode               | utf8_general_ci     |      3 |
| ucs2     | UCS-2 Unicode               | ucs2_general_ci     |      2 |
| ascii    | US ASCII                    | ascii_general_ci    |      1 |
  ......
39 rows in set (0.06 sec)
 
mysql> SHOW COLLATION;
+--------------------------+----------+-----+---------+----------+---------+
| Collation                | Charset  | Id  | Default | Compiled | Sortlen |
+--------------------------+----------+-----+---------+----------+---------+
| big5_chinese_ci          | big5     |   1 | Yes     | Yes      |       1 |
| big5_bin                 | big5     |  84 |         | Yes      |       1 |
 ......
197 rows in set (0.01 sec)
15 Một câu lệnh ghép được đặt giữa
mysql> SHOW CHARACTER SET;
+----------+-----------------------------+---------------------+--------+
| Charset  | Description                 | Default collation   | Maxlen |
+----------+-----------------------------+---------------------+--------+
| latin1   | cp1252 West European        | latin1_swedish_ci   |      1 |
| utf8     | UTF-8 Unicode               | utf8_general_ci     |      3 |
| ucs2     | UCS-2 Unicode               | ucs2_general_ci     |      2 |
| ascii    | US ASCII                    | ascii_general_ci    |      1 |
  ......
39 rows in set (0.06 sec)
 
mysql> SHOW COLLATION;
+--------------------------+----------+-----+---------+----------+---------+
| Collation                | Charset  | Id  | Default | Compiled | Sortlen |
+--------------------------+----------+-----+---------+----------+---------+
| big5_chinese_ci          | big5     |   1 | Yes     | Yes      |       1 |
| big5_bin                 | big5     |  84 |         | Yes      |       1 |
 ......
197 rows in set (0.01 sec)
16 và
mysql> SHOW CHARACTER SET;
+----------+-----------------------------+---------------------+--------+
| Charset  | Description                 | Default collation   | Maxlen |
+----------+-----------------------------+---------------------+--------+
| latin1   | cp1252 West European        | latin1_swedish_ci   |      1 |
| utf8     | UTF-8 Unicode               | utf8_general_ci     |      3 |
| ucs2     | UCS-2 Unicode               | ucs2_general_ci     |      2 |
| ascii    | US ASCII                    | ascii_general_ci    |      1 |
  ......
39 rows in set (0.06 sec)
 
mysql> SHOW COLLATION;
+--------------------------+----------+-----+---------+----------+---------+
| Collation                | Charset  | Id  | Default | Compiled | Sortlen |
+--------------------------+----------+-----+---------+----------+---------+
| big5_chinese_ci          | big5     |   1 | Yes     | Yes      |       1 |
| big5_bin                 | big5     |  84 |         | Yes      |       1 |
 ......
197 rows in set (0.01 sec)
17. Vì mỗi câu lệnh được kết thúc bằng dấu chấm phẩy, điều này gặp sự cố với dấu kết thúc câu lệnh của MySQL, chúng tôi phải sử dụng
/*!40101 SET NAMES utf8 */;
/*!40101 SET SQL_MODE=''*/;
/*!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */;
/*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO' */;
CREATE DATABASE /*!32312 IF NOT EXISTS*/ `eastwind` /*!40100 DEFAULT CHARACTER SET latin1 */;
......
96 để thay đổi dấu phân cách của MySQL

Ví dụ

Bạn có thể tùy ý sử dụng "

mysql> SHOW CHARACTER SET;
+----------+-----------------------------+---------------------+--------+
| Charset  | Description                 | Default collation   | Maxlen |
+----------+-----------------------------+---------------------+--------+
| latin1   | cp1252 West European        | latin1_swedish_ci   |      1 |
| utf8     | UTF-8 Unicode               | utf8_general_ci     |      3 |
| ucs2     | UCS-2 Unicode               | ucs2_general_ci     |      2 |
| ascii    | US ASCII                    | ascii_general_ci    |      1 |
  ......
39 rows in set (0.06 sec)
 
mysql> SHOW COLLATION;
+--------------------------+----------+-----+---------+----------+---------+
| Collation                | Charset  | Id  | Default | Compiled | Sortlen |
+--------------------------+----------+-----+---------+----------+---------+
| big5_chinese_ci          | big5     |   1 | Yes     | Yes      |       1 |
| big5_bin                 | big5     |  84 |         | Yes      |       1 |
 ......
197 rows in set (0.01 sec)
19" và "
mysql> SHOW CHARACTER SET;
+----------+-----------------------------+---------------------+--------+
| Charset  | Description                 | Default collation   | Maxlen |
+----------+-----------------------------+---------------------+--------+
| latin1   | cp1252 West European        | latin1_swedish_ci   |      1 |
| utf8     | UTF-8 Unicode               | utf8_general_ci     |      3 |
| ucs2     | UCS-2 Unicode               | ucs2_general_ci     |      2 |
| ascii    | US ASCII                    | ascii_general_ci    |      1 |
  ......
39 rows in set (0.06 sec)
 
mysql> SHOW COLLATION;
+--------------------------+----------+-----+---------+----------+---------+
| Collation                | Charset  | Id  | Default | Compiled | Sortlen |
+--------------------------+----------+-----+---------+----------+---------+
| big5_chinese_ci          | big5     |   1 | Yes     | Yes      |       1 |
| big5_bin                 | big5     |  84 |         | Yes      |       1 |
 ......
197 rows in set (0.01 sec)
20" để kiểm soát quyền truy cập của người dùng vào thủ tục được lưu trữ

> mysql -u myuser -p -vvv -e "SELECT user, host FROM user; SHOW databases" mysql
Enter password: ********
--------------
SELECT user, host FROM user
--------------
   
+-----------+-----------+
| user      | host      |
+-----------+-----------+
| root      | 127.0.0.1 |
  ...... 
+-----------+-----------+
   
--------------
SHOW databases
--------------

+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
| test               |
  ......
+--------------------+
   
Bye
4

Nếu sử dụng

mysql> SHOW CHARACTER SET;
+----------+-----------------------------+---------------------+--------+
| Charset  | Description                 | Default collation   | Maxlen |
+----------+-----------------------------+---------------------+--------+
| latin1   | cp1252 West European        | latin1_swedish_ci   |      1 |
| utf8     | UTF-8 Unicode               | utf8_general_ci     |      3 |
| ucs2     | UCS-2 Unicode               | ucs2_general_ci     |      2 |
| ascii    | US ASCII                    | ascii_general_ci    |      1 |
  ......
39 rows in set (0.06 sec)
 
mysql> SHOW COLLATION;
+--------------------------+----------+-----+---------+----------+---------+
| Collation                | Charset  | Id  | Default | Compiled | Sortlen |
+--------------------------+----------+-----+---------+----------+---------+
| big5_chinese_ci          | big5     |   1 | Yes     | Yes      |       1 |
| big5_bin                 | big5     |  84 |         | Yes      |       1 |
 ......
197 rows in set (0.01 sec)
21, quy trình sẽ thực thi với các đặc quyền của người dùng
mysql> SHOW CHARACTER SET;
+----------+-----------------------------+---------------------+--------+
| Charset  | Description                 | Default collation   | Maxlen |
+----------+-----------------------------+---------------------+--------+
| latin1   | cp1252 West European        | latin1_swedish_ci   |      1 |
| utf8     | UTF-8 Unicode               | utf8_general_ci     |      3 |
| ucs2     | UCS-2 Unicode               | ucs2_general_ci     |      2 |
| ascii    | US ASCII                    | ascii_general_ci    |      1 |
  ......
39 rows in set (0.06 sec)
 
mysql> SHOW COLLATION;
+--------------------------+----------+-----+---------+----------+---------+
| Collation                | Charset  | Id  | Default | Compiled | Sortlen |
+--------------------------+----------+-----+---------+----------+---------+
| big5_chinese_ci          | big5     |   1 | Yes     | Yes      |       1 |
| big5_bin                 | big5     |  84 |         | Yes      |       1 |
 ......
197 rows in set (0.01 sec)
19 bất kể người dùng nào gọi nó. Nếu
mysql> SHOW CHARACTER SET;
+----------+-----------------------------+---------------------+--------+
| Charset  | Description                 | Default collation   | Maxlen |
+----------+-----------------------------+---------------------+--------+
| latin1   | cp1252 West European        | latin1_swedish_ci   |      1 |
| utf8     | UTF-8 Unicode               | utf8_general_ci     |      3 |
| ucs2     | UCS-2 Unicode               | ucs2_general_ci     |      2 |
| ascii    | US ASCII                    | ascii_general_ci    |      1 |
  ......
39 rows in set (0.06 sec)
 
mysql> SHOW COLLATION;
+--------------------------+----------+-----+---------+----------+---------+
| Collation                | Charset  | Id  | Default | Compiled | Sortlen |
+--------------------------+----------+-----+---------+----------+---------+
| big5_chinese_ci          | big5     |   1 | Yes     | Yes      |       1 |
| big5_bin                 | big5     |  84 |         | Yes      |       1 |
 ......
197 rows in set (0.01 sec)
23 được sử dụng, quy trình sẽ thực thi với các đặc quyền của người dùng gọi nó.
mysql> SHOW CHARACTER SET;
+----------+-----------------------------+---------------------+--------+
| Charset  | Description                 | Default collation   | Maxlen |
+----------+-----------------------------+---------------------+--------+
| latin1   | cp1252 West European        | latin1_swedish_ci   |      1 |
| utf8     | UTF-8 Unicode               | utf8_general_ci     |      3 |
| ucs2     | UCS-2 Unicode               | ucs2_general_ci     |      2 |
| ascii    | US ASCII                    | ascii_general_ci    |      1 |
  ......
39 rows in set (0.06 sec)
 
mysql> SHOW COLLATION;
+--------------------------+----------+-----+---------+----------+---------+
| Collation                | Charset  | Id  | Default | Compiled | Sortlen |
+--------------------------+----------+-----+---------+----------+---------+
| big5_chinese_ci          | big5     |   1 | Yes     | Yes      |       1 |
| big5_bin                 | big5     |  84 |         | Yes      |       1 |
 ......
197 rows in set (0.01 sec)
19 mặc định là người dùng hiện tại

Hàm do người dùng định nghĩa

cú pháp

> mysql -u myuser -p -vvv -e "SELECT user, host FROM user; SHOW databases" mysql
Enter password: ********
--------------
SELECT user, host FROM user
--------------
   
+-----------+-----------+
| user      | host      |
+-----------+-----------+
| root      | 127.0.0.1 |
  ...... 
+-----------+-----------+
   
--------------
SHOW databases
--------------

+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
| test               |
  ......
+--------------------+
   
Bye
5

Một hàm trả về một giá trị vô hướng, thông qua câu lệnh

mysql> SHOW CHARACTER SET;
+----------+-----------------------------+---------------------+--------+
| Charset  | Description                 | Default collation   | Maxlen |
+----------+-----------------------------+---------------------+--------+
| latin1   | cp1252 West European        | latin1_swedish_ci   |      1 |
| utf8     | UTF-8 Unicode               | utf8_general_ci     |      3 |
| ucs2     | UCS-2 Unicode               | ucs2_general_ci     |      2 |
| ascii    | US ASCII                    | ascii_general_ci    |      1 |
  ......
39 rows in set (0.06 sec)
 
mysql> SHOW COLLATION;
+--------------------------+----------+-----+---------+----------+---------+
| Collation                | Charset  | Id  | Default | Compiled | Sortlen |
+--------------------------+----------+-----+---------+----------+---------+
| big5_chinese_ci          | big5     |   1 | Yes     | Yes      |       1 |
| big5_bin                 | big5     |  84 |         | Yes      |       1 |
 ......
197 rows in set (0.01 sec)
25. Tất cả các tham số là ______38_______78 tham số

Ví dụ

> mysql -u myuser -p -vvv -e "SELECT user, host FROM user; SHOW databases" mysql
Enter password: ********
--------------
SELECT user, host FROM user
--------------
   
+-----------+-----------+
| user      | host      |
+-----------+-----------+
| root      | 127.0.0.1 |
  ...... 
+-----------+-----------+
   
--------------
SHOW databases
--------------

+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
| test               |
  ......
+--------------------+
   
Bye
6

Để gọi hàm, hãy sử dụng

/*!40101 SET NAMES utf8 */;
/*!40101 SET SQL_MODE=''*/;
/*!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */;
/*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO' */;
CREATE DATABASE /*!32312 IF NOT EXISTS*/ `eastwind` /*!40100 DEFAULT CHARACTER SET latin1 */;
......
74
/*!40101 SET NAMES utf8 */;
/*!40101 SET SQL_MODE=''*/;
/*!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */;
/*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO' */;
CREATE DATABASE /*!32312 IF NOT EXISTS*/ `eastwind` /*!40100 DEFAULT CHARACTER SET latin1 */;
......
75

> mysql -u myuser -p -vvv -e "SELECT user, host FROM user; SHOW databases" mysql
Enter password: ********
--------------
SELECT user, host FROM user
--------------
   
+-----------+-----------+
| user      | host      |
+-----------+-----------+
| root      | 127.0.0.1 |
  ...... 
+-----------+-----------+
   
--------------
SHOW databases
--------------

+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
| test               |
  ......
+--------------------+
   
Bye
7

Ví dụ

Lượt xem

Dạng xem là một truy vấn đặt trước được lưu trữ trong cơ sở dữ liệu. Chế độ xem có thể hữu ích để cải thiện bảo mật bằng cách hạn chế dữ liệu có sẵn cho người dùng ít đặc quyền hơn;

cú pháp

> mysql -u myuser -p -vvv -e "SELECT user, host FROM user; SHOW databases" mysql
Enter password: ********
--------------
SELECT user, host FROM user
--------------
   
+-----------+-----------+
| user      | host      |
+-----------+-----------+
| root      | 127.0.0.1 |
  ...... 
+-----------+-----------+
   
--------------
SHOW databases
--------------

+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
| test               |
  ......
+--------------------+
   
Bye
8

Ví dụ. Bảng

> mysql -u myuser -p -t < d:\myproject\sqlscripts\testscript.sql
Enter password: ********
+--------------------+
| Database           |
+--------------------+
| information_schema |
| eastwind           |
| mysql              |
| test               |
+--------------------+
+--------+-----------+
| user   | host      |
+--------+-----------+
| root   | 127.0.0.1 |
| myuser | localhost |
| root   | localhost |
+--------+-----------+
38 của chúng tôi có 5 cột. Chúng tôi có thể tạo chế độ xem để hạn chế một số người dùng ở hai cột,
> mysql -u myuser -p -t < d:\myproject\sqlscripts\testscript.sql
Enter password: ********
+--------------------+
| Database           |
+--------------------+
| information_schema |
| eastwind           |
| mysql              |
| test               |
+--------------------+
+--------+-----------+
| user   | host      |
+--------+-----------+
| root   | 127.0.0.1 |
| myuser | localhost |
| root   | localhost |
+--------+-----------+
45 và
mysql> SHOW CHARACTER SET;
+----------+-----------------------------+---------------------+--------+
| Charset  | Description                 | Default collation   | Maxlen |
+----------+-----------------------------+---------------------+--------+
| latin1   | cp1252 West European        | latin1_swedish_ci   |      1 |
| utf8     | UTF-8 Unicode               | utf8_general_ci     |      3 |
| ucs2     | UCS-2 Unicode               | ucs2_general_ci     |      2 |
| ascii    | US ASCII                    | ascii_general_ci    |      1 |
  ......
39 rows in set (0.06 sec)
 
mysql> SHOW COLLATION;
+--------------------------+----------+-----+---------+----------+---------+
| Collation                | Charset  | Id  | Default | Compiled | Sortlen |
+--------------------------+----------+-----+---------+----------+---------+
| big5_chinese_ci          | big5     |   1 | Yes     | Yes      |       1 |
| big5_bin                 | big5     |  84 |         | Yes      |       1 |
 ......
197 rows in set (0.01 sec)
31, như sau

Gây nên

Trình kích hoạt là một trình xử lý sự kiện thực thi để phản hồi lại một sự kiện. Một trình kích hoạt được liên kết với một bảng. Ba loại sự kiện bảng có thể kích hoạt trình kích hoạt.

/*!40101 SET NAMES utf8 */;
/*!40101 SET SQL_MODE=''*/;
/*!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */;
/*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO' */;
CREATE DATABASE /*!32312 IF NOT EXISTS*/ `eastwind` /*!40100 DEFAULT CHARACTER SET latin1 */;
......
51 (bao gồm
mysql> SHOW CHARACTER SET;
+----------+-----------------------------+---------------------+--------+
| Charset  | Description                 | Default collation   | Maxlen |
+----------+-----------------------------+---------------------+--------+
| latin1   | cp1252 West European        | latin1_swedish_ci   |      1 |
| utf8     | UTF-8 Unicode               | utf8_general_ci     |      3 |
| ucs2     | UCS-2 Unicode               | ucs2_general_ci     |      2 |
| ascii    | US ASCII                    | ascii_general_ci    |      1 |
  ......
39 rows in set (0.06 sec)
 
mysql> SHOW COLLATION;
+--------------------------+----------+-----+---------+----------+---------+
| Collation                | Charset  | Id  | Default | Compiled | Sortlen |
+--------------------------+----------+-----+---------+----------+---------+
| big5_chinese_ci          | big5     |   1 | Yes     | Yes      |       1 |
| big5_bin                 | big5     |  84 |         | Yes      |       1 |
 ......
197 rows in set (0.01 sec)
33),
> mysql -u myuser -p -t < d:\myproject\sqlscripts\testscript.sql
Enter password: ********
+--------------------+
| Database           |
+--------------------+
| information_schema |
| eastwind           |
| mysql              |
| test               |
+--------------------+
+--------+-----------+
| user   | host      |
+--------+-----------+
| root   | 127.0.0.1 |
| myuser | localhost |
| root   | localhost |
+--------+-----------+
92 (bao gồm
mysql> SHOW CHARACTER SET;
+----------+-----------------------------+---------------------+--------+
| Charset  | Description                 | Default collation   | Maxlen |
+----------+-----------------------------+---------------------+--------+
| latin1   | cp1252 West European        | latin1_swedish_ci   |      1 |
| utf8     | UTF-8 Unicode               | utf8_general_ci     |      3 |
| ucs2     | UCS-2 Unicode               | ucs2_general_ci     |      2 |
| ascii    | US ASCII                    | ascii_general_ci    |      1 |
  ......
39 rows in set (0.06 sec)
 
mysql> SHOW COLLATION;
+--------------------------+----------+-----+---------+----------+---------+
| Collation                | Charset  | Id  | Default | Compiled | Sortlen |
+--------------------------+----------+-----+---------+----------+---------+
| big5_chinese_ci          | big5     |   1 | Yes     | Yes      |       1 |
| big5_bin                 | big5     |  84 |         | Yes      |       1 |
 ......
197 rows in set (0.01 sec)
35 và
mysql> SHOW CHARACTER SET;
+----------+-----------------------------+---------------------+--------+
| Charset  | Description                 | Default collation   | Maxlen |
+----------+-----------------------------+---------------------+--------+
| latin1   | cp1252 West European        | latin1_swedish_ci   |      1 |
| utf8     | UTF-8 Unicode               | utf8_general_ci     |      3 |
| ucs2     | UCS-2 Unicode               | ucs2_general_ci     |      2 |
| ascii    | US ASCII                    | ascii_general_ci    |      1 |
  ......
39 rows in set (0.06 sec)
 
mysql> SHOW COLLATION;
+--------------------------+----------+-----+---------+----------+---------+
| Collation                | Charset  | Id  | Default | Compiled | Sortlen |
+--------------------------+----------+-----+---------+----------+---------+
| big5_chinese_ci          | big5     |   1 | Yes     | Yes      |       1 |
| big5_bin                 | big5     |  84 |         | Yes      |       1 |
 ......
197 rows in set (0.01 sec)
33), và
> mysql -u myuser -p -vvv -e "SELECT user, host FROM user; SHOW databases" mysql
Enter password: ********
--------------
SELECT user, host FROM user
--------------
   
+-----------+-----------+
| user      | host      |
+-----------+-----------+
| root      | 127.0.0.1 |
  ...... 
+-----------+-----------+
   
--------------
SHOW databases
--------------

+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
| test               |
  ......
+--------------------+
   
Bye
26. Bạn có thể đặt trình kích hoạt để thực thi
mysql> SHOW CHARACTER SET;
+----------+-----------------------------+---------------------+--------+
| Charset  | Description                 | Default collation   | Maxlen |
+----------+-----------------------------+---------------------+--------+
| latin1   | cp1252 West European        | latin1_swedish_ci   |      1 |
| utf8     | UTF-8 Unicode               | utf8_general_ci     |      3 |
| ucs2     | UCS-2 Unicode               | ucs2_general_ci     |      2 |
| ascii    | US ASCII                    | ascii_general_ci    |      1 |
  ......
39 rows in set (0.06 sec)
 
mysql> SHOW COLLATION;
+--------------------------+----------+-----+---------+----------+---------+
| Collation                | Charset  | Id  | Default | Compiled | Sortlen |
+--------------------------+----------+-----+---------+----------+---------+
| big5_chinese_ci          | big5     |   1 | Yes     | Yes      |       1 |
| big5_bin                 | big5     |  84 |         | Yes      |       1 |
 ......
197 rows in set (0.01 sec)
38 hoặc
mysql> SHOW CHARACTER SET;
+----------+-----------------------------+---------------------+--------+
| Charset  | Description                 | Default collation   | Maxlen |
+----------+-----------------------------+---------------------+--------+
| latin1   | cp1252 West European        | latin1_swedish_ci   |      1 |
| utf8     | UTF-8 Unicode               | utf8_general_ci     |      3 |
| ucs2     | UCS-2 Unicode               | ucs2_general_ci     |      2 |
| ascii    | US ASCII                    | ascii_general_ci    |      1 |
  ......
39 rows in set (0.06 sec)
 
mysql> SHOW COLLATION;
+--------------------------+----------+-----+---------+----------+---------+
| Collation                | Charset  | Id  | Default | Compiled | Sortlen |
+--------------------------+----------+-----+---------+----------+---------+
| big5_chinese_ci          | big5     |   1 | Yes     | Yes      |       1 |
| big5_bin                 | big5     |  84 |         | Yes      |       1 |
 ......
197 rows in set (0.01 sec)
39 sự kiện bảng

cú pháp

> mysql -u myuser -p -vvv -e "SELECT user, host FROM user; SHOW databases" mysql
Enter password: ********
--------------
SELECT user, host FROM user
--------------
   
+-----------+-----------+
| user      | host      |
+-----------+-----------+
| root      | 127.0.0.1 |
  ...... 
+-----------+-----------+
   
--------------
SHOW databases
--------------

+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
| test               |
  ......
+--------------------+
   
Bye
9

Bạn có thể tham khảo các cột trong bảng được liên kết với trình kích hoạt bằng cách sử dụng bí danh

mysql> SHOW CHARACTER SET;
+----------+-----------------------------+---------------------+--------+
| Charset  | Description                 | Default collation   | Maxlen |
+----------+-----------------------------+---------------------+--------+
| latin1   | cp1252 West European        | latin1_swedish_ci   |      1 |
| utf8     | UTF-8 Unicode               | utf8_general_ci     |      3 |
| ucs2     | UCS-2 Unicode               | ucs2_general_ci     |      2 |
| ascii    | US ASCII                    | ascii_general_ci    |      1 |
  ......
39 rows in set (0.06 sec)
 
mysql> SHOW COLLATION;
+--------------------------+----------+-----+---------+----------+---------+
| Collation                | Charset  | Id  | Default | Compiled | Sortlen |
+--------------------------+----------+-----+---------+----------+---------+
| big5_chinese_ci          | big5     |   1 | Yes     | Yes      |       1 |
| big5_bin                 | big5     |  84 |         | Yes      |       1 |
 ......
197 rows in set (0.01 sec)
40 và
mysql> SHOW CHARACTER SET;
+----------+-----------------------------+---------------------+--------+
| Charset  | Description                 | Default collation   | Maxlen |
+----------+-----------------------------+---------------------+--------+
| latin1   | cp1252 West European        | latin1_swedish_ci   |      1 |
| utf8     | UTF-8 Unicode               | utf8_general_ci     |      3 |
| ucs2     | UCS-2 Unicode               | ucs2_general_ci     |      2 |
| ascii    | US ASCII                    | ascii_general_ci    |      1 |
  ......
39 rows in set (0.06 sec)
 
mysql> SHOW COLLATION;
+--------------------------+----------+-----+---------+----------+---------+
| Collation                | Charset  | Id  | Default | Compiled | Sortlen |
+--------------------------+----------+-----+---------+----------+---------+
| big5_chinese_ci          | big5     |   1 | Yes     | Yes      |       1 |
| big5_bin                 | big5     |  84 |         | Yes      |       1 |
 ......
197 rows in set (0.01 sec)
41

  • Dành cho
    /*!40101 SET NAMES utf8 */;
    /*!40101 SET SQL_MODE=''*/;
    /*!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */;
    /*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO' */;
    CREATE DATABASE /*!32312 IF NOT EXISTS*/ `eastwind` /*!40100 DEFAULT CHARACTER SET latin1 */;
    ......
    51 và
    > mysql -u myuser -p -vvv -e "SELECT user, host FROM user; SHOW databases" mysql
    Enter password: ********
    --------------
    SELECT user, host FROM user
    --------------
       
    +-----------+-----------+
    | user      | host      |
    +-----------+-----------+
    | root      | 127.0.0.1 |
      ...... 
    +-----------+-----------+
       
    --------------
    SHOW databases
    --------------
    
    +--------------------+
    | Database           |
    +--------------------+
    | information_schema |
    | mysql              |
    | test               |
      ......
    +--------------------+
       
    Bye
    26.
    mysql> SHOW CHARACTER SET;
    +----------+-----------------------------+---------------------+--------+
    | Charset  | Description                 | Default collation   | Maxlen |
    +----------+-----------------------------+---------------------+--------+
    | latin1   | cp1252 West European        | latin1_swedish_ci   |      1 |
    | utf8     | UTF-8 Unicode               | utf8_general_ci     |      3 |
    | ucs2     | UCS-2 Unicode               | ucs2_general_ci     |      2 |
    | ascii    | US ASCII                    | ascii_general_ci    |      1 |
      ......
    39 rows in set (0.06 sec)
     
    mysql> SHOW COLLATION;
    +--------------------------+----------+-----+---------+----------+---------+
    | Collation                | Charset  | Id  | Default | Compiled | Sortlen |
    +--------------------------+----------+-----+---------+----------+---------+
    | big5_chinese_ci          | big5     |   1 | Yes     | Yes      |       1 |
    | big5_bin                 | big5     |  84 |         | Yes      |       1 |
     ......
    197 rows in set (0.01 sec)
    44 đề cập đến một cột của một hàng hiện có trước khi nó được cập nhật hoặc xóa
  • Cho
    > mysql -u myuser -p -t < d:\myproject\sqlscripts\testscript.sql
    Enter password: ********
    +--------------------+
    | Database           |
    +--------------------+
    | information_schema |
    | eastwind           |
    | mysql              |
    | test               |
    +--------------------+
    +--------+-----------+
    | user   | host      |
    +--------+-----------+
    | root   | 127.0.0.1 |
    | myuser | localhost |
    | root   | localhost |
    +--------+-----------+
    92 và
    > mysql -u myuser -p -vvv -e "SELECT user, host FROM user; SHOW databases" mysql
    Enter password: ********
    --------------
    SELECT user, host FROM user
    --------------
       
    +-----------+-----------+
    | user      | host      |
    +-----------+-----------+
    | root      | 127.0.0.1 |
      ...... 
    +-----------+-----------+
       
    --------------
    SHOW databases
    --------------
    
    +--------------------+
    | Database           |
    +--------------------+
    | information_schema |
    | mysql              |
    | test               |
      ......
    +--------------------+
       
    Bye
    26.
    mysql> SHOW CHARACTER SET;
    +----------+-----------------------------+---------------------+--------+
    | Charset  | Description                 | Default collation   | Maxlen |
    +----------+-----------------------------+---------------------+--------+
    | latin1   | cp1252 West European        | latin1_swedish_ci   |      1 |
    | utf8     | UTF-8 Unicode               | utf8_general_ci     |      3 |
    | ucs2     | UCS-2 Unicode               | ucs2_general_ci     |      2 |
    | ascii    | US ASCII                    | ascii_general_ci    |      1 |
      ......
    39 rows in set (0.06 sec)
     
    mysql> SHOW COLLATION;
    +--------------------------+----------+-----+---------+----------+---------+
    | Collation                | Charset  | Id  | Default | Compiled | Sortlen |
    +--------------------------+----------+-----+---------+----------+---------+
    | big5_chinese_ci          | big5     |   1 | Yes     | Yes      |       1 |
    | big5_bin                 | big5     |  84 |         | Yes      |       1 |
     ......
    197 rows in set (0.01 sec)
    47 đề cập đến cột của một hàng mới được chèn vào hoặc một hàng hiện có sau khi nó được cập nhật. Để đặt giá trị cột cho
    > mysql -u myuser -p -t < d:\myproject\sqlscripts\testscript.sql
    Enter password: ********
    +--------------------+
    | Database           |
    +--------------------+
    | information_schema |
    | eastwind           |
    | mysql              |
    | test               |
    +--------------------+
    +--------+-----------+
    | user   | host      |
    +--------+-----------+
    | root   | 127.0.0.1 |
    | myuser | localhost |
    | root   | localhost |
    +--------+-----------+
    92, bạn cần sử dụng trình kích hoạt
    /*!40101 SET NAMES utf8 */;
    /*!40101 SET SQL_MODE=''*/;
    /*!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */;
    /*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO' */;
    CREATE DATABASE /*!32312 IF NOT EXISTS*/ `eastwind` /*!40100 DEFAULT CHARACTER SET latin1 */;
    ......
    87 và đặt thông qua thông qua
    mysql> SHOW CHARACTER SET;
    +----------+-----------------------------+---------------------+--------+
    | Charset  | Description                 | Default collation   | Maxlen |
    +----------+-----------------------------+---------------------+--------+
    | latin1   | cp1252 West European        | latin1_swedish_ci   |      1 |
    | utf8     | UTF-8 Unicode               | utf8_general_ci     |      3 |
    | ucs2     | UCS-2 Unicode               | ucs2_general_ci     |      2 |
    | ascii    | US ASCII                    | ascii_general_ci    |      1 |
      ......
    39 rows in set (0.06 sec)
     
    mysql> SHOW COLLATION;
    +--------------------------+----------+-----+---------+----------+---------+
    | Collation                | Charset  | Id  | Default | Compiled | Sortlen |
    +--------------------------+----------+-----+---------+----------+---------+
    | big5_chinese_ci          | big5     |   1 | Yes     | Yes      |       1 |
    | big5_bin                 | big5     |  84 |         | Yes      |       1 |
     ......
    197 rows in set (0.01 sec)
    50. Xem ví dụ bên dưới

Ví dụ. Lưu hàng vào bảng dự phòng trước khi hàng bị xóa

Để kiểm tra kích hoạt

/*!40101 SET NAMES utf8 */;
/*!40101 SET SQL_MODE=''*/;
/*!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */;
/*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO' */;
CREATE DATABASE /*!32312 IF NOT EXISTS*/ `eastwind` /*!40100 DEFAULT CHARACTER SET latin1 */;
......
0
Ví dụ (Được tạo và cập nhật lần cuối)

Sự kiện

Một sự kiện là một tập hợp các câu lệnh SQL được lưu trữ được thực thi vào ngày và giờ đã lên lịch. Khi một sự kiện được hoàn thành, nó sẽ tự động bị hủy

cú pháp

/*!40101 SET NAMES utf8 */;
/*!40101 SET SQL_MODE=''*/;
/*!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */;
/*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO' */;
CREATE DATABASE /*!32312 IF NOT EXISTS*/ `eastwind` /*!40100 DEFAULT CHARACTER SET latin1 */;
......
1

Lịch trình được xác định trong "

mysql> SHOW CHARACTER SET;
+----------+-----------------------------+---------------------+--------+
| Charset  | Description                 | Default collation   | Maxlen |
+----------+-----------------------------+---------------------+--------+
| latin1   | cp1252 West European        | latin1_swedish_ci   |      1 |
| utf8     | UTF-8 Unicode               | utf8_general_ci     |      3 |
| ucs2     | UCS-2 Unicode               | ucs2_general_ci     |      2 |
| ascii    | US ASCII                    | ascii_general_ci    |      1 |
  ......
39 rows in set (0.06 sec)
 
mysql> SHOW COLLATION;
+--------------------------+----------+-----+---------+----------+---------+
| Collation                | Charset  | Id  | Default | Compiled | Sortlen |
+--------------------------+----------+-----+---------+----------+---------+
| big5_chinese_ci          | big5     |   1 | Yes     | Yes      |       1 |
| big5_bin                 | big5     |  84 |         | Yes      |       1 |
 ......
197 rows in set (0.01 sec)
51" (e. g. ,
mysql> SHOW CHARACTER SET;
+----------+-----------------------------+---------------------+--------+
| Charset  | Description                 | Default collation   | Maxlen |
+----------+-----------------------------+---------------------+--------+
| latin1   | cp1252 West European        | latin1_swedish_ci   |      1 |
| utf8     | UTF-8 Unicode               | utf8_general_ci     |      3 |
| ucs2     | UCS-2 Unicode               | ucs2_general_ci     |      2 |
| ascii    | US ASCII                    | ascii_general_ci    |      1 |
  ......
39 rows in set (0.06 sec)
 
mysql> SHOW COLLATION;
+--------------------------+----------+-----+---------+----------+---------+
| Collation                | Charset  | Id  | Default | Compiled | Sortlen |
+--------------------------+----------+-----+---------+----------+---------+
| big5_chinese_ci          | big5     |   1 | Yes     | Yes      |       1 |
| big5_bin                 | big5     |  84 |         | Yes      |       1 |
 ......
197 rows in set (0.01 sec)
52,
mysql> SHOW CHARACTER SET;
+----------+-----------------------------+---------------------+--------+
| Charset  | Description                 | Default collation   | Maxlen |
+----------+-----------------------------+---------------------+--------+
| latin1   | cp1252 West European        | latin1_swedish_ci   |      1 |
| utf8     | UTF-8 Unicode               | utf8_general_ci     |      3 |
| ucs2     | UCS-2 Unicode               | ucs2_general_ci     |      2 |
| ascii    | US ASCII                    | ascii_general_ci    |      1 |
  ......
39 rows in set (0.06 sec)
 
mysql> SHOW COLLATION;
+--------------------------+----------+-----+---------+----------+---------+
| Collation                | Charset  | Id  | Default | Compiled | Sortlen |
+--------------------------+----------+-----+---------+----------+---------+
| big5_chinese_ci          | big5     |   1 | Yes     | Yes      |       1 |
| big5_bin                 | big5     |  84 |         | Yes      |       1 |
 ......
197 rows in set (0.01 sec)
53). Bạn có thể chỉ định thời gian tương đối với tùy chọn "
mysql> SHOW CHARACTER SET;
+----------+-----------------------------+---------------------+--------+
| Charset  | Description                 | Default collation   | Maxlen |
+----------+-----------------------------+---------------------+--------+
| latin1   | cp1252 West European        | latin1_swedish_ci   |      1 |
| utf8     | UTF-8 Unicode               | utf8_general_ci     |      3 |
| ucs2     | UCS-2 Unicode               | ucs2_general_ci     |      2 |
| ascii    | US ASCII                    | ascii_general_ci    |      1 |
  ......
39 rows in set (0.06 sec)
 
mysql> SHOW COLLATION;
+--------------------------+----------+-----+---------+----------+---------+
| Collation                | Charset  | Id  | Default | Compiled | Sortlen |
+--------------------------+----------+-----+---------+----------+---------+
| big5_chinese_ci          | big5     |   1 | Yes     | Yes      |       1 |
| big5_bin                 | big5     |  84 |         | Yes      |       1 |
 ......
197 rows in set (0.01 sec)
54", (e. g. ,
mysql> SHOW CHARACTER SET;
+----------+-----------------------------+---------------------+--------+
| Charset  | Description                 | Default collation   | Maxlen |
+----------+-----------------------------+---------------------+--------+
| latin1   | cp1252 West European        | latin1_swedish_ci   |      1 |
| utf8     | UTF-8 Unicode               | utf8_general_ci     |      3 |
| ucs2     | UCS-2 Unicode               | ucs2_general_ci     |      2 |
| ascii    | US ASCII                    | ascii_general_ci    |      1 |
  ......
39 rows in set (0.06 sec)
 
mysql> SHOW COLLATION;
+--------------------------+----------+-----+---------+----------+---------+
| Collation                | Charset  | Id  | Default | Compiled | Sortlen |
+--------------------------+----------+-----+---------+----------+---------+
| big5_chinese_ci          | big5     |   1 | Yes     | Yes      |       1 |
| big5_bin                 | big5     |  84 |         | Yes      |       1 |
 ......
197 rows in set (0.01 sec)
55)

Bạn cần kích hoạt bộ lập lịch sự kiện, đây là một luồng đặc biệt để duy trì hàng đợi sự kiện và chạy các sự kiện đã lên lịch

/*!40101 SET NAMES utf8 */;
/*!40101 SET SQL_MODE=''*/;
/*!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */;
/*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO' */;
CREATE DATABASE /*!32312 IF NOT EXISTS*/ `eastwind` /*!40100 DEFAULT CHARACTER SET latin1 */;
......
2

Bạn cũng có thể khởi động máy chủ

shell> mysql -u myuser -p -t -vvv < d:\myproject\sqlscripts\testscript.sql
Enter password: ********
--------------
SHOW DATABASES
--------------
   
+--------------------+
| Database           |
+--------------------+
| information_schema |
| eastwind           |
| mysql              |
| test               |
+--------------------+
4 rows in set (0.00 sec)
   
--------------
SELECT user, host FROM user
--------------
   
+--------+-----------+
| user   | host      |
+--------+-----------+
| root   | 127.0.0.1 |
| myuser | localhost |
| root   | localhost |
+--------+-----------+
4 rows in set (0.00 sec)
   
Bye
71 với tùy chọn
mysql> SHOW CHARACTER SET;
+----------+-----------------------------+---------------------+--------+
| Charset  | Description                 | Default collation   | Maxlen |
+----------+-----------------------------+---------------------+--------+
| latin1   | cp1252 West European        | latin1_swedish_ci   |      1 |
| utf8     | UTF-8 Unicode               | utf8_general_ci     |      3 |
| ucs2     | UCS-2 Unicode               | ucs2_general_ci     |      2 |
| ascii    | US ASCII                    | ascii_general_ci    |      1 |
  ......
39 rows in set (0.06 sec)
 
mysql> SHOW COLLATION;
+--------------------------+----------+-----+---------+----------+---------+
| Collation                | Charset  | Id  | Default | Compiled | Sortlen |
+--------------------------+----------+-----+---------+----------+---------+
| big5_chinese_ci          | big5     |   1 | Yes     | Yes      |       1 |
| big5_bin                 | big5     |  84 |         | Yes      |       1 |
 ......
197 rows in set (0.01 sec)
57

Ví dụ

Một sự kiện cũng có thể được lặp lại

/*!40101 SET NAMES utf8 */;
/*!40101 SET SQL_MODE=''*/;
/*!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */;
/*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO' */;
CREATE DATABASE /*!32312 IF NOT EXISTS*/ `eastwind` /*!40100 DEFAULT CHARACTER SET latin1 */;
......
3

Ví dụ

Quản trị máy chủ cơ sở dữ liệu MySQL

Quản lý tài khoản người dùng

Để tạo người dùng mới, sử dụng lệnh

mysql> SHOW CHARACTER SET;
+----------+-----------------------------+---------------------+--------+
| Charset  | Description                 | Default collation   | Maxlen |
+----------+-----------------------------+---------------------+--------+
| latin1   | cp1252 West European        | latin1_swedish_ci   |      1 |
| utf8     | UTF-8 Unicode               | utf8_general_ci     |      3 |
| ucs2     | UCS-2 Unicode               | ucs2_general_ci     |      2 |
| ascii    | US ASCII                    | ascii_general_ci    |      1 |
  ......
39 rows in set (0.06 sec)
 
mysql> SHOW COLLATION;
+--------------------------+----------+-----+---------+----------+---------+
| Collation                | Charset  | Id  | Default | Compiled | Sortlen |
+--------------------------+----------+-----+---------+----------+---------+
| big5_chinese_ci          | big5     |   1 | Yes     | Yes      |       1 |
| big5_bin                 | big5     |  84 |         | Yes      |       1 |
 ......
197 rows in set (0.01 sec)
58 như sau

/*!40101 SET NAMES utf8 */;
/*!40101 SET SQL_MODE=''*/;
/*!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */;
/*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO' */;
CREATE DATABASE /*!32312 IF NOT EXISTS*/ `eastwind` /*!40100 DEFAULT CHARACTER SET latin1 */;
......
4

mysql> SHOW CHARACTER SET;
+----------+-----------------------------+---------------------+--------+
| Charset  | Description                 | Default collation   | Maxlen |
+----------+-----------------------------+---------------------+--------+
| latin1   | cp1252 West European        | latin1_swedish_ci   |      1 |
| utf8     | UTF-8 Unicode               | utf8_general_ci     |      3 |
| ucs2     | UCS-2 Unicode               | ucs2_general_ci     |      2 |
| ascii    | US ASCII                    | ascii_general_ci    |      1 |
  ......
39 rows in set (0.06 sec)
 
mysql> SHOW COLLATION;
+--------------------------+----------+-----+---------+----------+---------+
| Collation                | Charset  | Id  | Default | Compiled | Sortlen |
+--------------------------+----------+-----+---------+----------+---------+
| big5_chinese_ci          | big5     |   1 | Yes     | Yes      |       1 |
| big5_bin                 | big5     |  84 |         | Yes      |       1 |
 ......
197 rows in set (0.01 sec)
59 mặc định là máy chủ cục bộ. Bạn có thể sử dụng tên máy chủ DNS hoặc địa chỉ IP. Ký tự đại diện
mysql> SHOW CHARACTER SET;
+----------+-----------------------------+---------------------+--------+
| Charset  | Description                 | Default collation   | Maxlen |
+----------+-----------------------------+---------------------+--------+
| latin1   | cp1252 West European        | latin1_swedish_ci   |      1 |
| utf8     | UTF-8 Unicode               | utf8_general_ci     |      3 |
| ucs2     | UCS-2 Unicode               | ucs2_general_ci     |      2 |
| ascii    | US ASCII                    | ascii_general_ci    |      1 |
  ......
39 rows in set (0.06 sec)
 
mysql> SHOW COLLATION;
+--------------------------+----------+-----+---------+----------+---------+
| Collation                | Charset  | Id  | Default | Compiled | Sortlen |
+--------------------------+----------+-----+---------+----------+---------+
| big5_chinese_ci          | big5     |   1 | Yes     | Yes      |       1 |
| big5_bin                 | big5     |  84 |         | Yes      |       1 |
 ......
197 rows in set (0.01 sec)
60 và
> mysql -u myuser -p -t < d:\myproject\sqlscripts\testscript.sql
Enter password: ********
+--------------------+
| Database           |
+--------------------+
| information_schema |
| eastwind           |
| mysql              |
| test               |
+--------------------+
+--------+-----------+
| user   | host      |
+--------+-----------+
| root   | 127.0.0.1 |
| myuser | localhost |
| root   | localhost |
+--------+-----------+
31 có thể được sử dụng cho
mysql> SHOW CHARACTER SET;
+----------+-----------------------------+---------------------+--------+
| Charset  | Description                 | Default collation   | Maxlen |
+----------+-----------------------------+---------------------+--------+
| latin1   | cp1252 West European        | latin1_swedish_ci   |      1 |
| utf8     | UTF-8 Unicode               | utf8_general_ci     |      3 |
| ucs2     | UCS-2 Unicode               | ucs2_general_ci     |      2 |
| ascii    | US ASCII                    | ascii_general_ci    |      1 |
  ......
39 rows in set (0.06 sec)
 
mysql> SHOW COLLATION;
+--------------------------+----------+-----+---------+----------+---------+
| Collation                | Charset  | Id  | Default | Compiled | Sortlen |
+--------------------------+----------+-----+---------+----------+---------+
| big5_chinese_ci          | big5     |   1 | Yes     | Yes      |       1 |
| big5_bin                 | big5     |  84 |         | Yes      |       1 |
 ......
197 rows in set (0.01 sec)
59, e. g. ,
mysql> SHOW CHARACTER SET;
+----------+-----------------------------+---------------------+--------+
| Charset  | Description                 | Default collation   | Maxlen |
+----------+-----------------------------+---------------------+--------+
| latin1   | cp1252 West European        | latin1_swedish_ci   |      1 |
| utf8     | UTF-8 Unicode               | utf8_general_ci     |      3 |
| ucs2     | UCS-2 Unicode               | ucs2_general_ci     |      2 |
| ascii    | US ASCII                    | ascii_general_ci    |      1 |
  ......
39 rows in set (0.06 sec)
 
mysql> SHOW COLLATION;
+--------------------------+----------+-----+---------+----------+---------+
| Collation                | Charset  | Id  | Default | Compiled | Sortlen |
+--------------------------+----------+-----+---------+----------+---------+
| big5_chinese_ci          | big5     |   1 | Yes     | Yes      |       1 |
| big5_bin                 | big5     |  84 |         | Yes      |       1 |
 ......
197 rows in set (0.01 sec)
63 (đối với tất cả máy chủ),
mysql> SHOW CHARACTER SET;
+----------+-----------------------------+---------------------+--------+
| Charset  | Description                 | Default collation   | Maxlen |
+----------+-----------------------------+---------------------+--------+
| latin1   | cp1252 West European        | latin1_swedish_ci   |      1 |
| utf8     | UTF-8 Unicode               | utf8_general_ci     |      3 |
| ucs2     | UCS-2 Unicode               | ucs2_general_ci     |      2 |
| ascii    | US ASCII                    | ascii_general_ci    |      1 |
  ......
39 rows in set (0.06 sec)
 
mysql> SHOW COLLATION;
+--------------------------+----------+-----+---------+----------+---------+
| Collation                | Charset  | Id  | Default | Compiled | Sortlen |
+--------------------------+----------+-----+---------+----------+---------+
| big5_chinese_ci          | big5     |   1 | Yes     | Yes      |       1 |
| big5_bin                 | big5     |  84 |         | Yes      |       1 |
 ......
197 rows in set (0.01 sec)
64,
mysql> SHOW CHARACTER SET;
+----------+-----------------------------+---------------------+--------+
| Charset  | Description                 | Default collation   | Maxlen |
+----------+-----------------------------+---------------------+--------+
| latin1   | cp1252 West European        | latin1_swedish_ci   |      1 |
| utf8     | UTF-8 Unicode               | utf8_general_ci     |      3 |
| ucs2     | UCS-2 Unicode               | ucs2_general_ci     |      2 |
| ascii    | US ASCII                    | ascii_general_ci    |      1 |
  ......
39 rows in set (0.06 sec)
 
mysql> SHOW COLLATION;
+--------------------------+----------+-----+---------+----------+---------+
| Collation                | Charset  | Id  | Default | Compiled | Sortlen |
+--------------------------+----------+-----+---------+----------+---------+
| big5_chinese_ci          | big5     |   1 | Yes     | Yes      |       1 |
| big5_bin                 | big5     |  84 |         | Yes      |       1 |
 ......
197 rows in set (0.01 sec)
65. Đối với địa chỉ IP, mặt nạ mạng có thể được chỉ định trong
mysql> SHOW CHARACTER SET;
+----------+-----------------------------+---------------------+--------+
| Charset  | Description                 | Default collation   | Maxlen |
+----------+-----------------------------+---------------------+--------+
| latin1   | cp1252 West European        | latin1_swedish_ci   |      1 |
| utf8     | UTF-8 Unicode               | utf8_general_ci     |      3 |
| ucs2     | UCS-2 Unicode               | ucs2_general_ci     |      2 |
| ascii    | US ASCII                    | ascii_general_ci    |      1 |
  ......
39 rows in set (0.06 sec)
 
mysql> SHOW COLLATION;
+--------------------------+----------+-----+---------+----------+---------+
| Collation                | Charset  | Id  | Default | Compiled | Sortlen |
+--------------------------+----------+-----+---------+----------+---------+
| big5_chinese_ci          | big5     |   1 | Yes     | Yes      |       1 |
| big5_bin                 | big5     |  84 |         | Yes      |       1 |
 ......
197 rows in set (0.01 sec)
66
mysql> SHOW CHARACTER SET;
+----------+-----------------------------+---------------------+--------+
| Charset  | Description                 | Default collation   | Maxlen |
+----------+-----------------------------+---------------------+--------+
| latin1   | cp1252 West European        | latin1_swedish_ci   |      1 |
| utf8     | UTF-8 Unicode               | utf8_general_ci     |      3 |
| ucs2     | UCS-2 Unicode               | ucs2_general_ci     |      2 |
| ascii    | US ASCII                    | ascii_general_ci    |      1 |
  ......
39 rows in set (0.06 sec)
 
mysql> SHOW COLLATION;
+--------------------------+----------+-----+---------+----------+---------+
| Collation                | Charset  | Id  | Default | Compiled | Sortlen |
+--------------------------+----------+-----+---------+----------+---------+
| big5_chinese_ci          | big5     |   1 | Yes     | Yes      |       1 |
| big5_bin                 | big5     |  84 |         | Yes      |       1 |
 ......
197 rows in set (0.01 sec)
67, e. g. ,
mysql> SHOW CHARACTER SET;
+----------+-----------------------------+---------------------+--------+
| Charset  | Description                 | Default collation   | Maxlen |
+----------+-----------------------------+---------------------+--------+
| latin1   | cp1252 West European        | latin1_swedish_ci   |      1 |
| utf8     | UTF-8 Unicode               | utf8_general_ci     |      3 |
| ucs2     | UCS-2 Unicode               | ucs2_general_ci     |      2 |
| ascii    | US ASCII                    | ascii_general_ci    |      1 |
  ......
39 rows in set (0.06 sec)
 
mysql> SHOW COLLATION;
+--------------------------+----------+-----+---------+----------+---------+
| Collation                | Charset  | Id  | Default | Compiled | Sortlen |
+--------------------------+----------+-----+---------+----------+---------+
| big5_chinese_ci          | big5     |   1 | Yes     | Yes      |       1 |
| big5_bin                 | big5     |  84 |         | Yes      |       1 |
 ......
197 rows in set (0.01 sec)
68

Người dùng mới được tạo không có đặc quyền. Bạn cần cấp đặc quyền phù hợp cho người dùng bằng lệnh

mysql> SHOW CHARACTER SET;
+----------+-----------------------------+---------------------+--------+
| Charset  | Description                 | Default collation   | Maxlen |
+----------+-----------------------------+---------------------+--------+
| latin1   | cp1252 West European        | latin1_swedish_ci   |      1 |
| utf8     | UTF-8 Unicode               | utf8_general_ci     |      3 |
| ucs2     | UCS-2 Unicode               | ucs2_general_ci     |      2 |
| ascii    | US ASCII                    | ascii_general_ci    |      1 |
  ......
39 rows in set (0.06 sec)
 
mysql> SHOW COLLATION;
+--------------------------+----------+-----+---------+----------+---------+
| Collation                | Charset  | Id  | Default | Compiled | Sortlen |
+--------------------------+----------+-----+---------+----------+---------+
| big5_chinese_ci          | big5     |   1 | Yes     | Yes      |       1 |
| big5_bin                 | big5     |  84 |         | Yes      |       1 |
 ......
197 rows in set (0.01 sec)
69. Đặc quyền có thể được cấp trên toàn cầu (cho tất cả các bảng của tất cả các cơ sở dữ liệu) hoặc ở cấp cơ sở dữ liệu, cấp bảng, cấp cột. Ví dụ,

Các đặc quyền có sẵn là

  • Quyền đối tượng.
    > mysql -u myuser -p < d:\myproject\sqlscripts\testscript.sql > output.txt
    19,
    > mysql -u myuser -p -t < d:\myproject\sqlscripts\testscript.sql
    Enter password: ********
    +--------------------+
    | Database           |
    +--------------------+
    | information_schema |
    | eastwind           |
    | mysql              |
    | test               |
    +--------------------+
    +--------+-----------+
    | user   | host      |
    +--------+-----------+
    | root   | 127.0.0.1 |
    | myuser | localhost |
    | root   | localhost |
    +--------+-----------+
    92,
    > mysql -u myuser -p -vvv -e "SELECT user, host FROM user; SHOW databases" mysql
    Enter password: ********
    --------------
    SELECT user, host FROM user
    --------------
       
    +-----------+-----------+
    | user      | host      |
    +-----------+-----------+
    | root      | 127.0.0.1 |
      ...... 
    +-----------+-----------+
       
    --------------
    SHOW databases
    --------------
    
    +--------------------+
    | Database           |
    +--------------------+
    | information_schema |
    | mysql              |
    | test               |
      ......
    +--------------------+
       
    Bye
    26,
    mysql> SHOW CHARACTER SET;
    +----------+-----------------------------+---------------------+--------+
    | Charset  | Description                 | Default collation   | Maxlen |
    +----------+-----------------------------+---------------------+--------+
    | latin1   | cp1252 West European        | latin1_swedish_ci   |      1 |
    | utf8     | UTF-8 Unicode               | utf8_general_ci     |      3 |
    | ucs2     | UCS-2 Unicode               | ucs2_general_ci     |      2 |
    | ascii    | US ASCII                    | ascii_general_ci    |      1 |
      ......
    39 rows in set (0.06 sec)
     
    mysql> SHOW COLLATION;
    +--------------------------+----------+-----+---------+----------+---------+
    | Collation                | Charset  | Id  | Default | Compiled | Sortlen |
    +--------------------------+----------+-----+---------+----------+---------+
    | big5_chinese_ci          | big5     |   1 | Yes     | Yes      |       1 |
    | big5_bin                 | big5     |  84 |         | Yes      |       1 |
     ......
    197 rows in set (0.01 sec)
    73,
    mysql> SHOW CHARACTER SET;
    +----------+-----------------------------+---------------------+--------+
    | Charset  | Description                 | Default collation   | Maxlen |
    +----------+-----------------------------+---------------------+--------+
    | latin1   | cp1252 West European        | latin1_swedish_ci   |      1 |
    | utf8     | UTF-8 Unicode               | utf8_general_ci     |      3 |
    | ucs2     | UCS-2 Unicode               | ucs2_general_ci     |      2 |
    | ascii    | US ASCII                    | ascii_general_ci    |      1 |
      ......
    39 rows in set (0.06 sec)
     
    mysql> SHOW COLLATION;
    +--------------------------+----------+-----+---------+----------+---------+
    | Collation                | Charset  | Id  | Default | Compiled | Sortlen |
    +--------------------------+----------+-----+---------+----------+---------+
    | big5_chinese_ci          | big5     |   1 | Yes     | Yes      |       1 |
    | big5_bin                 | big5     |  84 |         | Yes      |       1 |
     ......
    197 rows in set (0.01 sec)
    74,
    mysql> SHOW CHARACTER SET;
    +----------+-----------------------------+---------------------+--------+
    | Charset  | Description                 | Default collation   | Maxlen |
    +----------+-----------------------------+---------------------+--------+
    | latin1   | cp1252 West European        | latin1_swedish_ci   |      1 |
    | utf8     | UTF-8 Unicode               | utf8_general_ci     |      3 |
    | ucs2     | UCS-2 Unicode               | ucs2_general_ci     |      2 |
    | ascii    | US ASCII                    | ascii_general_ci    |      1 |
      ......
    39 rows in set (0.06 sec)
     
    mysql> SHOW COLLATION;
    +--------------------------+----------+-----+---------+----------+---------+
    | Collation                | Charset  | Id  | Default | Compiled | Sortlen |
    +--------------------------+----------+-----+---------+----------+---------+
    | big5_chinese_ci          | big5     |   1 | Yes     | Yes      |       1 |
    | big5_bin                 | big5     |  84 |         | Yes      |       1 |
     ......
    197 rows in set (0.01 sec)
    75
  • Quyền DDL.
    mysql> SHOW CHARACTER SET;
    +----------+-----------------------------+---------------------+--------+
    | Charset  | Description                 | Default collation   | Maxlen |
    +----------+-----------------------------+---------------------+--------+
    | latin1   | cp1252 West European        | latin1_swedish_ci   |      1 |
    | utf8     | UTF-8 Unicode               | utf8_general_ci     |      3 |
    | ucs2     | UCS-2 Unicode               | ucs2_general_ci     |      2 |
    | ascii    | US ASCII                    | ascii_general_ci    |      1 |
      ......
    39 rows in set (0.06 sec)
     
    mysql> SHOW COLLATION;
    +--------------------------+----------+-----+---------+----------+---------+
    | Collation                | Charset  | Id  | Default | Compiled | Sortlen |
    +--------------------------+----------+-----+---------+----------+---------+
    | big5_chinese_ci          | big5     |   1 | Yes     | Yes      |       1 |
    | big5_bin                 | big5     |  84 |         | Yes      |       1 |
     ......
    197 rows in set (0.01 sec)
    76,
    mysql> SHOW CHARACTER SET;
    +----------+-----------------------------+---------------------+--------+
    | Charset  | Description                 | Default collation   | Maxlen |
    +----------+-----------------------------+---------------------+--------+
    | latin1   | cp1252 West European        | latin1_swedish_ci   |      1 |
    | utf8     | UTF-8 Unicode               | utf8_general_ci     |      3 |
    | ucs2     | UCS-2 Unicode               | ucs2_general_ci     |      2 |
    | ascii    | US ASCII                    | ascii_general_ci    |      1 |
      ......
    39 rows in set (0.06 sec)
     
    mysql> SHOW COLLATION;
    +--------------------------+----------+-----+---------+----------+---------+
    | Collation                | Charset  | Id  | Default | Compiled | Sortlen |
    +--------------------------+----------+-----+---------+----------+---------+
    | big5_chinese_ci          | big5     |   1 | Yes     | Yes      |       1 |
    | big5_bin                 | big5     |  84 |         | Yes      |       1 |
     ......
    197 rows in set (0.01 sec)
    77,
    mysql> SHOW CHARACTER SET;
    +----------+-----------------------------+---------------------+--------+
    | Charset  | Description                 | Default collation   | Maxlen |
    +----------+-----------------------------+---------------------+--------+
    | latin1   | cp1252 West European        | latin1_swedish_ci   |      1 |
    | utf8     | UTF-8 Unicode               | utf8_general_ci     |      3 |
    | ucs2     | UCS-2 Unicode               | ucs2_general_ci     |      2 |
    | ascii    | US ASCII                    | ascii_general_ci    |      1 |
      ......
    39 rows in set (0.06 sec)
     
    mysql> SHOW COLLATION;
    +--------------------------+----------+-----+---------+----------+---------+
    | Collation                | Charset  | Id  | Default | Compiled | Sortlen |
    +--------------------------+----------+-----+---------+----------+---------+
    | big5_chinese_ci          | big5     |   1 | Yes     | Yes      |       1 |
    | big5_bin                 | big5     |  84 |         | Yes      |       1 |
     ......
    197 rows in set (0.01 sec)
    78,
    mysql> SHOW CHARACTER SET;
    +----------+-----------------------------+---------------------+--------+
    | Charset  | Description                 | Default collation   | Maxlen |
    +----------+-----------------------------+---------------------+--------+
    | latin1   | cp1252 West European        | latin1_swedish_ci   |      1 |
    | utf8     | UTF-8 Unicode               | utf8_general_ci     |      3 |
    | ucs2     | UCS-2 Unicode               | ucs2_general_ci     |      2 |
    | ascii    | US ASCII                    | ascii_general_ci    |      1 |
      ......
    39 rows in set (0.06 sec)
     
    mysql> SHOW COLLATION;
    +--------------------------+----------+-----+---------+----------+---------+
    | Collation                | Charset  | Id  | Default | Compiled | Sortlen |
    +--------------------------+----------+-----+---------+----------+---------+
    | big5_chinese_ci          | big5     |   1 | Yes     | Yes      |       1 |
    | big5_bin                 | big5     |  84 |         | Yes      |       1 |
     ......
    197 rows in set (0.01 sec)
    79,
    mysql> SHOW CHARACTER SET;
    +----------+-----------------------------+---------------------+--------+
    | Charset  | Description                 | Default collation   | Maxlen |
    +----------+-----------------------------+---------------------+--------+
    | latin1   | cp1252 West European        | latin1_swedish_ci   |      1 |
    | utf8     | UTF-8 Unicode               | utf8_general_ci     |      3 |
    | ucs2     | UCS-2 Unicode               | ucs2_general_ci     |      2 |
    | ascii    | US ASCII                    | ascii_general_ci    |      1 |
      ......
    39 rows in set (0.06 sec)
     
    mysql> SHOW COLLATION;
    +--------------------------+----------+-----+---------+----------+---------+
    | Collation                | Charset  | Id  | Default | Compiled | Sortlen |
    +--------------------------+----------+-----+---------+----------+---------+
    | big5_chinese_ci          | big5     |   1 | Yes     | Yes      |       1 |
    | big5_bin                 | big5     |  84 |         | Yes      |       1 |
     ......
    197 rows in set (0.01 sec)
    80,
    mysql> SHOW CHARACTER SET;
    +----------+-----------------------------+---------------------+--------+
    | Charset  | Description                 | Default collation   | Maxlen |
    +----------+-----------------------------+---------------------+--------+
    | latin1   | cp1252 West European        | latin1_swedish_ci   |      1 |
    | utf8     | UTF-8 Unicode               | utf8_general_ci     |      3 |
    | ucs2     | UCS-2 Unicode               | ucs2_general_ci     |      2 |
    | ascii    | US ASCII                    | ascii_general_ci    |      1 |
      ......
    39 rows in set (0.06 sec)
     
    mysql> SHOW COLLATION;
    +--------------------------+----------+-----+---------+----------+---------+
    | Collation                | Charset  | Id  | Default | Compiled | Sortlen |
    +--------------------------+----------+-----+---------+----------+---------+
    | big5_chinese_ci          | big5     |   1 | Yes     | Yes      |       1 |
    | big5_bin                 | big5     |  84 |         | Yes      |       1 |
     ......
    197 rows in set (0.01 sec)
    81,
    mysql> SHOW CHARACTER SET;
    +----------+-----------------------------+---------------------+--------+
    | Charset  | Description                 | Default collation   | Maxlen |
    +----------+-----------------------------+---------------------+--------+
    | latin1   | cp1252 West European        | latin1_swedish_ci   |      1 |
    | utf8     | UTF-8 Unicode               | utf8_general_ci     |      3 |
    | ucs2     | UCS-2 Unicode               | ucs2_general_ci     |      2 |
    | ascii    | US ASCII                    | ascii_general_ci    |      1 |
      ......
    39 rows in set (0.06 sec)
     
    mysql> SHOW COLLATION;
    +--------------------------+----------+-----+---------+----------+---------+
    | Collation                | Charset  | Id  | Default | Compiled | Sortlen |
    +--------------------------+----------+-----+---------+----------+---------+
    | big5_chinese_ci          | big5     |   1 | Yes     | Yes      |       1 |
    | big5_bin                 | big5     |  84 |         | Yes      |       1 |
     ......
    197 rows in set (0.01 sec)
    82,
    mysql> SHOW CHARACTER SET;
    +----------+-----------------------------+---------------------+--------+
    | Charset  | Description                 | Default collation   | Maxlen |
    +----------+-----------------------------+---------------------+--------+
    | latin1   | cp1252 West European        | latin1_swedish_ci   |      1 |
    | utf8     | UTF-8 Unicode               | utf8_general_ci     |      3 |
    | ucs2     | UCS-2 Unicode               | ucs2_general_ci     |      2 |
    | ascii    | US ASCII                    | ascii_general_ci    |      1 |
      ......
    39 rows in set (0.06 sec)
     
    mysql> SHOW COLLATION;
    +--------------------------+----------+-----+---------+----------+---------+
    | Collation                | Charset  | Id  | Default | Compiled | Sortlen |
    +--------------------------+----------+-----+---------+----------+---------+
    | big5_chinese_ci          | big5     |   1 | Yes     | Yes      |       1 |
    | big5_bin                 | big5     |  84 |         | Yes      |       1 |
     ......
    197 rows in set (0.01 sec)
    83,
    mysql> SHOW CHARACTER SET;
    +----------+-----------------------------+---------------------+--------+
    | Charset  | Description                 | Default collation   | Maxlen |
    +----------+-----------------------------+---------------------+--------+
    | latin1   | cp1252 West European        | latin1_swedish_ci   |      1 |
    | utf8     | UTF-8 Unicode               | utf8_general_ci     |      3 |
    | ucs2     | UCS-2 Unicode               | ucs2_general_ci     |      2 |
    | ascii    | US ASCII                    | ascii_general_ci    |      1 |
      ......
    39 rows in set (0.06 sec)
     
    mysql> SHOW COLLATION;
    +--------------------------+----------+-----+---------+----------+---------+
    | Collation                | Charset  | Id  | Default | Compiled | Sortlen |
    +--------------------------+----------+-----+---------+----------+---------+
    | big5_chinese_ci          | big5     |   1 | Yes     | Yes      |       1 |
    | big5_bin                 | big5     |  84 |         | Yes      |       1 |
     ......
    197 rows in set (0.01 sec)
    84
  • Người khác.
    mysql> SHOW CHARACTER SET;
    +----------+-----------------------------+---------------------+--------+
    | Charset  | Description                 | Default collation   | Maxlen |
    +----------+-----------------------------+---------------------+--------+
    | latin1   | cp1252 West European        | latin1_swedish_ci   |      1 |
    | utf8     | UTF-8 Unicode               | utf8_general_ci     |      3 |
    | ucs2     | UCS-2 Unicode               | ucs2_general_ci     |      2 |
    | ascii    | US ASCII                    | ascii_general_ci    |      1 |
      ......
    39 rows in set (0.06 sec)
     
    mysql> SHOW COLLATION;
    +--------------------------+----------+-----+---------+----------+---------+
    | Collation                | Charset  | Id  | Default | Compiled | Sortlen |
    +--------------------------+----------+-----+---------+----------+---------+
    | big5_chinese_ci          | big5     |   1 | Yes     | Yes      |       1 |
    | big5_bin                 | big5     |  84 |         | Yes      |       1 |
     ......
    197 rows in set (0.01 sec)
    85,
    mysql> SHOW CHARACTER SET;
    +----------+-----------------------------+---------------------+--------+
    | Charset  | Description                 | Default collation   | Maxlen |
    +----------+-----------------------------+---------------------+--------+
    | latin1   | cp1252 West European        | latin1_swedish_ci   |      1 |
    | utf8     | UTF-8 Unicode               | utf8_general_ci     |      3 |
    | ucs2     | UCS-2 Unicode               | ucs2_general_ci     |      2 |
    | ascii    | US ASCII                    | ascii_general_ci    |      1 |
      ......
    39 rows in set (0.06 sec)
     
    mysql> SHOW COLLATION;
    +--------------------------+----------+-----+---------+----------+---------+
    | Collation                | Charset  | Id  | Default | Compiled | Sortlen |
    +--------------------------+----------+-----+---------+----------+---------+
    | big5_chinese_ci          | big5     |   1 | Yes     | Yes      |       1 |
    | big5_bin                 | big5     |  84 |         | Yes      |       1 |
     ......
    197 rows in set (0.01 sec)
    86,
    mysql> SHOW CHARACTER SET;
    +----------+-----------------------------+---------------------+--------+
    | Charset  | Description                 | Default collation   | Maxlen |
    +----------+-----------------------------+---------------------+--------+
    | latin1   | cp1252 West European        | latin1_swedish_ci   |      1 |
    | utf8     | UTF-8 Unicode               | utf8_general_ci     |      3 |
    | ucs2     | UCS-2 Unicode               | ucs2_general_ci     |      2 |
    | ascii    | US ASCII                    | ascii_general_ci    |      1 |
      ......
    39 rows in set (0.06 sec)
     
    mysql> SHOW COLLATION;
    +--------------------------+----------+-----+---------+----------+---------+
    | Collation                | Charset  | Id  | Default | Compiled | Sortlen |
    +--------------------------+----------+-----+---------+----------+---------+
    | big5_chinese_ci          | big5     |   1 | Yes     | Yes      |       1 |
    | big5_bin                 | big5     |  84 |         | Yes      |       1 |
     ......
    197 rows in set (0.01 sec)
    69,
    mysql> SHOW CHARACTER SET;
    +----------+-----------------------------+---------------------+--------+
    | Charset  | Description                 | Default collation   | Maxlen |
    +----------+-----------------------------+---------------------+--------+
    | latin1   | cp1252 West European        | latin1_swedish_ci   |      1 |
    | utf8     | UTF-8 Unicode               | utf8_general_ci     |      3 |
    | ucs2     | UCS-2 Unicode               | ucs2_general_ci     |      2 |
    | ascii    | US ASCII                    | ascii_general_ci    |      1 |
      ......
    39 rows in set (0.06 sec)
     
    mysql> SHOW COLLATION;
    +--------------------------+----------+-----+---------+----------+---------+
    | Collation                | Charset  | Id  | Default | Compiled | Sortlen |
    +--------------------------+----------+-----+---------+----------+---------+
    | big5_chinese_ci          | big5     |   1 | Yes     | Yes      |       1 |
    | big5_bin                 | big5     |  84 |         | Yes      |       1 |
     ......
    197 rows in set (0.01 sec)
    58,
    mysql> SHOW CHARACTER SET;
    +----------+-----------------------------+---------------------+--------+
    | Charset  | Description                 | Default collation   | Maxlen |
    +----------+-----------------------------+---------------------+--------+
    | latin1   | cp1252 West European        | latin1_swedish_ci   |      1 |
    | utf8     | UTF-8 Unicode               | utf8_general_ci     |      3 |
    | ucs2     | UCS-2 Unicode               | ucs2_general_ci     |      2 |
    | ascii    | US ASCII                    | ascii_general_ci    |      1 |
      ......
    39 rows in set (0.06 sec)
     
    mysql> SHOW COLLATION;
    +--------------------------+----------+-----+---------+----------+---------+
    | Collation                | Charset  | Id  | Default | Compiled | Sortlen |
    +--------------------------+----------+-----+---------+----------+---------+
    | big5_chinese_ci          | big5     |   1 | Yes     | Yes      |       1 |
    | big5_bin                 | big5     |  84 |         | Yes      |       1 |
     ......
    197 rows in set (0.01 sec)
    89,
    mysql> SHOW CHARACTER SET;
    +----------+-----------------------------+---------------------+--------+
    | Charset  | Description                 | Default collation   | Maxlen |
    +----------+-----------------------------+---------------------+--------+
    | latin1   | cp1252 West European        | latin1_swedish_ci   |      1 |
    | utf8     | UTF-8 Unicode               | utf8_general_ci     |      3 |
    | ucs2     | UCS-2 Unicode               | ucs2_general_ci     |      2 |
    | ascii    | US ASCII                    | ascii_general_ci    |      1 |
      ......
    39 rows in set (0.06 sec)
     
    mysql> SHOW COLLATION;
    +--------------------------+----------+-----+---------+----------+---------+
    | Collation                | Charset  | Id  | Default | Compiled | Sortlen |
    +--------------------------+----------+-----+---------+----------+---------+
    | big5_chinese_ci          | big5     |   1 | Yes     | Yes      |       1 |
    | big5_bin                 | big5     |  84 |         | Yes      |       1 |
     ......
    197 rows in set (0.01 sec)
    90

Để xóa đặc quyền, hãy sử dụng lệnh

mysql> SHOW CHARACTER SET;
+----------+-----------------------------+---------------------+--------+
| Charset  | Description                 | Default collation   | Maxlen |
+----------+-----------------------------+---------------------+--------+
| latin1   | cp1252 West European        | latin1_swedish_ci   |      1 |
| utf8     | UTF-8 Unicode               | utf8_general_ci     |      3 |
| ucs2     | UCS-2 Unicode               | ucs2_general_ci     |      2 |
| ascii    | US ASCII                    | ascii_general_ci    |      1 |
  ......
39 rows in set (0.06 sec)
 
mysql> SHOW COLLATION;
+--------------------------+----------+-----+---------+----------+---------+
| Collation                | Charset  | Id  | Default | Compiled | Sortlen |
+--------------------------+----------+-----+---------+----------+---------+
| big5_chinese_ci          | big5     |   1 | Yes     | Yes      |       1 |
| big5_bin                 | big5     |  84 |         | Yes      |       1 |
 ......
197 rows in set (0.01 sec)
91, e. g. ,

Bạn có thể cần đưa ra lệnh "

mysql> SHOW CHARACTER SET;
+----------+-----------------------------+---------------------+--------+
| Charset  | Description                 | Default collation   | Maxlen |
+----------+-----------------------------+---------------------+--------+
| latin1   | cp1252 West European        | latin1_swedish_ci   |      1 |
| utf8     | UTF-8 Unicode               | utf8_general_ci     |      3 |
| ucs2     | UCS-2 Unicode               | ucs2_general_ci     |      2 |
| ascii    | US ASCII                    | ascii_general_ci    |      1 |
  ......
39 rows in set (0.06 sec)
 
mysql> SHOW COLLATION;
+--------------------------+----------+-----+---------+----------+---------+
| Collation                | Charset  | Id  | Default | Compiled | Sortlen |
+--------------------------+----------+-----+---------+----------+---------+
| big5_chinese_ci          | big5     |   1 | Yes     | Yes      |       1 |
| big5_bin                 | big5     |  84 |         | Yes      |       1 |
 ......
197 rows in set (0.01 sec)
92" để xóa và tải lại bộ đệm tạm thời trong MySQL, để các đặc quyền mới có hiệu lực ngay lập tức

Để xóa người dùng, hãy sử dụng lệnh

mysql> SHOW CHARACTER SET;
+----------+-----------------------------+---------------------+--------+
| Charset  | Description                 | Default collation   | Maxlen |
+----------+-----------------------------+---------------------+--------+
| latin1   | cp1252 West European        | latin1_swedish_ci   |      1 |
| utf8     | UTF-8 Unicode               | utf8_general_ci     |      3 |
| ucs2     | UCS-2 Unicode               | ucs2_general_ci     |      2 |
| ascii    | US ASCII                    | ascii_general_ci    |      1 |
  ......
39 rows in set (0.06 sec)
 
mysql> SHOW COLLATION;
+--------------------------+----------+-----+---------+----------+---------+
| Collation                | Charset  | Id  | Default | Compiled | Sortlen |
+--------------------------+----------+-----+---------+----------+---------+
| big5_chinese_ci          | big5     |   1 | Yes     | Yes      |       1 |
| big5_bin                 | big5     |  84 |         | Yes      |       1 |
 ......
197 rows in set (0.01 sec)
93 như sau

/*!40101 SET NAMES utf8 */;
/*!40101 SET SQL_MODE=''*/;
/*!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */;
/*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO' */;
CREATE DATABASE /*!32312 IF NOT EXISTS*/ `eastwind` /*!40100 DEFAULT CHARACTER SET latin1 */;
......
5

Để thay đổi mật khẩu của người dùng, hãy sử dụng lệnh

mysql> SHOW CHARACTER SET;
+----------+-----------------------------+---------------------+--------+
| Charset  | Description                 | Default collation   | Maxlen |
+----------+-----------------------------+---------------------+--------+
| latin1   | cp1252 West European        | latin1_swedish_ci   |      1 |
| utf8     | UTF-8 Unicode               | utf8_general_ci     |      3 |
| ucs2     | UCS-2 Unicode               | ucs2_general_ci     |      2 |
| ascii    | US ASCII                    | ascii_general_ci    |      1 |
  ......
39 rows in set (0.06 sec)
 
mysql> SHOW COLLATION;
+--------------------------+----------+-----+---------+----------+---------+
| Collation                | Charset  | Id  | Default | Compiled | Sortlen |
+--------------------------+----------+-----+---------+----------+---------+
| big5_chinese_ci          | big5     |   1 | Yes     | Yes      |       1 |
| big5_bin                 | big5     |  84 |         | Yes      |       1 |
 ......
197 rows in set (0.01 sec)
94, e. g. ,

Để đổi tên người dùng, hãy sử dụng lệnh

mysql> SHOW CHARACTER SET;
+----------+-----------------------------+---------------------+--------+
| Charset  | Description                 | Default collation   | Maxlen |
+----------+-----------------------------+---------------------+--------+
| latin1   | cp1252 West European        | latin1_swedish_ci   |      1 |
| utf8     | UTF-8 Unicode               | utf8_general_ci     |      3 |
| ucs2     | UCS-2 Unicode               | ucs2_general_ci     |      2 |
| ascii    | US ASCII                    | ascii_general_ci    |      1 |
  ......
39 rows in set (0.06 sec)
 
mysql> SHOW COLLATION;
+--------------------------+----------+-----+---------+----------+---------+
| Collation                | Charset  | Id  | Default | Compiled | Sortlen |
+--------------------------+----------+-----+---------+----------+---------+
| big5_chinese_ci          | big5     |   1 | Yes     | Yes      |       1 |
| big5_bin                 | big5     |  84 |         | Yes      |       1 |
 ......
197 rows in set (0.01 sec)
95, e. g. ,

/*!40101 SET NAMES utf8 */;
/*!40101 SET SQL_MODE=''*/;
/*!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */;
/*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO' */;
CREATE DATABASE /*!32312 IF NOT EXISTS*/ `eastwind` /*!40100 DEFAULT CHARACTER SET latin1 */;
......
6
Cân nhắc bảo mật về quản lý người dùng
  • Siêu người dùng
    mysql> SHOW CHARACTER SET;
    +----------+-----------------------------+---------------------+--------+
    | Charset  | Description                 | Default collation   | Maxlen |
    +----------+-----------------------------+---------------------+--------+
    | latin1   | cp1252 West European        | latin1_swedish_ci   |      1 |
    | utf8     | UTF-8 Unicode               | utf8_general_ci     |      3 |
    | ucs2     | UCS-2 Unicode               | ucs2_general_ci     |      2 |
    | ascii    | US ASCII                    | ascii_general_ci    |      1 |
      ......
    39 rows in set (0.06 sec)
     
    mysql> SHOW COLLATION;
    +--------------------------+----------+-----+---------+----------+---------+
    | Collation                | Charset  | Id  | Default | Compiled | Sortlen |
    +--------------------------+----------+-----+---------+----------+---------+
    | big5_chinese_ci          | big5     |   1 | Yes     | Yes      |       1 |
    | big5_bin                 | big5     |  84 |         | Yes      |       1 |
     ......
    197 rows in set (0.01 sec)
    96 không có mật khẩu ban đầu. Điều quan trọng là phải bảo vệ siêu người dùng
    mysql> SHOW CHARACTER SET;
    +----------+-----------------------------+---------------------+--------+
    | Charset  | Description                 | Default collation   | Maxlen |
    +----------+-----------------------------+---------------------+--------+
    | latin1   | cp1252 West European        | latin1_swedish_ci   |      1 |
    | utf8     | UTF-8 Unicode               | utf8_general_ci     |      3 |
    | ucs2     | UCS-2 Unicode               | ucs2_general_ci     |      2 |
    | ascii    | US ASCII                    | ascii_general_ci    |      1 |
      ......
    39 rows in set (0.06 sec)
     
    mysql> SHOW COLLATION;
    +--------------------------+----------+-----+---------+----------+---------+
    | Collation                | Charset  | Id  | Default | Compiled | Sortlen |
    +--------------------------+----------+-----+---------+----------+---------+
    | big5_chinese_ci          | big5     |   1 | Yes     | Yes      |       1 |
    | big5_bin                 | big5     |  84 |         | Yes      |       1 |
     ......
    197 rows in set (0.01 sec)
    96 bằng một mật khẩu mạnh
  • Xóa người dùng ẩn danh (được xác định bằng một chuỗi trống)
    mysql> SHOW CHARACTER SET;
    +----------+-----------------------------+---------------------+--------+
    | Charset  | Description                 | Default collation   | Maxlen |
    +----------+-----------------------------+---------------------+--------+
    | latin1   | cp1252 West European        | latin1_swedish_ci   |      1 |
    | utf8     | UTF-8 Unicode               | utf8_general_ci     |      3 |
    | ucs2     | UCS-2 Unicode               | ucs2_general_ci     |      2 |
    | ascii    | US ASCII                    | ascii_general_ci    |      1 |
      ......
    39 rows in set (0.06 sec)
     
    mysql> SHOW COLLATION;
    +--------------------------+----------+-----+---------+----------+---------+
    | Collation                | Charset  | Id  | Default | Compiled | Sortlen |
    +--------------------------+----------+-----+---------+----------+---------+
    | big5_chinese_ci          | big5     |   1 | Yes     | Yes      |       1 |
    | big5_bin                 | big5     |  84 |         | Yes      |       1 |
     ......
    197 rows in set (0.01 sec)
    98 hoặc
    mysql> SHOW CHARACTER SET;
    +----------+-----------------------------+---------------------+--------+
    | Charset  | Description                 | Default collation   | Maxlen |
    +----------+-----------------------------+---------------------+--------+
    | latin1   | cp1252 West European        | latin1_swedish_ci   |      1 |
    | utf8     | UTF-8 Unicode               | utf8_general_ci     |      3 |
    | ucs2     | UCS-2 Unicode               | ucs2_general_ci     |      2 |
    | ascii    | US ASCII                    | ascii_general_ci    |      1 |
      ......
    39 rows in set (0.06 sec)
     
    mysql> SHOW COLLATION;
    +--------------------------+----------+-----+---------+----------+---------+
    | Collation                | Charset  | Id  | Default | Compiled | Sortlen |
    +--------------------------+----------+-----+---------+----------+---------+
    | big5_chinese_ci          | big5     |   1 | Yes     | Yes      |       1 |
    | big5_bin                 | big5     |  84 |         | Yes      |       1 |
     ......
    197 rows in set (0.01 sec)
    99, được tạo trong quá trình cài đặt theo mặc định
  • Tất cả người dùng mới phải được bảo vệ bằng mật khẩu
  • Không bao giờ chọn mật khẩu từ từ điển. Sử dụng kết hợp các chữ cái và số
  • Không cấp cho bất kỳ người dùng nào (ngoại trừ
    mysql> SHOW CHARACTER SET;
    +----------+-----------------------------+---------------------+--------+
    | Charset  | Description                 | Default collation   | Maxlen |
    +----------+-----------------------------+---------------------+--------+
    | latin1   | cp1252 West European        | latin1_swedish_ci   |      1 |
    | utf8     | UTF-8 Unicode               | utf8_general_ci     |      3 |
    | ucs2     | UCS-2 Unicode               | ucs2_general_ci     |      2 |
    | ascii    | US ASCII                    | ascii_general_ci    |      1 |
      ......
    39 rows in set (0.06 sec)
     
    mysql> SHOW COLLATION;
    +--------------------------+----------+-----+---------+----------+---------+
    | Collation                | Charset  | Id  | Default | Compiled | Sortlen |
    +--------------------------+----------+-----+---------+----------+---------+
    | big5_chinese_ci          | big5     |   1 | Yes     | Yes      |       1 |
    | big5_bin                 | big5     |  84 |         | Yes      |       1 |
     ......
    197 rows in set (0.01 sec)
    96) quyền truy cập vào bảng
    mysql> SHOW COLLATION LIKE 'latin1%';
    +-------------------+---------+----+---------+----------+---------+
    | Collation         | Charset | Id | Default | Compiled | Sortlen |
    +-------------------+---------+----+---------+----------+---------+
    | latin1_german1_ci | latin1  |  5 |         | Yes      |       1 |
    | latin1_swedish_ci | latin1  |  8 | Yes     | Yes      |       1 |
    | latin1_danish_ci  | latin1  | 15 |         | Yes      |       1 |
    | latin1_german2_ci | latin1  | 31 |         | Yes      |       2 |
    | latin1_bin        | latin1  | 47 |         | Yes      |       1 |
    | latin1_general_ci | latin1  | 48 |         | Yes      |       1 |
    | latin1_general_cs | latin1  | 49 |         | Yes      |       1 |
    | latin1_spanish_ci | latin1  | 94 |         | Yes      |       1 |
    +-------------------+---------+----+---------+----------+---------+
    01 (vì mật khẩu được lưu trữ trong bảng này)
  • Không cấp nhiều đặc quyền hơn mức cần thiết. Cấp đặc quyền tối thiểu cần thiết để thực hiện các nhiệm vụ
  • Không bao giờ cấp đặc quyền cho tất cả các máy chủ
  • Chạy câu lệnh "
    mysql> SHOW COLLATION LIKE 'latin1%';
    +-------------------+---------+----+---------+----------+---------+
    | Collation         | Charset | Id | Default | Compiled | Sortlen |
    +-------------------+---------+----+---------+----------+---------+
    | latin1_german1_ci | latin1  |  5 |         | Yes      |       1 |
    | latin1_swedish_ci | latin1  |  8 | Yes     | Yes      |       1 |
    | latin1_danish_ci  | latin1  | 15 |         | Yes      |       1 |
    | latin1_german2_ci | latin1  | 31 |         | Yes      |       2 |
    | latin1_bin        | latin1  | 47 |         | Yes      |       1 |
    | latin1_general_ci | latin1  | 48 |         | Yes      |       1 |
    | latin1_general_cs | latin1  | 49 |         | Yes      |       1 |
    | latin1_spanish_ci | latin1  | 94 |         | Yes      |       1 |
    +-------------------+---------+----+---------+----------+---------+
    02" để liệt kê các đặc quyền được cấp cho người dùng (mặc định cho người dùng hiện tại). Ví dụ: Bạn cũng có thể chạy câu lệnh ở chế độ hàng loạt với tùy chọn thực thi (
    CREATE DATABASE databaseName
    DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci;
    8).
    /*!40101 SET NAMES utf8 */;
    /*!40101 SET SQL_MODE=''*/;
    /*!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */;
    /*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO' */;
    CREATE DATABASE /*!32312 IF NOT EXISTS*/ `eastwind` /*!40100 DEFAULT CHARACTER SET latin1 */;
    ......
    7

    Ngoài ra, bạn có thể liệt kê các đặc quyền (theo chiều dọc) bằng cách truy vấn bảng

    mysql> SHOW COLLATION LIKE 'latin1%';
    +-------------------+---------+----+---------+----------+---------+
    | Collation         | Charset | Id | Default | Compiled | Sortlen |
    +-------------------+---------+----+---------+----------+---------+
    | latin1_german1_ci | latin1  |  5 |         | Yes      |       1 |
    | latin1_swedish_ci | latin1  |  8 | Yes     | Yes      |       1 |
    | latin1_danish_ci  | latin1  | 15 |         | Yes      |       1 |
    | latin1_german2_ci | latin1  | 31 |         | Yes      |       2 |
    | latin1_bin        | latin1  | 47 |         | Yes      |       1 |
    | latin1_general_ci | latin1  | 48 |         | Yes      |       1 |
    | latin1_general_cs | latin1  | 49 |         | Yes      |       1 |
    | latin1_spanish_ci | latin1  | 94 |         | Yes      |       1 |
    +-------------------+---------+----+---------+----------+---------+
    01

    /*!40101 SET NAMES utf8 */;
    /*!40101 SET SQL_MODE=''*/;
    /*!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */;
    /*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO' */;
    CREATE DATABASE /*!32312 IF NOT EXISTS*/ `eastwind` /*!40100 DEFAULT CHARACTER SET latin1 */;
    ......
    8
  • Chạy máy chủ cơ sở dữ liệu của bạn phía sau tường lửa (hoặc trong DMZ) và chặn số cổng máy chủ cơ sở dữ liệu (mặc định 3306) khỏi các máy chủ không đáng tin cậy. Hãy thử "
    mysql> SHOW COLLATION LIKE 'latin1%';
    +-------------------+---------+----+---------+----------+---------+
    | Collation         | Charset | Id | Default | Compiled | Sortlen |
    +-------------------+---------+----+---------+----------+---------+
    | latin1_german1_ci | latin1  |  5 |         | Yes      |       1 |
    | latin1_swedish_ci | latin1  |  8 | Yes     | Yes      |       1 |
    | latin1_danish_ci  | latin1  | 15 |         | Yes      |       1 |
    | latin1_german2_ci | latin1  | 31 |         | Yes      |       2 |
    | latin1_bin        | latin1  | 47 |         | Yes      |       1 |
    | latin1_general_ci | latin1  | 48 |         | Yes      |       1 |
    | latin1_general_cs | latin1  | 49 |         | Yes      |       1 |
    | latin1_spanish_ci | latin1  | 94 |         | Yes      |       1 |
    +-------------------+---------+----+---------+----------+---------+
    05" từ một máy từ xa để xác nhận rằng nó không được mở cho các máy chủ không đáng tin cậy
  • Không chạy
    shell> mysql -u myuser -p -t -vvv < d:\myproject\sqlscripts\testscript.sql
    Enter password: ********
    --------------
    SHOW DATABASES
    --------------
       
    +--------------------+
    | Database           |
    +--------------------+
    | information_schema |
    | eastwind           |
    | mysql              |
    | test               |
    +--------------------+
    4 rows in set (0.00 sec)
       
    --------------
    SELECT user, host FROM user
    --------------
       
    +--------+-----------+
    | user   | host      |
    +--------+-----------+
    | root   | 127.0.0.1 |
    | myuser | localhost |
    | root   | localhost |
    +--------+-----------+
    4 rows in set (0.00 sec)
       
    Bye
    71 hoặc
    mysql> SHOW COLLATION LIKE 'utf8%';
    +--------------------+---------+-----+---------+----------+---------+
    | Collation          | Charset | Id  | Default | Compiled | Sortlen |
    +--------------------+---------+-----+---------+----------+---------+
    | utf8_general_ci    | utf8    |  33 | Yes     | Yes      |       1 |
    | utf8_bin           | utf8    |  83 |         | Yes      |       1 |
    | utf8_unicode_ci    | utf8    | 192 |         | Yes      |       8 |
    | utf8_icelandic_ci  | utf8    | 193 |         | Yes      |       8 |
    | utf8_latvian_ci    | utf8    | 194 |         | Yes      |       8 |
    | utf8_romanian_ci   | utf8    | 195 |         | Yes      |       8 |
      ......
    1 daemon/dịch vụ/chương trình với người dùng đặc quyền của hệ thống (e. g. , gốc của Unix, quản trị viên của Windows). Tạo một người dùng bình thường (chẳng hạn như
    mysql> SHOW COLLATION LIKE 'utf8%';
    +--------------------+---------+-----+---------+----------+---------+
    | Collation          | Charset | Id  | Default | Compiled | Sortlen |
    +--------------------+---------+-----+---------+----------+---------+
    | utf8_general_ci    | utf8    |  33 | Yes     | Yes      |       1 |
    | utf8_bin           | utf8    |  83 |         | Yes      |       1 |
    | utf8_unicode_ci    | utf8    | 192 |         | Yes      |       8 |
    | utf8_icelandic_ci  | utf8    | 193 |         | Yes      |       8 |
    | utf8_latvian_ci    | utf8    | 194 |         | Yes      |       8 |
    | utf8_romanian_ci   | utf8    | 195 |         | Yes      |       8 |
      ......
    1) để chạy máy chủ cơ sở dữ liệu
    shell> mysql -u myuser -p -t -vvv < d:\myproject\sqlscripts\testscript.sql
    Enter password: ********
    --------------
    SHOW DATABASES
    --------------
       
    +--------------------+
    | Database           |
    +--------------------+
    | information_schema |
    | eastwind           |
    | mysql              |
    | test               |
    +--------------------+
    4 rows in set (0.00 sec)
       
    --------------
    SELECT user, host FROM user
    --------------
       
    +--------+-----------+
    | user   | host      |
    +--------+-----------+
    | root   | 127.0.0.1 |
    | myuser | localhost |
    | root   | localhost |
    +--------+-----------+
    4 rows in set (0.00 sec)
       
    Bye
    71. Người dùng này yêu cầu đặc quyền đọc và ghi vào thư mục MySQL và thư mục dữ liệu
  • MySQL hỗ trợ SSL nội bộ. Sử dụng SSL để mã hóa tin nhắn (đang chuyển tiếp) nếu cần

Nhật ký

MySQL duy trì một số nhật ký để giúp bạn duy trì máy chủ cơ sở dữ liệu của mình. Nhật ký lỗi, Nhật ký nhị phân, Nhật ký truy vấn chung, Nhật ký truy vấn chậm. Theo mặc định, tất cả nhật ký được lưu trong thư mục dữ liệu

Nhật ký lỗi

Nhật ký lỗi duy trì tất cả các thông báo lỗi khởi động, tắt máy và vận hành quan trọng. Lỗi đăng nhập được bật theo mặc định. Tệp nhật ký lỗi có tên là "

mysql> SHOW COLLATION LIKE 'latin1%';
+-------------------+---------+----+---------+----------+---------+
| Collation         | Charset | Id | Default | Compiled | Sortlen |
+-------------------+---------+----+---------+----------+---------+
| latin1_german1_ci | latin1  |  5 |         | Yes      |       1 |
| latin1_swedish_ci | latin1  |  8 | Yes     | Yes      |       1 |
| latin1_danish_ci  | latin1  | 15 |         | Yes      |       1 |
| latin1_german2_ci | latin1  | 31 |         | Yes      |       2 |
| latin1_bin        | latin1  | 47 |         | Yes      |       1 |
| latin1_general_ci | latin1  | 48 |         | Yes      |       1 |
| latin1_general_cs | latin1  | 49 |         | Yes      |       1 |
| latin1_spanish_ci | latin1  | 94 |         | Yes      |       1 |
+-------------------+---------+----+---------+----------+---------+
10
mysql> SHOW COLLATION LIKE 'latin1%';
+-------------------+---------+----+---------+----------+---------+
| Collation         | Charset | Id | Default | Compiled | Sortlen |
+-------------------+---------+----+---------+----------+---------+
| latin1_german1_ci | latin1  |  5 |         | Yes      |       1 |
| latin1_swedish_ci | latin1  |  8 | Yes     | Yes      |       1 |
| latin1_danish_ci  | latin1  | 15 |         | Yes      |       1 |
| latin1_german2_ci | latin1  | 31 |         | Yes      |       2 |
| latin1_bin        | latin1  | 47 |         | Yes      |       1 |
| latin1_general_ci | latin1  | 48 |         | Yes      |       1 |
| latin1_general_cs | latin1  | 49 |         | Yes      |       1 |
| latin1_spanish_ci | latin1  | 94 |         | Yes      |       1 |
+-------------------+---------+----+---------+----------+---------+
11" trong thư mục dữ liệu. Bạn có thể thay đổi tệp nhật ký lỗi thông qua tùy chọn khởi động
mysql> SHOW COLLATION LIKE 'latin1%';
+-------------------+---------+----+---------+----------+---------+
| Collation         | Charset | Id | Default | Compiled | Sortlen |
+-------------------+---------+----+---------+----------+---------+
| latin1_german1_ci | latin1  |  5 |         | Yes      |       1 |
| latin1_swedish_ci | latin1  |  8 | Yes     | Yes      |       1 |
| latin1_danish_ci  | latin1  | 15 |         | Yes      |       1 |
| latin1_german2_ci | latin1  | 31 |         | Yes      |       2 |
| latin1_bin        | latin1  | 47 |         | Yes      |       1 |
| latin1_general_ci | latin1  | 48 |         | Yes      |       1 |
| latin1_general_cs | latin1  | 49 |         | Yes      |       1 |
| latin1_spanish_ci | latin1  | 94 |         | Yes      |       1 |
+-------------------+---------+----+---------+----------+---------+
12
shell> mysql -u myuser -p -t -vvv < d:\myproject\sqlscripts\testscript.sql
Enter password: ********
--------------
SHOW DATABASES
--------------
   
+--------------------+
| Database           |
+--------------------+
| information_schema |
| eastwind           |
| mysql              |
| test               |
+--------------------+
4 rows in set (0.00 sec)
   
--------------
SELECT user, host FROM user
--------------
   
+--------+-----------+
| user   | host      |
+--------+-----------+
| root   | 127.0.0.1 |
| myuser | localhost |
| root   | localhost |
+--------+-----------+
4 rows in set (0.00 sec)
   
Bye
71

Trên Windows, nếu bạn sử dụng tùy chọn

mysql> SHOW COLLATION LIKE 'latin1%';
+-------------------+---------+----+---------+----------+---------+
| Collation         | Charset | Id | Default | Compiled | Sortlen |
+-------------------+---------+----+---------+----------+---------+
| latin1_german1_ci | latin1  |  5 |         | Yes      |       1 |
| latin1_swedish_ci | latin1  |  8 | Yes     | Yes      |       1 |
| latin1_danish_ci  | latin1  | 15 |         | Yes      |       1 |
| latin1_german2_ci | latin1  | 31 |         | Yes      |       2 |
| latin1_bin        | latin1  | 47 |         | Yes      |       1 |
| latin1_general_ci | latin1  | 48 |         | Yes      |       1 |
| latin1_general_cs | latin1  | 49 |         | Yes      |       1 |
| latin1_spanish_ci | latin1  | 94 |         | Yes      |       1 |
+-------------------+---------+----+---------+----------+---------+
14, lỗi sẽ được ghi vào
mysql> SHOW COLLATION LIKE 'latin1%';
+-------------------+---------+----+---------+----------+---------+
| Collation         | Charset | Id | Default | Compiled | Sortlen |
+-------------------+---------+----+---------+----------+---------+
| latin1_german1_ci | latin1  |  5 |         | Yes      |       1 |
| latin1_swedish_ci | latin1  |  8 | Yes     | Yes      |       1 |
| latin1_danish_ci  | latin1  | 15 |         | Yes      |       1 |
| latin1_german2_ci | latin1  | 31 |         | Yes      |       2 |
| latin1_bin        | latin1  | 47 |         | Yes      |       1 |
| latin1_general_ci | latin1  | 48 |         | Yes      |       1 |
| latin1_general_cs | latin1  | 49 |         | Yes      |       1 |
| latin1_spanish_ci | latin1  | 94 |         | Yes      |       1 |
+-------------------+---------+----+---------+----------+---------+
15 (mặc định là bảng điều khiển) thay vì tệp nhật ký lỗi

Nhật ký nhị phân

Nhật ký nhị phân giữ tất cả các câu lệnh thay đổi cơ sở dữ liệu, e. g. ,

> mysql -u myuser -p < d:\myproject\sqlscripts\testscript.sql > output.txt
18,
> mysql -u myuser -p -t < d:\myproject\sqlscripts\testscript.sql
Enter password: ********
+--------------------+
| Database           |
+--------------------+
| information_schema |
| eastwind           |
| mysql              |
| test               |
+--------------------+
+--------+-----------+
| user   | host      |
+--------+-----------+
| root   | 127.0.0.1 |
| myuser | localhost |
| root   | localhost |
+--------+-----------+
92,
> mysql -u myuser -p -vvv -e "SELECT user, host FROM user; SHOW databases" mysql
Enter password: ********
--------------
SELECT user, host FROM user
--------------
   
+-----------+-----------+
| user      | host      |
+-----------+-----------+
| root      | 127.0.0.1 |
  ...... 
+-----------+-----------+
   
--------------
SHOW databases
--------------

+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
| test               |
  ......
+--------------------+
   
Bye
26,
/*!40101 SET NAMES utf8 */;
/*!40101 SET SQL_MODE=''*/;
/*!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */;
/*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO' */;
CREATE DATABASE /*!32312 IF NOT EXISTS*/ `eastwind` /*!40100 DEFAULT CHARACTER SET latin1 */;
......
51. Nó không giữ các câu lệnh truy vấn (chẳng hạn như
> mysql -u myuser -p < d:\myproject\sqlscripts\testscript.sql > output.txt
19,
mysql> SHOW COLLATION LIKE 'latin1%';
+-------------------+---------+----+---------+----------+---------+
| Collation         | Charset | Id | Default | Compiled | Sortlen |
+-------------------+---------+----+---------+----------+---------+
| latin1_german1_ci | latin1  |  5 |         | Yes      |       1 |
| latin1_swedish_ci | latin1  |  8 | Yes     | Yes      |       1 |
| latin1_danish_ci  | latin1  | 15 |         | Yes      |       1 |
| latin1_german2_ci | latin1  | 31 |         | Yes      |       2 |
| latin1_bin        | latin1  | 47 |         | Yes      |       1 |
| latin1_general_ci | latin1  | 48 |         | Yes      |       1 |
| latin1_general_cs | latin1  | 49 |         | Yes      |       1 |
| latin1_spanish_ci | latin1  | 94 |         | Yes      |       1 |
+-------------------+---------+----+---------+----------+---------+
21,
mysql> SHOW COLLATION LIKE 'latin1%';
+-------------------+---------+----+---------+----------+---------+
| Collation         | Charset | Id | Default | Compiled | Sortlen |
+-------------------+---------+----+---------+----------+---------+
| latin1_german1_ci | latin1  |  5 |         | Yes      |       1 |
| latin1_swedish_ci | latin1  |  8 | Yes     | Yes      |       1 |
| latin1_danish_ci  | latin1  | 15 |         | Yes      |       1 |
| latin1_german2_ci | latin1  | 31 |         | Yes      |       2 |
| latin1_bin        | latin1  | 47 |         | Yes      |       1 |
| latin1_general_ci | latin1  | 48 |         | Yes      |       1 |
| latin1_general_cs | latin1  | 49 |         | Yes      |       1 |
| latin1_spanish_ci | latin1  | 94 |         | Yes      |       1 |
+-------------------+---------+----+---------+----------+---------+
22) mà không thay đổi cơ sở dữ liệu. Nhật ký nhị phân có thể được sử dụng để sao chép máy chủ sao lưu nô lệ hoặc để cập nhật cơ sở dữ liệu sao lưu bằng cách thực hiện tất cả các thay đổi được ghi lại. Để bật nhật ký nhị phân, hãy khởi động máy chủ MySQL
shell> mysql -u myuser -p -t -vvv < d:\myproject\sqlscripts\testscript.sql
Enter password: ********
--------------
SHOW DATABASES
--------------
   
+--------------------+
| Database           |
+--------------------+
| information_schema |
| eastwind           |
| mysql              |
| test               |
+--------------------+
4 rows in set (0.00 sec)
   
--------------
SELECT user, host FROM user
--------------
   
+--------+-----------+
| user   | host      |
+--------+-----------+
| root   | 127.0.0.1 |
| myuser | localhost |
| root   | localhost |
+--------+-----------+
4 rows in set (0.00 sec)
   
Bye
71 với tùy chọn
mysql> SHOW COLLATION LIKE 'latin1%';
+-------------------+---------+----+---------+----------+---------+
| Collation         | Charset | Id | Default | Compiled | Sortlen |
+-------------------+---------+----+---------+----------+---------+
| latin1_german1_ci | latin1  |  5 |         | Yes      |       1 |
| latin1_swedish_ci | latin1  |  8 | Yes     | Yes      |       1 |
| latin1_danish_ci  | latin1  | 15 |         | Yes      |       1 |
| latin1_german2_ci | latin1  | 31 |         | Yes      |       2 |
| latin1_bin        | latin1  | 47 |         | Yes      |       1 |
| latin1_general_ci | latin1  | 48 |         | Yes      |       1 |
| latin1_general_cs | latin1  | 49 |         | Yes      |       1 |
| latin1_spanish_ci | latin1  | 94 |         | Yes      |       1 |
+-------------------+---------+----+---------+----------+---------+
24. Một số được thêm vào phía sau
mysql> SHOW COLLATION LIKE 'latin1%';
+-------------------+---------+----+---------+----------+---------+
| Collation         | Charset | Id | Default | Compiled | Sortlen |
+-------------------+---------+----+---------+----------+---------+
| latin1_german1_ci | latin1  |  5 |         | Yes      |       1 |
| latin1_swedish_ci | latin1  |  8 | Yes     | Yes      |       1 |
| latin1_danish_ci  | latin1  | 15 |         | Yes      |       1 |
| latin1_german2_ci | latin1  | 31 |         | Yes      |       2 |
| latin1_bin        | latin1  | 47 |         | Yes      |       1 |
| latin1_general_ci | latin1  | 48 |         | Yes      |       1 |
| latin1_general_cs | latin1  | 49 |         | Yes      |       1 |
| latin1_spanish_ci | latin1  | 94 |         | Yes      |       1 |
+-------------------+---------+----+---------+----------+---------+
25. Máy chủ tạo một tệp nhật ký mới với số tiếp theo mỗi khi nó bắt đầu hoặc bất cứ khi nào nhật ký bị xóa. Một tệp chỉ mục cũng được tạo để theo dõi tất cả nhật ký nhị phân

Có ba định dạng đăng nhập

  • Ghi nhật ký dựa trên câu lệnh. chỉ định thông qua tùy chọn
    mysql> SHOW COLLATION LIKE 'latin1%';
    +-------------------+---------+----+---------+----------+---------+
    | Collation         | Charset | Id | Default | Compiled | Sortlen |
    +-------------------+---------+----+---------+----------+---------+
    | latin1_german1_ci | latin1  |  5 |         | Yes      |       1 |
    | latin1_swedish_ci | latin1  |  8 | Yes     | Yes      |       1 |
    | latin1_danish_ci  | latin1  | 15 |         | Yes      |       1 |
    | latin1_german2_ci | latin1  | 31 |         | Yes      |       2 |
    | latin1_bin        | latin1  | 47 |         | Yes      |       1 |
    | latin1_general_ci | latin1  | 48 |         | Yes      |       1 |
    | latin1_general_cs | latin1  | 49 |         | Yes      |       1 |
    | latin1_spanish_ci | latin1  | 94 |         | Yes      |       1 |
    +-------------------+---------+----+---------+----------+---------+
    26. Câu lệnh đã ghi có thể được truyền đến máy chủ phụ hoặc máy chủ dự phòng
  • Ghi nhật ký theo hàng. chỉ định thông qua tùy chọn
    mysql> SHOW COLLATION LIKE 'latin1%';
    +-------------------+---------+----+---------+----------+---------+
    | Collation         | Charset | Id | Default | Compiled | Sortlen |
    +-------------------+---------+----+---------+----------+---------+
    | latin1_german1_ci | latin1  |  5 |         | Yes      |       1 |
    | latin1_swedish_ci | latin1  |  8 | Yes     | Yes      |       1 |
    | latin1_danish_ci  | latin1  | 15 |         | Yes      |       1 |
    | latin1_german2_ci | latin1  | 31 |         | Yes      |       2 |
    | latin1_bin        | latin1  | 47 |         | Yes      |       1 |
    | latin1_general_ci | latin1  | 48 |         | Yes      |       1 |
    | latin1_general_cs | latin1  | 49 |         | Yes      |       1 |
    | latin1_spanish_ci | latin1  | 94 |         | Yes      |       1 |
    +-------------------+---------+----+---------+----------+---------+
    27. Theo dõi cách các hàng riêng lẻ đã thay đổi
  • Ghi nhật ký hỗn hợp. chỉ định thông qua tùy chọn
    mysql> SHOW COLLATION LIKE 'latin1%';
    +-------------------+---------+----+---------+----------+---------+
    | Collation         | Charset | Id | Default | Compiled | Sortlen |
    +-------------------+---------+----+---------+----------+---------+
    | latin1_german1_ci | latin1  |  5 |         | Yes      |       1 |
    | latin1_swedish_ci | latin1  |  8 | Yes     | Yes      |       1 |
    | latin1_danish_ci  | latin1  | 15 |         | Yes      |       1 |
    | latin1_german2_ci | latin1  | 31 |         | Yes      |       2 |
    | latin1_bin        | latin1  | 47 |         | Yes      |       1 |
    | latin1_general_ci | latin1  | 48 |         | Yes      |       1 |
    | latin1_general_cs | latin1  | 49 |         | Yes      |       1 |
    | latin1_spanish_ci | latin1  | 94 |         | Yes      |       1 |
    +-------------------+---------+----+---------+----------+---------+
    28. Nó sử dụng ghi nhật ký dựa trên câu lệnh theo mặc định, nhưng chuyển sang ghi nhật ký dựa trên hàng trong một số trường hợp nhất định để nâng cao hiệu quả

Bạn có thể hiển thị nhật ký nhị phân bằng tiện ích

mysql> SHOW COLLATION LIKE 'latin1%';
+-------------------+---------+----+---------+----------+---------+
| Collation         | Charset | Id | Default | Compiled | Sortlen |
+-------------------+---------+----+---------+----------+---------+
| latin1_german1_ci | latin1  |  5 |         | Yes      |       1 |
| latin1_swedish_ci | latin1  |  8 | Yes     | Yes      |       1 |
| latin1_danish_ci  | latin1  | 15 |         | Yes      |       1 |
| latin1_german2_ci | latin1  | 31 |         | Yes      |       2 |
| latin1_bin        | latin1  | 47 |         | Yes      |       1 |
| latin1_general_ci | latin1  | 48 |         | Yes      |       1 |
| latin1_general_cs | latin1  | 49 |         | Yes      |       1 |
| latin1_spanish_ci | latin1  | 94 |         | Yes      |       1 |
+-------------------+---------+----+---------+----------+---------+
29, tiện ích này chuyển đổi các mục nhật ký thành câu lệnh SQL

/*!40101 SET NAMES utf8 */;
/*!40101 SET SQL_MODE=''*/;
/*!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */;
/*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO' */;
CREATE DATABASE /*!32312 IF NOT EXISTS*/ `eastwind` /*!40100 DEFAULT CHARACTER SET latin1 */;
......
9

Để cập nhật máy chủ dự phòng, hãy chuyển đầu ra của

mysql> SHOW COLLATION LIKE 'latin1%';
+-------------------+---------+----+---------+----------+---------+
| Collation         | Charset | Id | Default | Compiled | Sortlen |
+-------------------+---------+----+---------+----------+---------+
| latin1_german1_ci | latin1  |  5 |         | Yes      |       1 |
| latin1_swedish_ci | latin1  |  8 | Yes     | Yes      |       1 |
| latin1_danish_ci  | latin1  | 15 |         | Yes      |       1 |
| latin1_german2_ci | latin1  | 31 |         | Yes      |       2 |
| latin1_bin        | latin1  | 47 |         | Yes      |       1 |
| latin1_general_ci | latin1  | 48 |         | Yes      |       1 |
| latin1_general_cs | latin1  | 49 |         | Yes      |       1 |
| latin1_spanish_ci | latin1  | 94 |         | Yes      |       1 |
+-------------------+---------+----+---------+----------+---------+
29 sang máy khách
mysql> SHOW COLLATION LIKE 'utf8%';
+--------------------+---------+-----+---------+----------+---------+
| Collation          | Charset | Id  | Default | Compiled | Sortlen |
+--------------------+---------+-----+---------+----------+---------+
| utf8_general_ci    | utf8    |  33 | Yes     | Yes      |       1 |
| utf8_bin           | utf8    |  83 |         | Yes      |       1 |
| utf8_unicode_ci    | utf8    | 192 |         | Yes      |       8 |
| utf8_icelandic_ci  | utf8    | 193 |         | Yes      |       8 |
| utf8_latvian_ci    | utf8    | 194 |         | Yes      |       8 |
| utf8_romanian_ci   | utf8    | 195 |         | Yes      |       8 |
  ......
1

mysql> SHOW CHARACTER SET;
+----------+-----------------------------+---------------------+--------+
| Charset  | Description                 | Default collation   | Maxlen |
+----------+-----------------------------+---------------------+--------+
| latin1   | cp1252 West European        | latin1_swedish_ci   |      1 |
| utf8     | UTF-8 Unicode               | utf8_general_ci     |      3 |
| ucs2     | UCS-2 Unicode               | ucs2_general_ci     |      2 |
| ascii    | US ASCII                    | ascii_general_ci    |      1 |
  ......
39 rows in set (0.06 sec)
 
mysql> SHOW COLLATION;
+--------------------------+----------+-----+---------+----------+---------+
| Collation                | Charset  | Id  | Default | Compiled | Sortlen |
+--------------------------+----------+-----+---------+----------+---------+
| big5_chinese_ci          | big5     |   1 | Yes     | Yes      |       1 |
| big5_bin                 | big5     |  84 |         | Yes      |       1 |
 ......
197 rows in set (0.01 sec)
0
Nhật ký truy vấn chung

Nhật ký truy vấn chung duy trì thông tin về các kết nối của máy khách và tất cả các câu lệnh SQL. Để bật, hãy sử dụng tùy chọn khởi động

shell> mysql -u myuser -p -t -vvv < d:\myproject\sqlscripts\testscript.sql
Enter password: ********
--------------
SHOW DATABASES
--------------
   
+--------------------+
| Database           |
+--------------------+
| information_schema |
| eastwind           |
| mysql              |
| test               |
+--------------------+
4 rows in set (0.00 sec)
   
--------------
SELECT user, host FROM user
--------------
   
+--------+-----------+
| user   | host      |
+--------+-----------+
| root   | 127.0.0.1 |
| myuser | localhost |
| root   | localhost |
+--------+-----------+
4 rows in set (0.00 sec)
   
Bye
71
mysql> SHOW COLLATION LIKE 'latin1%';
+-------------------+---------+----+---------+----------+---------+
| Collation         | Charset | Id | Default | Compiled | Sortlen |
+-------------------+---------+----+---------+----------+---------+
| latin1_german1_ci | latin1  |  5 |         | Yes      |       1 |
| latin1_swedish_ci | latin1  |  8 | Yes     | Yes      |       1 |
| latin1_danish_ci  | latin1  | 15 |         | Yes      |       1 |
| latin1_german2_ci | latin1  | 31 |         | Yes      |       2 |
| latin1_bin        | latin1  | 47 |         | Yes      |       1 |
| latin1_general_ci | latin1  | 48 |         | Yes      |       1 |
| latin1_general_cs | latin1  | 49 |         | Yes      |       1 |
| latin1_spanish_ci | latin1  | 94 |         | Yes      |       1 |
+-------------------+---------+----+---------+----------+---------+
33 (hoặc
mysql> SHOW COLLATION LIKE 'latin1%';
+-------------------+---------+----+---------+----------+---------+
| Collation         | Charset | Id | Default | Compiled | Sortlen |
+-------------------+---------+----+---------+----------+---------+
| latin1_german1_ci | latin1  |  5 |         | Yes      |       1 |
| latin1_swedish_ci | latin1  |  8 | Yes     | Yes      |       1 |
| latin1_danish_ci  | latin1  | 15 |         | Yes      |       1 |
| latin1_german2_ci | latin1  | 31 |         | Yes      |       2 |
| latin1_bin        | latin1  | 47 |         | Yes      |       1 |
| latin1_general_ci | latin1  | 48 |         | Yes      |       1 |
| latin1_general_cs | latin1  | 49 |         | Yes      |       1 |
| latin1_spanish_ci | latin1  | 94 |         | Yes      |       1 |
+-------------------+---------+----+---------+----------+---------+
34 với tên tệp mặc định là
mysql> SHOW COLLATION LIKE 'latin1%';
+-------------------+---------+----+---------+----------+---------+
| Collation         | Charset | Id | Default | Compiled | Sortlen |
+-------------------+---------+----+---------+----------+---------+
| latin1_german1_ci | latin1  |  5 |         | Yes      |       1 |
| latin1_swedish_ci | latin1  |  8 | Yes     | Yes      |       1 |
| latin1_danish_ci  | latin1  | 15 |         | Yes      |       1 |
| latin1_german2_ci | latin1  | 31 |         | Yes      |       2 |
| latin1_bin        | latin1  | 47 |         | Yes      |       1 |
| latin1_general_ci | latin1  | 48 |         | Yes      |       1 |
| latin1_general_cs | latin1  | 49 |         | Yes      |       1 |
| latin1_spanish_ci | latin1  | 94 |         | Yes      |       1 |
+-------------------+---------+----+---------+----------+---------+
10
mysql> SHOW COLLATION LIKE 'latin1%';
+-------------------+---------+----+---------+----------+---------+
| Collation         | Charset | Id | Default | Compiled | Sortlen |
+-------------------+---------+----+---------+----------+---------+
| latin1_german1_ci | latin1  |  5 |         | Yes      |       1 |
| latin1_swedish_ci | latin1  |  8 | Yes     | Yes      |       1 |
| latin1_danish_ci  | latin1  | 15 |         | Yes      |       1 |
| latin1_german2_ci | latin1  | 31 |         | Yes      |       2 |
| latin1_bin        | latin1  | 47 |         | Yes      |       1 |
| latin1_general_ci | latin1  | 48 |         | Yes      |       1 |
| latin1_general_cs | latin1  | 49 |         | Yes      |       1 |
| latin1_spanish_ci | latin1  | 94 |         | Yes      |       1 |
+-------------------+---------+----+---------+----------+---------+
36). Nhật ký có thể được chuyển hướng đến một tệp (mặc định) hoặc một bảng (
mysql> SHOW COLLATION LIKE 'latin1%';
+-------------------+---------+----+---------+----------+---------+
| Collation         | Charset | Id | Default | Compiled | Sortlen |
+-------------------+---------+----+---------+----------+---------+
| latin1_german1_ci | latin1  |  5 |         | Yes      |       1 |
| latin1_swedish_ci | latin1  |  8 | Yes     | Yes      |       1 |
| latin1_danish_ci  | latin1  | 15 |         | Yes      |       1 |
| latin1_german2_ci | latin1  | 31 |         | Yes      |       2 |
| latin1_bin        | latin1  | 47 |         | Yes      |       1 |
| latin1_general_ci | latin1  | 48 |         | Yes      |       1 |
| latin1_general_cs | latin1  | 49 |         | Yes      |       1 |
| latin1_spanish_ci | latin1  | 94 |         | Yes      |       1 |
+-------------------+---------+----+---------+----------+---------+
37) hoặc cả hai hoặc bị vô hiệu hóa thông qua một tùy chọn bổ sung
mysql> SHOW COLLATION LIKE 'latin1%';
+-------------------+---------+----+---------+----------+---------+
| Collation         | Charset | Id | Default | Compiled | Sortlen |
+-------------------+---------+----+---------+----------+---------+
| latin1_german1_ci | latin1  |  5 |         | Yes      |       1 |
| latin1_swedish_ci | latin1  |  8 | Yes     | Yes      |       1 |
| latin1_danish_ci  | latin1  | 15 |         | Yes      |       1 |
| latin1_german2_ci | latin1  | 31 |         | Yes      |       2 |
| latin1_bin        | latin1  | 47 |         | Yes      |       1 |
| latin1_general_ci | latin1  | 48 |         | Yes      |       1 |
| latin1_general_cs | latin1  | 49 |         | Yes      |       1 |
| latin1_spanish_ci | latin1  | 94 |         | Yes      |       1 |
+-------------------+---------+----+---------+----------+---------+
38

Nhật ký truy vấn chậm

Theo dõi câu lệnh SQL mất hơn

mysql> SHOW COLLATION LIKE 'latin1%';
+-------------------+---------+----+---------+----------+---------+
| Collation         | Charset | Id | Default | Compiled | Sortlen |
+-------------------+---------+----+---------+----------+---------+
| latin1_german1_ci | latin1  |  5 |         | Yes      |       1 |
| latin1_swedish_ci | latin1  |  8 | Yes     | Yes      |       1 |
| latin1_danish_ci  | latin1  | 15 |         | Yes      |       1 |
| latin1_german2_ci | latin1  | 31 |         | Yes      |       2 |
| latin1_bin        | latin1  | 47 |         | Yes      |       1 |
| latin1_general_ci | latin1  | 48 |         | Yes      |       1 |
| latin1_general_cs | latin1  | 49 |         | Yes      |       1 |
| latin1_spanish_ci | latin1  | 94 |         | Yes      |       1 |
+-------------------+---------+----+---------+----------+---------+
39 (mặc định là 10 giây). Bạn có thể kích hoạt thông qua tùy chọn khởi động
shell> mysql -u myuser -p -t -vvv < d:\myproject\sqlscripts\testscript.sql
Enter password: ********
--------------
SHOW DATABASES
--------------
   
+--------------------+
| Database           |
+--------------------+
| information_schema |
| eastwind           |
| mysql              |
| test               |
+--------------------+
4 rows in set (0.00 sec)
   
--------------
SELECT user, host FROM user
--------------
   
+--------+-----------+
| user   | host      |
+--------+-----------+
| root   | 127.0.0.1 |
| myuser | localhost |
| root   | localhost |
+--------+-----------+
4 rows in set (0.00 sec)
   
Bye
71
mysql> SHOW COLLATION LIKE 'latin1%';
+-------------------+---------+----+---------+----------+---------+
| Collation         | Charset | Id | Default | Compiled | Sortlen |
+-------------------+---------+----+---------+----------+---------+
| latin1_german1_ci | latin1  |  5 |         | Yes      |       1 |
| latin1_swedish_ci | latin1  |  8 | Yes     | Yes      |       1 |
| latin1_danish_ci  | latin1  | 15 |         | Yes      |       1 |
| latin1_german2_ci | latin1  | 31 |         | Yes      |       2 |
| latin1_bin        | latin1  | 47 |         | Yes      |       1 |
| latin1_general_ci | latin1  | 48 |         | Yes      |       1 |
| latin1_general_cs | latin1  | 49 |         | Yes      |       1 |
| latin1_spanish_ci | latin1  | 94 |         | Yes      |       1 |
+-------------------+---------+----+---------+----------+---------+
41. Tương tự như Nhật ký truy vấn chung, nó có thể được chuyển hướng đến tệp (mặc định) hoặc bảng (
mysql> SHOW COLLATION LIKE 'latin1%';
+-------------------+---------+----+---------+----------+---------+
| Collation         | Charset | Id | Default | Compiled | Sortlen |
+-------------------+---------+----+---------+----------+---------+
| latin1_german1_ci | latin1  |  5 |         | Yes      |       1 |
| latin1_swedish_ci | latin1  |  8 | Yes     | Yes      |       1 |
| latin1_danish_ci  | latin1  | 15 |         | Yes      |       1 |
| latin1_german2_ci | latin1  | 31 |         | Yes      |       2 |
| latin1_bin        | latin1  | 47 |         | Yes      |       1 |
| latin1_general_ci | latin1  | 48 |         | Yes      |       1 |
| latin1_general_cs | latin1  | 49 |         | Yes      |       1 |
| latin1_spanish_ci | latin1  | 94 |         | Yes      |       1 |
+-------------------+---------+----+---------+----------+---------+
42) hoặc cả hai hoặc bị vô hiệu hóa thông qua tùy chọn bổ sung
mysql> SHOW COLLATION LIKE 'latin1%';
+-------------------+---------+----+---------+----------+---------+
| Collation         | Charset | Id | Default | Compiled | Sortlen |
+-------------------+---------+----+---------+----------+---------+
| latin1_german1_ci | latin1  |  5 |         | Yes      |       1 |
| latin1_swedish_ci | latin1  |  8 | Yes     | Yes      |       1 |
| latin1_danish_ci  | latin1  | 15 |         | Yes      |       1 |
| latin1_german2_ci | latin1  | 31 |         | Yes      |       2 |
| latin1_bin        | latin1  | 47 |         | Yes      |       1 |
| latin1_general_ci | latin1  | 48 |         | Yes      |       1 |
| latin1_general_cs | latin1  | 49 |         | Yes      |       1 |
| latin1_spanish_ci | latin1  | 94 |         | Yes      |       1 |
+-------------------+---------+----+---------+----------+---------+
38

Duy trì tệp nhật ký

Các tệp nhật ký phát triển và cần được duy trì định kỳ. Bạn có thể xóa nhật ký lỗi và nhật ký truy vấn, nhưng không thể xóa nhật ký nhị phân vì nhật ký đó được sử dụng để sao lưu và phục hồi

Bạn có thể ra lệnh "

mysql> SHOW COLLATION LIKE 'latin1%';
+-------------------+---------+----+---------+----------+---------+
| Collation         | Charset | Id | Default | Compiled | Sortlen |
+-------------------+---------+----+---------+----------+---------+
| latin1_german1_ci | latin1  |  5 |         | Yes      |       1 |
| latin1_swedish_ci | latin1  |  8 | Yes     | Yes      |       1 |
| latin1_danish_ci  | latin1  | 15 |         | Yes      |       1 |
| latin1_german2_ci | latin1  | 31 |         | Yes      |       2 |
| latin1_bin        | latin1  | 47 |         | Yes      |       1 |
| latin1_general_ci | latin1  | 48 |         | Yes      |       1 |
| latin1_general_cs | latin1  | 49 |         | Yes      |       1 |
| latin1_spanish_ci | latin1  | 94 |         | Yes      |       1 |
+-------------------+---------+----+---------+----------+---------+
44" để đóng và mở lại tất cả các tệp nhật ký. Đối với nhật ký lỗi, tệp nhật ký cũ sẽ được đổi tên với hậu tố "
mysql> SHOW COLLATION LIKE 'latin1%';
+-------------------+---------+----+---------+----------+---------+
| Collation         | Charset | Id | Default | Compiled | Sortlen |
+-------------------+---------+----+---------+----------+---------+
| latin1_german1_ci | latin1  |  5 |         | Yes      |       1 |
| latin1_swedish_ci | latin1  |  8 | Yes     | Yes      |       1 |
| latin1_danish_ci  | latin1  | 15 |         | Yes      |       1 |
| latin1_german2_ci | latin1  | 31 |         | Yes      |       2 |
| latin1_bin        | latin1  | 47 |         | Yes      |       1 |
| latin1_general_ci | latin1  | 48 |         | Yes      |       1 |
| latin1_general_cs | latin1  | 49 |         | Yes      |       1 |
| latin1_spanish_ci | latin1  | 94 |         | Yes      |       1 |
+-------------------+---------+----+---------+----------+---------+
45" (có thể xóa) và một tệp mới được tạo

Đối với nhật ký nhị phân, một tệp mới có số tiếp theo sẽ được tạo khi nhật ký bị xóa. Đối với nhật ký nhị phân, bạn có thể đặt

mysql> SHOW COLLATION LIKE 'latin1%';
+-------------------+---------+----+---------+----------+---------+
| Collation         | Charset | Id | Default | Compiled | Sortlen |
+-------------------+---------+----+---------+----------+---------+
| latin1_german1_ci | latin1  |  5 |         | Yes      |       1 |
| latin1_swedish_ci | latin1  |  8 | Yes     | Yes      |       1 |
| latin1_danish_ci  | latin1  | 15 |         | Yes      |       1 |
| latin1_german2_ci | latin1  | 31 |         | Yes      |       2 |
| latin1_bin        | latin1  | 47 |         | Yes      |       1 |
| latin1_general_ci | latin1  | 48 |         | Yes      |       1 |
| latin1_general_cs | latin1  | 49 |         | Yes      |       1 |
| latin1_spanish_ci | latin1  | 94 |         | Yes      |       1 |
+-------------------+---------+----+---------+----------+---------+
46 tự động hết hạn các tệp nhật ký nhị phân sau một số ngày nhất định. Đảm bảo rằng bản sao hoặc bản sao lưu được cập nhật trước khi nhật ký nhị phân hết hạn

Nhật ký truy vấn chung, nhật ký truy vấn chậm và nhật ký nhị phân có thể ghi các câu lệnh chứa mật khẩu. Để xem xét bảo mật, nên có một vị trí trong thư mục chuyên dụng (e. g. , "

mysql> SHOW COLLATION LIKE 'latin1%';
+-------------------+---------+----+---------+----------+---------+
| Collation         | Charset | Id | Default | Compiled | Sortlen |
+-------------------+---------+----+---------+----------+---------+
| latin1_german1_ci | latin1  |  5 |         | Yes      |       1 |
| latin1_swedish_ci | latin1  |  8 | Yes     | Yes      |       1 |
| latin1_danish_ci  | latin1  | 15 |         | Yes      |       1 |
| latin1_german2_ci | latin1  | 31 |         | Yes      |       2 |
| latin1_bin        | latin1  | 47 |         | Yes      |       1 |
| latin1_general_ci | latin1  | 48 |         | Yes      |       1 |
| latin1_general_cs | latin1  | 49 |         | Yes      |       1 |
| latin1_spanish_ci | latin1  | 94 |         | Yes      |       1 |
+-------------------+---------+----+---------+----------+---------+
47") với quyền truy cập vào máy chủ cơ sở dữ liệu và chỉ quản trị viên

[TODO] Tập lệnh và quy trình duy trì tệp nhật ký, sao lưu và phục hồi

Ghi chú cho InnoDB

Trong thư mục dữ liệu,

mysql> SHOW COLLATION LIKE 'latin1%';
+-------------------+---------+----+---------+----------+---------+
| Collation         | Charset | Id | Default | Compiled | Sortlen |
+-------------------+---------+----+---------+----------+---------+
| latin1_german1_ci | latin1  |  5 |         | Yes      |       1 |
| latin1_swedish_ci | latin1  |  8 | Yes     | Yes      |       1 |
| latin1_danish_ci  | latin1  | 15 |         | Yes      |       1 |
| latin1_german2_ci | latin1  | 31 |         | Yes      |       2 |
| latin1_bin        | latin1  | 47 |         | Yes      |       1 |
| latin1_general_ci | latin1  | 48 |         | Yes      |       1 |
| latin1_general_cs | latin1  | 49 |         | Yes      |       1 |
| latin1_spanish_ci | latin1  | 94 |         | Yes      |       1 |
+-------------------+---------+----+---------+----------+---------+
48 chứa cơ sở dữ liệu InnoDB của bạn và
mysql> SHOW COLLATION LIKE 'latin1%';
+-------------------+---------+----+---------+----------+---------+
| Collation         | Charset | Id | Default | Compiled | Sortlen |
+-------------------+---------+----+---------+----------+---------+
| latin1_german1_ci | latin1  |  5 |         | Yes      |       1 |
| latin1_swedish_ci | latin1  |  8 | Yes     | Yes      |       1 |
| latin1_danish_ci  | latin1  | 15 |         | Yes      |       1 |
| latin1_german2_ci | latin1  | 31 |         | Yes      |       2 |
| latin1_bin        | latin1  | 47 |         | Yes      |       1 |
| latin1_general_ci | latin1  | 48 |         | Yes      |       1 |
| latin1_general_cs | latin1  | 49 |         | Yes      |       1 |
| latin1_spanish_ci | latin1  | 94 |         | Yes      |       1 |
+-------------------+---------+----+---------+----------+---------+
49 và
mysql> SHOW COLLATION LIKE 'latin1%';
+-------------------+---------+----+---------+----------+---------+
| Collation         | Charset | Id | Default | Compiled | Sortlen |
+-------------------+---------+----+---------+----------+---------+
| latin1_german1_ci | latin1  |  5 |         | Yes      |       1 |
| latin1_swedish_ci | latin1  |  8 | Yes     | Yes      |       1 |
| latin1_danish_ci  | latin1  | 15 |         | Yes      |       1 |
| latin1_german2_ci | latin1  | 31 |         | Yes      |       2 |
| latin1_bin        | latin1  | 47 |         | Yes      |       1 |
| latin1_general_ci | latin1  | 48 |         | Yes      |       1 |
| latin1_general_cs | latin1  | 49 |         | Yes      |       1 |
| latin1_spanish_ci | latin1  | 94 |         | Yes      |       1 |
+-------------------+---------+----+---------+----------+---------+
50 là các tệp nhật ký cho InnoDB. Hai tệp nhật ký 5 MB được sử dụng theo cách vòng tròn

Sao lưu và phục hồi

Có hai loại sao lưu. sao lưu logic và sao lưu vật lý (thô)

  1. Sao lưu logic. Lưu Thông tin về cấu trúc cơ sở dữ liệu logic (e. g. ,
    > mysql -u myuser -p < d:\myproject\sqlscripts\testscript.sql > output.txt
    18) và nội dung (e. g. ,
    > mysql -u myuser -p -t < d:\myproject\sqlscripts\testscript.sql
    Enter password: ********
    +--------------------+
    | Database           |
    +--------------------+
    | information_schema |
    | eastwind           |
    | mysql              |
    | test               |
    +--------------------+
    +--------+-----------+
    | user   | host      |
    +--------+-----------+
    | root   | 127.0.0.1 |
    | myuser | localhost |
    | root   | localhost |
    +--------+-----------+
    92). Đầu ra lớn hơn nhưng bản sao lưu độc lập với nền tảng và di động. Bạn có thể chạy sao lưu trực tuyến, ở cấp độ máy chủ (tất cả các cơ sở dữ liệu), cấp độ cơ sở dữ liệu (tất cả các bảng của cơ sở dữ liệu) hoặc cấp độ bảng (tất cả các hàng và cột của một bảng). Bạn có thể sử dụng tiện ích "
    > mysql -u myuser -p < d:\myproject\sqlscripts\testscript.sql > output.txt
    13" hoặc câu lệnh "
    mysql> SHOW COLLATION LIKE 'latin1%';
    +-------------------+---------+----+---------+----------+---------+
    | Collation         | Charset | Id | Default | Compiled | Sortlen |
    +-------------------+---------+----+---------+----------+---------+
    | latin1_german1_ci | latin1  |  5 |         | Yes      |       1 |
    | latin1_swedish_ci | latin1  |  8 | Yes     | Yes      |       1 |
    | latin1_danish_ci  | latin1  | 15 |         | Yes      |       1 |
    | latin1_german2_ci | latin1  | 31 |         | Yes      |       2 |
    | latin1_bin        | latin1  | 47 |         | Yes      |       1 |
    | latin1_general_ci | latin1  | 48 |         | Yes      |       1 |
    | latin1_general_cs | latin1  | 49 |         | Yes      |       1 |
    | latin1_spanish_ci | latin1  | 94 |         | Yes      |       1 |
    +-------------------+---------+----+---------+----------+---------+
    54" để dự phòng;
  2. Sao lưu vật lý (thô). Sao lưu các tệp vật lý (thư mục dữ liệu). Bạn có thể chỉ cần sao chép thư mục dữ liệu (ngoại tuyến) hoặc sử dụng các tiện ích "
    mysql> SHOW COLLATION LIKE 'latin1%';
    +-------------------+---------+----+---------+----------+---------+
    | Collation         | Charset | Id | Default | Compiled | Sortlen |
    +-------------------+---------+----+---------+----------+---------+
    | latin1_german1_ci | latin1  |  5 |         | Yes      |       1 |
    | latin1_swedish_ci | latin1  |  8 | Yes     | Yes      |       1 |
    | latin1_danish_ci  | latin1  | 15 |         | Yes      |       1 |
    | latin1_german2_ci | latin1  | 31 |         | Yes      |       2 |
    | latin1_bin        | latin1  | 47 |         | Yes      |       1 |
    | latin1_general_ci | latin1  | 48 |         | Yes      |       1 |
    | latin1_general_cs | latin1  | 49 |         | Yes      |       1 |
    | latin1_spanish_ci | latin1  | 94 |         | Yes      |       1 |
    +-------------------+---------+----+---------+----------+---------+
    57" (đối với bảng MyISAM), "
    mysql> SHOW COLLATION LIKE 'latin1%';
    +-------------------+---------+----+---------+----------+---------+
    | Collation         | Charset | Id | Default | Compiled | Sortlen |
    +-------------------+---------+----+---------+----------+---------+
    | latin1_german1_ci | latin1  |  5 |         | Yes      |       1 |
    | latin1_swedish_ci | latin1  |  8 | Yes     | Yes      |       1 |
    | latin1_danish_ci  | latin1  | 15 |         | Yes      |       1 |
    | latin1_german2_ci | latin1  | 31 |         | Yes      |       2 |
    | latin1_bin        | latin1  | 47 |         | Yes      |       1 |
    | latin1_general_ci | latin1  | 48 |         | Yes      |       1 |
    | latin1_general_cs | latin1  | 49 |         | Yes      |       1 |
    | latin1_spanish_ci | latin1  | 94 |         | Yes      |       1 |
    +-------------------+---------+----+---------+----------+---------+
    58" (đối với bảng InnoDB) (trực tuyến)
Tiện ích "mysqldump"

"

> mysql -u myuser -p < d:\myproject\sqlscripts\testscript.sql > output.txt
13" có thể được sử dụng để sao lưu toàn bộ máy chủ, cơ sở dữ liệu được chọn hoặc bảng được chọn của cơ sở dữ liệu. Nó tạo ra một tệp văn bản gồm các câu lệnh SQL mà sau này có thể được thực thi để tạo lại cơ sở dữ liệu/bảng và nội dung của nó

mysql> SHOW CHARACTER SET;
+----------+-----------------------------+---------------------+--------+
| Charset  | Description                 | Default collation   | Maxlen |
+----------+-----------------------------+---------------------+--------+
| latin1   | cp1252 West European        | latin1_swedish_ci   |      1 |
| utf8     | UTF-8 Unicode               | utf8_general_ci     |      3 |
| ucs2     | UCS-2 Unicode               | ucs2_general_ci     |      2 |
| ascii    | US ASCII                    | ascii_general_ci    |      1 |
  ......
39 rows in set (0.06 sec)
 
mysql> SHOW COLLATION;
+--------------------------+----------+-----+---------+----------+---------+
| Collation                | Charset  | Id  | Default | Compiled | Sortlen |
+--------------------------+----------+-----+---------+----------+---------+
| big5_chinese_ci          | big5     |   1 | Yes     | Yes      |       1 |
| big5_bin                 | big5     |  84 |         | Yes      |       1 |
 ......
197 rows in set (0.01 sec)
1

Bạn có thể khôi phục từ bản sao lưu bằng cách chạy ứng dụng khách "

mysql> SHOW COLLATION LIKE 'utf8%';
+--------------------+---------+-----+---------+----------+---------+
| Collation          | Charset | Id  | Default | Compiled | Sortlen |
+--------------------+---------+-----+---------+----------+---------+
| utf8_general_ci    | utf8    |  33 | Yes     | Yes      |       1 |
| utf8_bin           | utf8    |  83 |         | Yes      |       1 |
| utf8_unicode_ci    | utf8    | 192 |         | Yes      |       8 |
| utf8_icelandic_ci  | utf8    | 193 |         | Yes      |       8 |
| utf8_latvian_ci    | utf8    | 194 |         | Yes      |       8 |
| utf8_romanian_ci   | utf8    | 195 |         | Yes      |       8 |
  ......
1" ở chế độ hàng loạt để thực thi các câu lệnh SQL

mysql> SHOW CHARACTER SET;
+----------+-----------------------------+---------------------+--------+
| Charset  | Description                 | Default collation   | Maxlen |
+----------+-----------------------------+---------------------+--------+
| latin1   | cp1252 West European        | latin1_swedish_ci   |      1 |
| utf8     | UTF-8 Unicode               | utf8_general_ci     |      3 |
| ucs2     | UCS-2 Unicode               | ucs2_general_ci     |      2 |
| ascii    | US ASCII                    | ascii_general_ci    |      1 |
  ......
39 rows in set (0.06 sec)
 
mysql> SHOW COLLATION;
+--------------------------+----------+-----+---------+----------+---------+
| Collation                | Charset  | Id  | Default | Compiled | Sortlen |
+--------------------------+----------+-----+---------+----------+---------+
| big5_chinese_ci          | big5     |   1 | Yes     | Yes      |       1 |
| big5_bin                 | big5     |  84 |         | Yes      |       1 |
 ......
197 rows in set (0.01 sec)
2

hoặc sử dụng lệnh nguồn trong ứng dụng khách tương tác

mysql> SHOW CHARACTER SET;
+----------+-----------------------------+---------------------+--------+
| Charset  | Description                 | Default collation   | Maxlen |
+----------+-----------------------------+---------------------+--------+
| latin1   | cp1252 West European        | latin1_swedish_ci   |      1 |
| utf8     | UTF-8 Unicode               | utf8_general_ci     |      3 |
| ucs2     | UCS-2 Unicode               | ucs2_general_ci     |      2 |
| ascii    | US ASCII                    | ascii_general_ci    |      1 |
  ......
39 rows in set (0.06 sec)
 
mysql> SHOW COLLATION;
+--------------------------+----------+-----+---------+----------+---------+
| Collation                | Charset  | Id  | Default | Compiled | Sortlen |
+--------------------------+----------+-----+---------+----------+---------+
| big5_chinese_ci          | big5     |   1 | Yes     | Yes      |       1 |
| big5_bin                 | big5     |  84 |         | Yes      |       1 |
 ......
197 rows in set (0.01 sec)
3

Ví dụ. Lệnh sau sao lưu bảng

mysql> SHOW COLLATION LIKE 'latin1%';
+-------------------+---------+----+---------+----------+---------+
| Collation         | Charset | Id | Default | Compiled | Sortlen |
+-------------------+---------+----+---------+----------+---------+
| latin1_german1_ci | latin1  |  5 |         | Yes      |       1 |
| latin1_swedish_ci | latin1  |  8 | Yes     | Yes      |       1 |
| latin1_danish_ci  | latin1  | 15 |         | Yes      |       1 |
| latin1_german2_ci | latin1  | 31 |         | Yes      |       2 |
| latin1_bin        | latin1  | 47 |         | Yes      |       1 |
| latin1_general_ci | latin1  | 48 |         | Yes      |       1 |
| latin1_general_cs | latin1  | 49 |         | Yes      |       1 |
| latin1_spanish_ci | latin1  | 94 |         | Yes      |       1 |
+-------------------+---------+----+---------+----------+---------+
61 và
> mysql -u myuser -p -t < d:\myproject\sqlscripts\testscript.sql
Enter password: ********
+--------------------+
| Database           |
+--------------------+
| information_schema |
| eastwind           |
| mysql              |
| test               |
+--------------------+
+--------+-----------+
| user   | host      |
+--------+-----------+
| root   | 127.0.0.1 |
| myuser | localhost |
| root   | localhost |
+--------+-----------+
35 của cơ sở dữ liệu
mysql> SHOW COLLATION LIKE 'latin1%';
+-------------------+---------+----+---------+----------+---------+
| Collation         | Charset | Id | Default | Compiled | Sortlen |
+-------------------+---------+----+---------+----------+---------+
| latin1_german1_ci | latin1  |  5 |         | Yes      |       1 |
| latin1_swedish_ci | latin1  |  8 | Yes     | Yes      |       1 |
| latin1_danish_ci  | latin1  | 15 |         | Yes      |       1 |
| latin1_german2_ci | latin1  | 31 |         | Yes      |       2 |
| latin1_bin        | latin1  | 47 |         | Yes      |       1 |
| latin1_general_ci | latin1  | 48 |         | Yes      |       1 |
| latin1_general_cs | latin1  | 49 |         | Yes      |       1 |
| latin1_spanish_ci | latin1  | 94 |         | Yes      |       1 |
+-------------------+---------+----+---------+----------+---------+
63

mysql> SHOW CHARACTER SET;
+----------+-----------------------------+---------------------+--------+
| Charset  | Description                 | Default collation   | Maxlen |
+----------+-----------------------------+---------------------+--------+
| latin1   | cp1252 West European        | latin1_swedish_ci   |      1 |
| utf8     | UTF-8 Unicode               | utf8_general_ci     |      3 |
| ucs2     | UCS-2 Unicode               | ucs2_general_ci     |      2 |
| ascii    | US ASCII                    | ascii_general_ci    |      1 |
  ......
39 rows in set (0.06 sec)
 
mysql> SHOW COLLATION;
+--------------------------+----------+-----+---------+----------+---------+
| Collation                | Charset  | Id  | Default | Compiled | Sortlen |
+--------------------------+----------+-----+---------+----------+---------+
| big5_chinese_ci          | big5     |   1 | Yes     | Yes      |       1 |
| big5_bin                 | big5     |  84 |         | Yes      |       1 |
 ......
197 rows in set (0.01 sec)
4

Nghiên cứu tệp đầu ra, chứa các câu lệnh

> mysql -u myuser -p < d:\myproject\sqlscripts\testscript.sql > output.txt
18 và
> mysql -u myuser -p -t < d:\myproject\sqlscripts\testscript.sql
Enter password: ********
+--------------------+
| Database           |
+--------------------+
| information_schema |
| eastwind           |
| mysql              |
| test               |
+--------------------+
+--------+-----------+
| user   | host      |
+--------+-----------+
| root   | 127.0.0.1 |
| myuser | localhost |
| root   | localhost |
+--------+-----------+
92 để tạo lại các bảng đã kết xuất

Sao lưu gia tăng bằng Nhật ký nhị phân

Kích hoạt nhật ký nhị phân, bằng cách chạy máy chủ mysqld với tùy chọn

mysql> SHOW COLLATION LIKE 'latin1%';
+-------------------+---------+----+---------+----------+---------+
| Collation         | Charset | Id | Default | Compiled | Sortlen |
+-------------------+---------+----+---------+----------+---------+
| latin1_german1_ci | latin1  |  5 |         | Yes      |       1 |
| latin1_swedish_ci | latin1  |  8 | Yes     | Yes      |       1 |
| latin1_danish_ci  | latin1  | 15 |         | Yes      |       1 |
| latin1_german2_ci | latin1  | 31 |         | Yes      |       2 |
| latin1_bin        | latin1  | 47 |         | Yes      |       1 |
| latin1_general_ci | latin1  | 48 |         | Yes      |       1 |
| latin1_general_cs | latin1  | 49 |         | Yes      |       1 |
| latin1_spanish_ci | latin1  | 94 |         | Yes      |       1 |
+-------------------+---------+----+---------+----------+---------+
66

Để tạo một bản sao lưu gia tăng từ bản sao lưu đầy đủ hoặc bản sao lưu gia tăng cuối cùng. Đầu tiên xóa nhật ký (

mysql> SHOW COLLATION LIKE 'latin1%';
+-------------------+---------+----+---------+----------+---------+
| Collation         | Charset | Id | Default | Compiled | Sortlen |
+-------------------+---------+----+---------+----------+---------+
| latin1_german1_ci | latin1  |  5 |         | Yes      |       1 |
| latin1_swedish_ci | latin1  |  8 | Yes     | Yes      |       1 |
| latin1_danish_ci  | latin1  | 15 |         | Yes      |       1 |
| latin1_german2_ci | latin1  | 31 |         | Yes      |       2 |
| latin1_bin        | latin1  | 47 |         | Yes      |       1 |
| latin1_general_ci | latin1  | 48 |         | Yes      |       1 |
| latin1_general_cs | latin1  | 49 |         | Yes      |       1 |
| latin1_spanish_ci | latin1  | 94 |         | Yes      |       1 |
+-------------------+---------+----+---------+----------+---------+
44) để xoay nhật ký nhị phân. Then, use utility
mysql> SHOW COLLATION LIKE 'latin1%';
+-------------------+---------+----+---------+----------+---------+
| Collation         | Charset | Id | Default | Compiled | Sortlen |
+-------------------+---------+----+---------+----------+---------+
| latin1_german1_ci | latin1  |  5 |         | Yes      |       1 |
| latin1_swedish_ci | latin1  |  8 | Yes     | Yes      |       1 |
| latin1_danish_ci  | latin1  | 15 |         | Yes      |       1 |
| latin1_german2_ci | latin1  | 31 |         | Yes      |       2 |
| latin1_bin        | latin1  | 47 |         | Yes      |       1 |
| latin1_general_ci | latin1  | 48 |         | Yes      |       1 |
| latin1_general_cs | latin1  | 49 |         | Yes      |       1 |
| latin1_spanish_ci | latin1  | 94 |         | Yes      |       1 |
+-------------------+---------+----+---------+----------+---------+
29 to convert the log entries to SQL statements and pipe into a
mysql> SHOW COLLATION LIKE 'utf8%';
+--------------------+---------+-----+---------+----------+---------+
| Collation          | Charset | Id  | Default | Compiled | Sortlen |
+--------------------+---------+-----+---------+----------+---------+
| utf8_general_ci    | utf8    |  33 | Yes     | Yes      |       1 |
| utf8_bin           | utf8    |  83 |         | Yes      |       1 |
| utf8_unicode_ci    | utf8    | 192 |         | Yes      |       8 |
| utf8_icelandic_ci  | utf8    | 193 |         | Yes      |       8 |
| utf8_latvian_ci    | utf8    | 194 |         | Yes      |       8 |
| utf8_romanian_ci   | utf8    | 195 |         | Yes      |       8 |
  ......
1 client

mysql> SHOW CHARACTER SET;
+----------+-----------------------------+---------------------+--------+
| Charset  | Description                 | Default collation   | Maxlen |
+----------+-----------------------------+---------------------+--------+
| latin1   | cp1252 West European        | latin1_swedish_ci   |      1 |
| utf8     | UTF-8 Unicode               | utf8_general_ci     |      3 |
| ucs2     | UCS-2 Unicode               | ucs2_general_ci     |      2 |
| ascii    | US ASCII                    | ascii_general_ci    |      1 |
  ......
39 rows in set (0.06 sec)
 
mysql> SHOW COLLATION;
+--------------------------+----------+-----+---------+----------+---------+
| Collation                | Charset  | Id  | Default | Compiled | Sortlen |
+--------------------------+----------+-----+---------+----------+---------+
| big5_chinese_ci          | big5     |   1 | Yes     | Yes      |       1 |
| big5_bin                 | big5     |  84 |         | Yes      |       1 |
 ......
197 rows in set (0.01 sec)
5
Chiến lược sao lưu và phục hồi bằng mysqldump và Nhật ký nhị phân

InnoDB storage engine supports transaction and automatic crash recovery. Suppose that MySQL server was terminated abnormally (e. g. , mất điện, sự cố hệ thống). Khi khởi động lại, công cụ InnoDB đọc nhật ký của nó cho các giao dịch đã cam kết và chưa cam kết đang chờ xử lý. Nó xóa dữ liệu cho những giao dịch đang chờ xử lý đã cam kết và khôi phục giao dịch chưa được cam kết. Nó ghi lại tất cả các hành động của nó trong nhật ký lỗi

Tuy nhiên, nếu đĩa dữ liệu MySQL bị hỏng, chúng tôi cần khôi phục cơ sở dữ liệu từ nhật ký nhị phân và sao lưu đầy đủ mới nhất (hy vọng không bị hỏng), cần có chính sách sao lưu/phục hồi trực tiếp

Giả sử rằng chúng tôi chạy sao lưu toàn bộ vào Chủ nhật hàng tuần lúc 3. 00 giờ sáng và sao lưu gia tăng mỗi ngày lúc 3 giờ. 00pm

  1. Enable binary log by starting the server with
    mysql> SHOW COLLATION LIKE 'latin1%';
    +-------------------+---------+----+---------+----------+---------+
    | Collation         | Charset | Id | Default | Compiled | Sortlen |
    +-------------------+---------+----+---------+----------+---------+
    | latin1_german1_ci | latin1  |  5 |         | Yes      |       1 |
    | latin1_swedish_ci | latin1  |  8 | Yes     | Yes      |       1 |
    | latin1_danish_ci  | latin1  | 15 |         | Yes      |       1 |
    | latin1_german2_ci | latin1  | 31 |         | Yes      |       2 |
    | latin1_bin        | latin1  | 47 |         | Yes      |       1 |
    | latin1_general_ci | latin1  | 48 |         | Yes      |       1 |
    | latin1_general_cs | latin1  | 49 |         | Yes      |       1 |
    | latin1_spanish_ci | latin1  | 94 |         | Yes      |       1 |
    +-------------------+---------+----+---------+----------+---------+
    24 option. Place the binary log at the secure and safe media (e. g. , RAID disk) if available, so that it can be used in case of catastrophic disk failure
  2. To take a full backup, run mysqldump with these options.
    mysql> SHOW CHARACTER SET;
    +----------+-----------------------------+---------------------+--------+
    | Charset  | Description                 | Default collation   | Maxlen |
    +----------+-----------------------------+---------------------+--------+
    | latin1   | cp1252 West European        | latin1_swedish_ci   |      1 |
    | utf8     | UTF-8 Unicode               | utf8_general_ci     |      3 |
    | ucs2     | UCS-2 Unicode               | ucs2_general_ci     |      2 |
    | ascii    | US ASCII                    | ascii_general_ci    |      1 |
      ......
    39 rows in set (0.06 sec)
     
    mysql> SHOW COLLATION;
    +--------------------------+----------+-----+---------+----------+---------+
    | Collation                | Charset  | Id  | Default | Compiled | Sortlen |
    +--------------------------+----------+-----+---------+----------+---------+
    | big5_chinese_ci          | big5     |   1 | Yes     | Yes      |       1 |
    | big5_bin                 | big5     |  84 |         | Yes      |       1 |
     ......
    197 rows in set (0.01 sec)
    6
    • The
      mysql> SHOW COLLATION LIKE 'latin1%';
      +-------------------+---------+----+---------+----------+---------+
      | Collation         | Charset | Id | Default | Compiled | Sortlen |
      +-------------------+---------+----+---------+----------+---------+
      | latin1_german1_ci | latin1  |  5 |         | Yes      |       1 |
      | latin1_swedish_ci | latin1  |  8 | Yes     | Yes      |       1 |
      | latin1_danish_ci  | latin1  | 15 |         | Yes      |       1 |
      | latin1_german2_ci | latin1  | 31 |         | Yes      |       2 |
      | latin1_bin        | latin1  | 47 |         | Yes      |       1 |
      | latin1_general_ci | latin1  | 48 |         | Yes      |       1 |
      | latin1_general_cs | latin1  | 49 |         | Yes      |       1 |
      | latin1_spanish_ci | latin1  | 94 |         | Yes      |       1 |
      +-------------------+---------+----+---------+----------+---------+
      71 option closed the current binary log, and create a new binary log using the next number. The new binary log filename is recorded in the dump (which is needed for recovery). The --delete-master-logs removes the older binary logs (as they occupy a lot of spaces). The
      mysql> SHOW COLLATION LIKE 'latin1%';
      +-------------------+---------+----+---------+----------+---------+
      | Collation         | Charset | Id | Default | Compiled | Sortlen |
      +-------------------+---------+----+---------+----------+---------+
      | latin1_german1_ci | latin1  |  5 |         | Yes      |       1 |
      | latin1_swedish_ci | latin1  |  8 | Yes     | Yes      |       1 |
      | latin1_danish_ci  | latin1  | 15 |         | Yes      |       1 |
      | latin1_german2_ci | latin1  | 31 |         | Yes      |       2 |
      | latin1_bin        | latin1  | 47 |         | Yes      |       1 |
      | latin1_general_ci | latin1  | 48 |         | Yes      |       1 |
      | latin1_general_cs | latin1  | 49 |         | Yes      |       1 |
      | latin1_spanish_ci | latin1  | 94 |         | Yes      |       1 |
      +-------------------+---------+----+---------+----------+---------+
      72 write the binary log file name and position to the dump as a comment
    • The
      mysql> SHOW COLLATION LIKE 'latin1%';
      +-------------------+---------+----+---------+----------+---------+
      | Collation         | Charset | Id | Default | Compiled | Sortlen |
      +-------------------+---------+----+---------+----------+---------+
      | latin1_german1_ci | latin1  |  5 |         | Yes      |       1 |
      | latin1_swedish_ci | latin1  |  8 | Yes     | Yes      |       1 |
      | latin1_danish_ci  | latin1  | 15 |         | Yes      |       1 |
      | latin1_german2_ci | latin1  | 31 |         | Yes      |       2 |
      | latin1_bin        | latin1  | 47 |         | Yes      |       1 |
      | latin1_general_ci | latin1  | 48 |         | Yes      |       1 |
      | latin1_general_cs | latin1  | 49 |         | Yes      |       1 |
      | latin1_spanish_ci | latin1  | 94 |         | Yes      |       1 |
      +-------------------+---------+----+---------+----------+---------+
      73 option prevent updating during the dumping operation
    • The
      mysql> SHOW COLLATION LIKE 'latin1%';
      +-------------------+---------+----+---------+----------+---------+
      | Collation         | Charset | Id | Default | Compiled | Sortlen |
      +-------------------+---------+----+---------+----------+---------+
      | latin1_german1_ci | latin1  |  5 |         | Yes      |       1 |
      | latin1_swedish_ci | latin1  |  8 | Yes     | Yes      |       1 |
      | latin1_danish_ci  | latin1  | 15 |         | Yes      |       1 |
      | latin1_german2_ci | latin1  | 31 |         | Yes      |       2 |
      | latin1_bin        | latin1  | 47 |         | Yes      |       1 |
      | latin1_general_ci | latin1  | 48 |         | Yes      |       1 |
      | latin1_general_cs | latin1  | 49 |         | Yes      |       1 |
      | latin1_spanish_ci | latin1  | 94 |         | Yes      |       1 |
      +-------------------+---------+----+---------+----------+---------+
      74 options backup the entire server except
      mysql> SHOW COLLATION LIKE 'latin1%';
      +-------------------+---------+----+---------+----------+---------+
      | Collation         | Charset | Id | Default | Compiled | Sortlen |
      +-------------------+---------+----+---------+----------+---------+
      | latin1_german1_ci | latin1  |  5 |         | Yes      |       1 |
      | latin1_swedish_ci | latin1  |  8 | Yes     | Yes      |       1 |
      | latin1_danish_ci  | latin1  | 15 |         | Yes      |       1 |
      | latin1_german2_ci | latin1  | 31 |         | Yes      |       2 |
      | latin1_bin        | latin1  | 47 |         | Yes      |       1 |
      | latin1_general_ci | latin1  | 48 |         | Yes      |       1 |
      | latin1_general_cs | latin1  | 49 |         | Yes      |       1 |
      | latin1_spanish_ci | latin1  | 94 |         | Yes      |       1 |
      +-------------------+---------+----+---------+----------+---------+
      01 table for security (as it contains passwords). You may back up
      mysql> SHOW COLLATION LIKE 'latin1%';
      +-------------------+---------+----+---------+----------+---------+
      | Collation         | Charset | Id | Default | Compiled | Sortlen |
      +-------------------+---------+----+---------+----------+---------+
      | latin1_german1_ci | latin1  |  5 |         | Yes      |       1 |
      | latin1_swedish_ci | latin1  |  8 | Yes     | Yes      |       1 |
      | latin1_danish_ci  | latin1  | 15 |         | Yes      |       1 |
      | latin1_german2_ci | latin1  | 31 |         | Yes      |       2 |
      | latin1_bin        | latin1  | 47 |         | Yes      |       1 |
      | latin1_general_ci | latin1  | 48 |         | Yes      |       1 |
      | latin1_general_cs | latin1  | 49 |         | Yes      |       1 |
      | latin1_spanish_ci | latin1  | 94 |         | Yes      |       1 |
      +-------------------+---------+----+---------+----------+---------+
      01 if the backup files are secure. Take note that the binary log may also contain password information, and must be secured
  3. To take an incremental-backup, issue command "
    mysql> SHOW COLLATION LIKE 'latin1%';
    +-------------------+---------+----+---------+----------+---------+
    | Collation         | Charset | Id | Default | Compiled | Sortlen |
    +-------------------+---------+----+---------+----------+---------+
    | latin1_german1_ci | latin1  |  5 |         | Yes      |       1 |
    | latin1_swedish_ci | latin1  |  8 | Yes     | Yes      |       1 |
    | latin1_danish_ci  | latin1  | 15 |         | Yes      |       1 |
    | latin1_german2_ci | latin1  | 31 |         | Yes      |       2 |
    | latin1_bin        | latin1  | 47 |         | Yes      |       1 |
    | latin1_general_ci | latin1  | 48 |         | Yes      |       1 |
    | latin1_general_cs | latin1  | 49 |         | Yes      |       1 |
    | latin1_spanish_ci | latin1  | 94 |         | Yes      |       1 |
    +-------------------+---------+----+---------+----------+---------+
    44" which closes the current binary log, and create a new binary log using the next number. Copy the closed binary file to a safe media and location. You need it to run the recovery
  4. Suppose that there is a catastrophic crash, and the MySQL data file is not usable. You may need to reformat the hard disk, re-install the operating system, re-install MySQL, and Follow this procedure to recovery the databases
    1. Restore the full-backup.
      mysql> SHOW CHARACTER SET;
      +----------+-----------------------------+---------------------+--------+
      | Charset  | Description                 | Default collation   | Maxlen |
      +----------+-----------------------------+---------------------+--------+
      | latin1   | cp1252 West European        | latin1_swedish_ci   |      1 |
      | utf8     | UTF-8 Unicode               | utf8_general_ci     |      3 |
      | ucs2     | UCS-2 Unicode               | ucs2_general_ci     |      2 |
      | ascii    | US ASCII                    | ascii_general_ci    |      1 |
        ......
      39 rows in set (0.06 sec)
       
      mysql> SHOW COLLATION;
      +--------------------------+----------+-----+---------+----------+---------+
      | Collation                | Charset  | Id  | Default | Compiled | Sortlen |
      +--------------------------+----------+-----+---------+----------+---------+
      | big5_chinese_ci          | big5     |   1 | Yes     | Yes      |       1 |
      | big5_bin                 | big5     |  84 |         | Yes      |       1 |
       ......
      197 rows in set (0.01 sec)
      7
    2. Restore the incremental-backup from binary logs. Check for all the available binary logs. The last binary log at the time of crash may or may not be usable. Use the
      mysql> SHOW COLLATION LIKE 'latin1%';
      +-------------------+---------+----+---------+----------+---------+
      | Collation         | Charset | Id | Default | Compiled | Sortlen |
      +-------------------+---------+----+---------+----------+---------+
      | latin1_german1_ci | latin1  |  5 |         | Yes      |       1 |
      | latin1_swedish_ci | latin1  |  8 | Yes     | Yes      |       1 |
      | latin1_danish_ci  | latin1  | 15 |         | Yes      |       1 |
      | latin1_german2_ci | latin1  | 31 |         | Yes      |       2 |
      | latin1_bin        | latin1  | 47 |         | Yes      |       1 |
      | latin1_general_ci | latin1  | 48 |         | Yes      |       1 |
      | latin1_general_cs | latin1  | 49 |         | Yes      |       1 |
      | latin1_spanish_ci | latin1  | 94 |         | Yes      |       1 |
      +-------------------+---------+----+---------+----------+---------+
      29 utility to process all the binary log files at once, and pipe the output SQL statement to a
      mysql> SHOW COLLATION LIKE 'utf8%';
      +--------------------+---------+-----+---------+----------+---------+
      | Collation          | Charset | Id  | Default | Compiled | Sortlen |
      +--------------------+---------+-----+---------+----------+---------+
      | utf8_general_ci    | utf8    |  33 | Yes     | Yes      |       1 |
      | utf8_bin           | utf8    |  83 |         | Yes      |       1 |
      | utf8_unicode_ci    | utf8    | 192 |         | Yes      |       8 |
      | utf8_icelandic_ci  | utf8    | 193 |         | Yes      |       8 |
      | utf8_latvian_ci    | utf8    | 194 |         | Yes      |       8 |
      | utf8_romanian_ci   | utf8    | 195 |         | Yes      |       8 |
        ......
      1 client.
      mysql> SHOW CHARACTER SET;
      +----------+-----------------------------+---------------------+--------+
      | Charset  | Description                 | Default collation   | Maxlen |
      +----------+-----------------------------+---------------------+--------+
      | latin1   | cp1252 West European        | latin1_swedish_ci   |      1 |
      | utf8     | UTF-8 Unicode               | utf8_general_ci     |      3 |
      | ucs2     | UCS-2 Unicode               | ucs2_general_ci     |      2 |
      | ascii    | US ASCII                    | ascii_general_ci    |      1 |
        ......
      39 rows in set (0.06 sec)
       
      mysql> SHOW COLLATION;
      +--------------------------+----------+-----+---------+----------+---------+
      | Collation                | Charset  | Id  | Default | Compiled | Sortlen |
      +--------------------------+----------+-----+---------+----------+---------+
      | big5_chinese_ci          | big5     |   1 | Yes     | Yes      |       1 |
      | big5_bin                 | big5     |  84 |         | Yes      |       1 |
       ......
      197 rows in set (0.01 sec)
      8
    Practice the recovery procedures to create a "test" database or for development purpose
"mysqldump" với đầu ra bảng

You can use option

mysql> SHOW COLLATION LIKE 'latin1%';
+-------------------+---------+----+---------+----------+---------+
| Collation         | Charset | Id | Default | Compiled | Sortlen |
+-------------------+---------+----+---------+----------+---------+
| latin1_german1_ci | latin1  |  5 |         | Yes      |       1 |
| latin1_swedish_ci | latin1  |  8 | Yes     | Yes      |       1 |
| latin1_danish_ci  | latin1  | 15 |         | Yes      |       1 |
| latin1_german2_ci | latin1  | 31 |         | Yes      |       2 |
| latin1_bin        | latin1  | 47 |         | Yes      |       1 |
| latin1_general_ci | latin1  | 48 |         | Yes      |       1 |
| latin1_general_cs | latin1  | 49 |         | Yes      |       1 |
| latin1_spanish_ci | latin1  | 94 |         | Yes      |       1 |
+-------------------+---------+----+---------+----------+---------+
80 to direct
> mysql -u myuser -p < d:\myproject\sqlscripts\testscript.sql > output.txt
13 to backup the data in table format (instead of
> mysql -u myuser -p < d:\myproject\sqlscripts\testscript.sql > output.txt
18 and
> mysql -u myuser -p -t < d:\myproject\sqlscripts\testscript.sql
Enter password: ********
+--------------------+
| Database           |
+--------------------+
| information_schema |
| eastwind           |
| mysql              |
| test               |
+--------------------+
+--------+-----------+
| user   | host      |
+--------+-----------+
| root   | 127.0.0.1 |
| myuser | localhost |
| root   | localhost |
+--------+-----------+
92 statements). For example,

mysql> SHOW CHARACTER SET;
+----------+-----------------------------+---------------------+--------+
| Charset  | Description                 | Default collation   | Maxlen |
+----------+-----------------------------+---------------------+--------+
| latin1   | cp1252 West European        | latin1_swedish_ci   |      1 |
| utf8     | UTF-8 Unicode               | utf8_general_ci     |      3 |
| ucs2     | UCS-2 Unicode               | ucs2_general_ci     |      2 |
| ascii    | US ASCII                    | ascii_general_ci    |      1 |
  ......
39 rows in set (0.06 sec)
 
mysql> SHOW COLLATION;
+--------------------------+----------+-----+---------+----------+---------+
| Collation                | Charset  | Id  | Default | Compiled | Sortlen |
+--------------------------+----------+-----+---------+----------+---------+
| big5_chinese_ci          | big5     |   1 | Yes     | Yes      |       1 |
| big5_bin                 | big5     |  84 |         | Yes      |       1 |
 ......
197 rows in set (0.01 sec)
9

Two file are created in the specified directory for each table dumped. In our example, "

mysql> SHOW COLLATION LIKE 'latin1%';
+-------------------+---------+----+---------+----------+---------+
| Collation         | Charset | Id | Default | Compiled | Sortlen |
+-------------------+---------+----+---------+----------+---------+
| latin1_german1_ci | latin1  |  5 |         | Yes      |       1 |
| latin1_swedish_ci | latin1  |  8 | Yes     | Yes      |       1 |
| latin1_danish_ci  | latin1  | 15 |         | Yes      |       1 |
| latin1_german2_ci | latin1  | 31 |         | Yes      |       2 |
| latin1_bin        | latin1  | 47 |         | Yes      |       1 |
| latin1_general_ci | latin1  | 48 |         | Yes      |       1 |
| latin1_general_cs | latin1  | 49 |         | Yes      |       1 |
| latin1_spanish_ci | latin1  | 94 |         | Yes      |       1 |
+-------------------+---------+----+---------+----------+---------+
84" for the data and "
mysql> SHOW COLLATION LIKE 'latin1%';
+-------------------+---------+----+---------+----------+---------+
| Collation         | Charset | Id | Default | Compiled | Sortlen |
+-------------------+---------+----+---------+----------+---------+
| latin1_german1_ci | latin1  |  5 |         | Yes      |       1 |
| latin1_swedish_ci | latin1  |  8 | Yes     | Yes      |       1 |
| latin1_danish_ci  | latin1  | 15 |         | Yes      |       1 |
| latin1_german2_ci | latin1  | 31 |         | Yes      |       2 |
| latin1_bin        | latin1  | 47 |         | Yes      |       1 |
| latin1_general_ci | latin1  | 48 |         | Yes      |       1 |
| latin1_general_cs | latin1  | 49 |         | Yes      |       1 |
| latin1_spanish_ci | latin1  | 94 |         | Yes      |       1 |
+-------------------+---------+----+---------+----------+---------+
85" for the
> mysql -u myuser -p < d:\myproject\sqlscripts\testscript.sql > output.txt
18 statement. The text file uses 'tab' as column delimiter,
mysql> SHOW COLLATION LIKE 'latin1%';
+-------------------+---------+----+---------+----------+---------+
| Collation         | Charset | Id | Default | Compiled | Sortlen |
+-------------------+---------+----+---------+----------+---------+
| latin1_german1_ci | latin1  |  5 |         | Yes      |       1 |
| latin1_swedish_ci | latin1  |  8 | Yes     | Yes      |       1 |
| latin1_danish_ci  | latin1  | 15 |         | Yes      |       1 |
| latin1_german2_ci | latin1  | 31 |         | Yes      |       2 |
| latin1_bin        | latin1  | 47 |         | Yes      |       1 |
| latin1_general_ci | latin1  | 48 |         | Yes      |       1 |
| latin1_general_cs | latin1  | 49 |         | Yes      |       1 |
| latin1_spanish_ci | latin1  | 94 |         | Yes      |       1 |
+-------------------+---------+----+---------+----------+---------+
87 as the line delimiter, and
mysql> SHOW COLLATION LIKE 'latin1%';
+-------------------+---------+----+---------+----------+---------+
| Collation         | Charset | Id | Default | Compiled | Sortlen |
+-------------------+---------+----+---------+----------+---------+
| latin1_german1_ci | latin1  |  5 |         | Yes      |       1 |
| latin1_swedish_ci | latin1  |  8 | Yes     | Yes      |       1 |
| latin1_danish_ci  | latin1  | 15 |         | Yes      |       1 |
| latin1_german2_ci | latin1  | 31 |         | Yes      |       2 |
| latin1_bin        | latin1  | 47 |         | Yes      |       1 |
| latin1_general_ci | latin1  | 48 |         | Yes      |       1 |
| latin1_general_cs | latin1  | 49 |         | Yes      |       1 |
| latin1_spanish_ci | latin1  | 94 |         | Yes      |       1 |
+-------------------+---------+----+---------+----------+---------+
88 for
> mysql -u myuser -p < d:\myproject\sqlscripts\testscript.sql > output.txt
89

SELECT . INTO OUTFILE

Use for backing up the contents of a table or selected columns and rows of a table

mysql> SHOW COLLATION LIKE 'latin1%';
+-------------------+---------+----+---------+----------+---------+
| Collation         | Charset | Id | Default | Compiled | Sortlen |
+-------------------+---------+----+---------+----------+---------+
| latin1_german1_ci | latin1  |  5 |         | Yes      |       1 |
| latin1_swedish_ci | latin1  |  8 | Yes     | Yes      |       1 |
| latin1_danish_ci  | latin1  | 15 |         | Yes      |       1 |
| latin1_german2_ci | latin1  | 31 |         | Yes      |       2 |
| latin1_bin        | latin1  | 47 |         | Yes      |       1 |
| latin1_general_ci | latin1  | 48 |         | Yes      |       1 |
| latin1_general_cs | latin1  | 49 |         | Yes      |       1 |
| latin1_spanish_ci | latin1  | 94 |         | Yes      |       1 |
+-------------------+---------+----+---------+----------+---------+
0

Ví dụ

The output file has no column header, uses 'tab' as column delimiter,

mysql> SHOW COLLATION LIKE 'latin1%';
+-------------------+---------+----+---------+----------+---------+
| Collation         | Charset | Id | Default | Compiled | Sortlen |
+-------------------+---------+----+---------+----------+---------+
| latin1_german1_ci | latin1  |  5 |         | Yes      |       1 |
| latin1_swedish_ci | latin1  |  8 | Yes     | Yes      |       1 |
| latin1_danish_ci  | latin1  | 15 |         | Yes      |       1 |
| latin1_german2_ci | latin1  | 31 |         | Yes      |       2 |
| latin1_bin        | latin1  | 47 |         | Yes      |       1 |
| latin1_general_ci | latin1  | 48 |         | Yes      |       1 |
| latin1_general_cs | latin1  | 49 |         | Yes      |       1 |
| latin1_spanish_ci | latin1  | 94 |         | Yes      |       1 |
+-------------------+---------+----+---------+----------+---------+
87 as the line delimiter.
> mysql -u myuser -p < d:\myproject\sqlscripts\testscript.sql > output.txt
89 is represented as
mysql> SHOW COLLATION LIKE 'latin1%';
+-------------------+---------+----+---------+----------+---------+
| Collation         | Charset | Id | Default | Compiled | Sortlen |
+-------------------+---------+----+---------+----------+---------+
| latin1_german1_ci | latin1  |  5 |         | Yes      |       1 |
| latin1_swedish_ci | latin1  |  8 | Yes     | Yes      |       1 |
| latin1_danish_ci  | latin1  | 15 |         | Yes      |       1 |
| latin1_german2_ci | latin1  | 31 |         | Yes      |       2 |
| latin1_bin        | latin1  | 47 |         | Yes      |       1 |
| latin1_general_ci | latin1  | 48 |         | Yes      |       1 |
| latin1_general_cs | latin1  | 49 |         | Yes      |       1 |
| latin1_spanish_ci | latin1  | 94 |         | Yes      |       1 |
+-------------------+---------+----+---------+----------+---------+
88, as follows

mysql> SHOW COLLATION LIKE 'latin1%';
+-------------------+---------+----+---------+----------+---------+
| Collation         | Charset | Id | Default | Compiled | Sortlen |
+-------------------+---------+----+---------+----------+---------+
| latin1_german1_ci | latin1  |  5 |         | Yes      |       1 |
| latin1_swedish_ci | latin1  |  8 | Yes     | Yes      |       1 |
| latin1_danish_ci  | latin1  | 15 |         | Yes      |       1 |
| latin1_german2_ci | latin1  | 31 |         | Yes      |       2 |
| latin1_bin        | latin1  | 47 |         | Yes      |       1 |
| latin1_general_ci | latin1  | 48 |         | Yes      |       1 |
| latin1_general_cs | latin1  | 49 |         | Yes      |       1 |
| latin1_spanish_ci | latin1  | 94 |         | Yes      |       1 |
+-------------------+---------+----+---------+----------+---------+
1
LOAD DATA INFILE

We can use "

mysql> SHOW COLLATION LIKE 'latin1%';
+-------------------+---------+----+---------+----------+---------+
| Collation         | Charset | Id | Default | Compiled | Sortlen |
+-------------------+---------+----+---------+----------+---------+
| latin1_german1_ci | latin1  |  5 |         | Yes      |       1 |
| latin1_swedish_ci | latin1  |  8 | Yes     | Yes      |       1 |
| latin1_danish_ci  | latin1  | 15 |         | Yes      |       1 |
| latin1_german2_ci | latin1  | 31 |         | Yes      |       2 |
| latin1_bin        | latin1  | 47 |         | Yes      |       1 |
| latin1_general_ci | latin1  | 48 |         | Yes      |       1 |
| latin1_general_cs | latin1  | 49 |         | Yes      |       1 |
| latin1_spanish_ci | latin1  | 94 |         | Yes      |       1 |
+-------------------+---------+----+---------+----------+---------+
93" to import data from a text file into a database table. The default column delimiter is 'tab'; default line delimiter is
mysql> SHOW COLLATION LIKE 'latin1%';
+-------------------+---------+----+---------+----------+---------+
| Collation         | Charset | Id | Default | Compiled | Sortlen |
+-------------------+---------+----+---------+----------+---------+
| latin1_german1_ci | latin1  |  5 |         | Yes      |       1 |
| latin1_swedish_ci | latin1  |  8 | Yes     | Yes      |       1 |
| latin1_danish_ci  | latin1  | 15 |         | Yes      |       1 |
| latin1_german2_ci | latin1  | 31 |         | Yes      |       2 |
| latin1_bin        | latin1  | 47 |         | Yes      |       1 |
| latin1_general_ci | latin1  | 48 |         | Yes      |       1 |
| latin1_general_cs | latin1  | 49 |         | Yes      |       1 |
| latin1_spanish_ci | latin1  | 94 |         | Yes      |       1 |
+-------------------+---------+----+---------+----------+---------+
87, and
> mysql -u myuser -p < d:\myproject\sqlscripts\testscript.sql > output.txt
89 is represented as
mysql> SHOW COLLATION LIKE 'latin1%';
+-------------------+---------+----+---------+----------+---------+
| Collation         | Charset | Id | Default | Compiled | Sortlen |
+-------------------+---------+----+---------+----------+---------+
| latin1_german1_ci | latin1  |  5 |         | Yes      |       1 |
| latin1_swedish_ci | latin1  |  8 | Yes     | Yes      |       1 |
| latin1_danish_ci  | latin1  | 15 |         | Yes      |       1 |
| latin1_german2_ci | latin1  | 31 |         | Yes      |       2 |
| latin1_bin        | latin1  | 47 |         | Yes      |       1 |
| latin1_general_ci | latin1  | 48 |         | Yes      |       1 |
| latin1_general_cs | latin1  | 49 |         | Yes      |       1 |
| latin1_spanish_ci | latin1  | 94 |         | Yes      |       1 |
+-------------------+---------+----+---------+----------+---------+
88. "
mysql> SHOW COLLATION LIKE 'latin1%';
+-------------------+---------+----+---------+----------+---------+
| Collation         | Charset | Id | Default | Compiled | Sortlen |
+-------------------+---------+----+---------+----------+---------+
| latin1_german1_ci | latin1  |  5 |         | Yes      |       1 |
| latin1_swedish_ci | latin1  |  8 | Yes     | Yes      |       1 |
| latin1_danish_ci  | latin1  | 15 |         | Yes      |       1 |
| latin1_german2_ci | latin1  | 31 |         | Yes      |       2 |
| latin1_bin        | latin1  | 47 |         | Yes      |       1 |
| latin1_general_ci | latin1  | 48 |         | Yes      |       1 |
| latin1_general_cs | latin1  | 49 |         | Yes      |       1 |
| latin1_spanish_ci | latin1  | 94 |         | Yes      |       1 |
+-------------------+---------+----+---------+----------+---------+
56" can be used to restore data exported via "
mysql> SHOW COLLATION LIKE 'latin1%';
+-------------------+---------+----+---------+----------+---------+
| Collation         | Charset | Id | Default | Compiled | Sortlen |
+-------------------+---------+----+---------+----------+---------+
| latin1_german1_ci | latin1  |  5 |         | Yes      |       1 |
| latin1_swedish_ci | latin1  |  8 | Yes     | Yes      |       1 |
| latin1_danish_ci  | latin1  | 15 |         | Yes      |       1 |
| latin1_german2_ci | latin1  | 31 |         | Yes      |       2 |
| latin1_bin        | latin1  | 47 |         | Yes      |       1 |
| latin1_general_ci | latin1  | 48 |         | Yes      |       1 |
| latin1_general_cs | latin1  | 49 |         | Yes      |       1 |
| latin1_spanish_ci | latin1  | 94 |         | Yes      |       1 |
+-------------------+---------+----+---------+----------+---------+
54"

Example. Suppose that we want to load a text file which has a different format from the table

We shall use the same table

mysql> SHOW COLLATION LIKE 'latin1%';
+-------------------+---------+----+---------+----------+---------+
| Collation         | Charset | Id | Default | Compiled | Sortlen |
+-------------------+---------+----+---------+----------+---------+
| latin1_german1_ci | latin1  |  5 |         | Yes      |       1 |
| latin1_swedish_ci | latin1  |  8 | Yes     | Yes      |       1 |
| latin1_danish_ci  | latin1  | 15 |         | Yes      |       1 |
| latin1_german2_ci | latin1  | 31 |         | Yes      |       2 |
| latin1_bin        | latin1  | 47 |         | Yes      |       1 |
| latin1_general_ci | latin1  | 48 |         | Yes      |       1 |
| latin1_general_cs | latin1  | 49 |         | Yes      |       1 |
| latin1_spanish_ci | latin1  | 94 |         | Yes      |       1 |
+-------------------+---------+----+---------+----------+---------+
99 created earlier. The text file to be loaded is as follows. It contains a header row, two columns (name and price) need to be loaded, and two extra columns. The column delimiter is
> mysql -u myuser -p < d:\myproject\sqlscripts\testscript.sql > output.txt
97, line delimiter is
mysql> SHOW COLLATION LIKE 'utf8%';
+--------------------+---------+-----+---------+----------+---------+
| Collation          | Charset | Id  | Default | Compiled | Sortlen |
+--------------------+---------+-----+---------+----------+---------+
| utf8_general_ci    | utf8    |  33 | Yes     | Yes      |       1 |
| utf8_bin           | utf8    |  83 |         | Yes      |       1 |
| utf8_unicode_ci    | utf8    | 192 |         | Yes      |       8 |
| utf8_icelandic_ci  | utf8    | 193 |         | Yes      |       8 |
| utf8_latvian_ci    | utf8    | 194 |         | Yes      |       8 |
| utf8_romanian_ci   | utf8    | 195 |         | Yes      |       8 |
  ......
01 (created in Windows). We also want to raise the price by 10%

mysql> SHOW COLLATION LIKE 'latin1%';
+-------------------+---------+----+---------+----------+---------+
| Collation         | Charset | Id | Default | Compiled | Sortlen |
+-------------------+---------+----+---------+----------+---------+
| latin1_german1_ci | latin1  |  5 |         | Yes      |       1 |
| latin1_swedish_ci | latin1  |  8 | Yes     | Yes      |       1 |
| latin1_danish_ci  | latin1  | 15 |         | Yes      |       1 |
| latin1_german2_ci | latin1  | 31 |         | Yes      |       2 |
| latin1_bin        | latin1  | 47 |         | Yes      |       1 |
| latin1_general_ci | latin1  | 48 |         | Yes      |       1 |
| latin1_general_cs | latin1  | 49 |         | Yes      |       1 |
| latin1_spanish_ci | latin1  | 94 |         | Yes      |       1 |
+-------------------+---------+----+---------+----------+---------+
2

We could use the following

mysql> SHOW COLLATION LIKE 'latin1%';
+-------------------+---------+----+---------+----------+---------+
| Collation         | Charset | Id | Default | Compiled | Sortlen |
+-------------------+---------+----+---------+----------+---------+
| latin1_german1_ci | latin1  |  5 |         | Yes      |       1 |
| latin1_swedish_ci | latin1  |  8 | Yes     | Yes      |       1 |
| latin1_danish_ci  | latin1  | 15 |         | Yes      |       1 |
| latin1_german2_ci | latin1  | 31 |         | Yes      |       2 |
| latin1_bin        | latin1  | 47 |         | Yes      |       1 |
| latin1_general_ci | latin1  | 48 |         | Yes      |       1 |
| latin1_general_cs | latin1  | 49 |         | Yes      |       1 |
| latin1_spanish_ci | latin1  | 94 |         | Yes      |       1 |
+-------------------+---------+----+---------+----------+---------+
93 command

mysql> SHOW COLLATION LIKE 'latin1%';
+-------------------+---------+----+---------+----------+---------+
| Collation         | Charset | Id | Default | Compiled | Sortlen |
+-------------------+---------+----+---------+----------+---------+
| latin1_german1_ci | latin1  |  5 |         | Yes      |       1 |
| latin1_swedish_ci | latin1  |  8 | Yes     | Yes      |       1 |
| latin1_danish_ci  | latin1  | 15 |         | Yes      |       1 |
| latin1_german2_ci | latin1  | 31 |         | Yes      |       2 |
| latin1_bin        | latin1  | 47 |         | Yes      |       1 |
| latin1_general_ci | latin1  | 48 |         | Yes      |       1 |
| latin1_general_cs | latin1  | 49 |         | Yes      |       1 |
| latin1_spanish_ci | latin1  | 94 |         | Yes      |       1 |
+-------------------+---------+----+---------+----------+---------+
3

The "

mysql> SHOW COLLATION LIKE 'utf8%';
+--------------------+---------+-----+---------+----------+---------+
| Collation          | Charset | Id  | Default | Compiled | Sortlen |
+--------------------+---------+-----+---------+----------+---------+
| utf8_general_ci    | utf8    |  33 | Yes     | Yes      |       1 |
| utf8_bin           | utf8    |  83 |         | Yes      |       1 |
| utf8_unicode_ci    | utf8    | 192 |         | Yes      |       8 |
| utf8_icelandic_ci  | utf8    | 193 |         | Yes      |       8 |
| utf8_latvian_ci    | utf8    | 194 |         | Yes      |       8 |
| utf8_romanian_ci   | utf8    | 195 |         | Yes      |       8 |
  ......
03" and "
mysql> SHOW COLLATION LIKE 'utf8%';
+--------------------+---------+-----+---------+----------+---------+
| Collation          | Charset | Id  | Default | Compiled | Sortlen |
+--------------------+---------+-----+---------+----------+---------+
| utf8_general_ci    | utf8    |  33 | Yes     | Yes      |       1 |
| utf8_bin           | utf8    |  83 |         | Yes      |       1 |
| utf8_unicode_ci    | utf8    | 192 |         | Yes      |       8 |
| utf8_icelandic_ci  | utf8    | 193 |         | Yes      |       8 |
| utf8_latvian_ci    | utf8    | 194 |         | Yes      |       8 |
| utf8_romanian_ci   | utf8    | 195 |         | Yes      |       8 |
  ......
04" clauses are used to specified the column delimiter and line delimiter, respectively. "
mysql> SHOW COLLATION LIKE 'utf8%';
+--------------------+---------+-----+---------+----------+---------+
| Collation          | Charset | Id  | Default | Compiled | Sortlen |
+--------------------+---------+-----+---------+----------+---------+
| utf8_general_ci    | utf8    |  33 | Yes     | Yes      |       1 |
| utf8_bin           | utf8    |  83 |         | Yes      |       1 |
| utf8_unicode_ci    | utf8    | 192 |         | Yes      |       8 |
| utf8_icelandic_ci  | utf8    | 193 |         | Yes      |       8 |
| utf8_latvian_ci    | utf8    | 194 |         | Yes      |       8 |
| utf8_romanian_ci   | utf8    | 195 |         | Yes      |       8 |
  ......
05" ignores the header row of the file. The first column of the file are loaded into table columns "
> mysql -u myuser -p -t < d:\myproject\sqlscripts\testscript.sql
Enter password: ********
+--------------------+
| Database           |
+--------------------+
| information_schema |
| eastwind           |
| mysql              |
| test               |
+--------------------+
+--------+-----------+
| user   | host      |
+--------+-----------+
| root   | 127.0.0.1 |
| myuser | localhost |
| root   | localhost |
+--------+-----------+
45". The third column of the file is assigned to a user-defined variable
mysql> SHOW COLLATION LIKE 'utf8%';
+--------------------+---------+-----+---------+----------+---------+
| Collation          | Charset | Id  | Default | Compiled | Sortlen |
+--------------------+---------+-----+---------+----------+---------+
| utf8_general_ci    | utf8    |  33 | Yes     | Yes      |       1 |
| utf8_bin           | utf8    |  83 |         | Yes      |       1 |
| utf8_unicode_ci    | utf8    | 192 |         | Yes      |       8 |
| utf8_icelandic_ci  | utf8    | 193 |         | Yes      |       8 |
| utf8_latvian_ci    | utf8    | 194 |         | Yes      |       8 |
| utf8_romanian_ci   | utf8    | 195 |         | Yes      |       8 |
  ......
07. The
mysql> SHOW CHARACTER SET;
+----------+-----------------------------+---------------------+--------+
| Charset  | Description                 | Default collation   | Maxlen |
+----------+-----------------------------+---------------------+--------+
| latin1   | cp1252 West European        | latin1_swedish_ci   |      1 |
| utf8     | UTF-8 Unicode               | utf8_general_ci     |      3 |
| ucs2     | UCS-2 Unicode               | ucs2_general_ci     |      2 |
| ascii    | US ASCII                    | ascii_general_ci    |      1 |
  ......
39 rows in set (0.06 sec)
 
mysql> SHOW COLLATION;
+--------------------------+----------+-----+---------+----------+---------+
| Collation                | Charset  | Id  | Default | Compiled | Sortlen |
+--------------------------+----------+-----+---------+----------+---------+
| big5_chinese_ci          | big5     |   1 | Yes     | Yes      |       1 |
| big5_bin                 | big5     |  84 |         | Yes      |       1 |
 ......
197 rows in set (0.01 sec)
31 column of the table is then set to
mysql> SHOW COLLATION LIKE 'utf8%';
+--------------------+---------+-----+---------+----------+---------+
| Collation          | Charset | Id  | Default | Compiled | Sortlen |
+--------------------+---------+-----+---------+----------+---------+
| utf8_general_ci    | utf8    |  33 | Yes     | Yes      |       1 |
| utf8_bin           | utf8    |  83 |         | Yes      |       1 |
| utf8_unicode_ci    | utf8    | 192 |         | Yes      |       8 |
| utf8_icelandic_ci  | utf8    | 193 |         | Yes      |       8 |
| utf8_latvian_ci    | utf8    | 194 |         | Yes      |       8 |
| utf8_romanian_ci   | utf8    | 195 |         | Yes      |       8 |
  ......
09. The other columns of the text file is assigned to an user-defined variable
mysql> SHOW COLLATION LIKE 'utf8%';
+--------------------+---------+-----+---------+----------+---------+
| Collation          | Charset | Id  | Default | Compiled | Sortlen |
+--------------------+---------+-----+---------+----------+---------+
| utf8_general_ci    | utf8    |  33 | Yes     | Yes      |       1 |
| utf8_bin           | utf8    |  83 |         | Yes      |       1 |
| utf8_unicode_ci    | utf8    | 192 |         | Yes      |       8 |
| utf8_icelandic_ci  | utf8    | 193 |         | Yes      |       8 |
| utf8_latvian_ci    | utf8    | 194 |         | Yes      |       8 |
| utf8_romanian_ci   | utf8    | 195 |         | Yes      |       8 |
  ......
10, which is not used and discarded

The

> mysql -u myuser -p < d:\myproject\sqlscripts\testscript.sql > output.txt
19 command confirms that the table is properly loaded

mysql> SHOW COLLATION LIKE 'latin1%';
+-------------------+---------+----+---------+----------+---------+
| Collation         | Charset | Id | Default | Compiled | Sortlen |
+-------------------+---------+----+---------+----------+---------+
| latin1_german1_ci | latin1  |  5 |         | Yes      |       1 |
| latin1_swedish_ci | latin1  |  8 | Yes     | Yes      |       1 |
| latin1_danish_ci  | latin1  | 15 |         | Yes      |       1 |
| latin1_german2_ci | latin1  | 31 |         | Yes      |       2 |
| latin1_bin        | latin1  | 47 |         | Yes      |       1 |
| latin1_general_ci | latin1  | 48 |         | Yes      |       1 |
| latin1_general_cs | latin1  | 49 |         | Yes      |       1 |
| latin1_spanish_ci | latin1  | 94 |         | Yes      |       1 |
+-------------------+---------+----+---------+----------+---------+
4
"mysqlimport" Utility

mysql> SHOW COLLATION LIKE 'latin1%';
+-------------------+---------+----+---------+----------+---------+
| Collation         | Charset | Id | Default | Compiled | Sortlen |
+-------------------+---------+----+---------+----------+---------+
| latin1_german1_ci | latin1  |  5 |         | Yes      |       1 |
| latin1_swedish_ci | latin1  |  8 | Yes     | Yes      |       1 |
| latin1_danish_ci  | latin1  | 15 |         | Yes      |       1 |
| latin1_german2_ci | latin1  | 31 |         | Yes      |       2 |
| latin1_bin        | latin1  | 47 |         | Yes      |       1 |
| latin1_general_ci | latin1  | 48 |         | Yes      |       1 |
| latin1_general_cs | latin1  | 49 |         | Yes      |       1 |
| latin1_spanish_ci | latin1  | 94 |         | Yes      |       1 |
+-------------------+---------+----+---------+----------+---------+
55 performs the same function as "
mysql> SHOW COLLATION LIKE 'latin1%';
+-------------------+---------+----+---------+----------+---------+
| Collation         | Charset | Id | Default | Compiled | Sortlen |
+-------------------+---------+----+---------+----------+---------+
| latin1_german1_ci | latin1  |  5 |         | Yes      |       1 |
| latin1_swedish_ci | latin1  |  8 | Yes     | Yes      |       1 |
| latin1_danish_ci  | latin1  | 15 |         | Yes      |       1 |
| latin1_german2_ci | latin1  | 31 |         | Yes      |       2 |
| latin1_bin        | latin1  | 47 |         | Yes      |       1 |
| latin1_general_ci | latin1  | 48 |         | Yes      |       1 |
| latin1_general_cs | latin1  | 49 |         | Yes      |       1 |
| latin1_spanish_ci | latin1  | 94 |         | Yes      |       1 |
+-------------------+---------+----+---------+----------+---------+
56" to load data from a text file into a table. "
mysql> SHOW COLLATION LIKE 'latin1%';
+-------------------+---------+----+---------+----------+---------+
| Collation         | Charset | Id | Default | Compiled | Sortlen |
+-------------------+---------+----+---------+----------+---------+
| latin1_german1_ci | latin1  |  5 |         | Yes      |       1 |
| latin1_swedish_ci | latin1  |  8 | Yes     | Yes      |       1 |
| latin1_danish_ci  | latin1  | 15 |         | Yes      |       1 |
| latin1_german2_ci | latin1  | 31 |         | Yes      |       2 |
| latin1_bin        | latin1  | 47 |         | Yes      |       1 |
| latin1_general_ci | latin1  | 48 |         | Yes      |       1 |
| latin1_general_cs | latin1  | 49 |         | Yes      |       1 |
| latin1_spanish_ci | latin1  | 94 |         | Yes      |       1 |
+-------------------+---------+----+---------+----------+---------+
56" runs inside an interactive client, whereas
mysql> SHOW COLLATION LIKE 'latin1%';
+-------------------+---------+----+---------+----------+---------+
| Collation         | Charset | Id | Default | Compiled | Sortlen |
+-------------------+---------+----+---------+----------+---------+
| latin1_german1_ci | latin1  |  5 |         | Yes      |       1 |
| latin1_swedish_ci | latin1  |  8 | Yes     | Yes      |       1 |
| latin1_danish_ci  | latin1  | 15 |         | Yes      |       1 |
| latin1_german2_ci | latin1  | 31 |         | Yes      |       2 |
| latin1_bin        | latin1  | 47 |         | Yes      |       1 |
| latin1_general_ci | latin1  | 48 |         | Yes      |       1 |
| latin1_general_cs | latin1  | 49 |         | Yes      |       1 |
| latin1_spanish_ci | latin1  | 94 |         | Yes      |       1 |
+-------------------+---------+----+---------+----------+---------+
55 runs from command-line

mysql> SHOW COLLATION LIKE 'latin1%';
+-------------------+---------+----+---------+----------+---------+
| Collation         | Charset | Id | Default | Compiled | Sortlen |
+-------------------+---------+----+---------+----------+---------+
| latin1_german1_ci | latin1  |  5 |         | Yes      |       1 |
| latin1_swedish_ci | latin1  |  8 | Yes     | Yes      |       1 |
| latin1_danish_ci  | latin1  | 15 |         | Yes      |       1 |
| latin1_german2_ci | latin1  | 31 |         | Yes      |       2 |
| latin1_bin        | latin1  | 47 |         | Yes      |       1 |
| latin1_general_ci | latin1  | 48 |         | Yes      |       1 |
| latin1_general_cs | latin1  | 49 |         | Yes      |       1 |
| latin1_spanish_ci | latin1  | 94 |         | Yes      |       1 |
+-------------------+---------+----+---------+----------+---------+
5

For example,

mysql> SHOW COLLATION LIKE 'latin1%';
+-------------------+---------+----+---------+----------+---------+
| Collation         | Charset | Id | Default | Compiled | Sortlen |
+-------------------+---------+----+---------+----------+---------+
| latin1_german1_ci | latin1  |  5 |         | Yes      |       1 |
| latin1_swedish_ci | latin1  |  8 | Yes     | Yes      |       1 |
| latin1_danish_ci  | latin1  | 15 |         | Yes      |       1 |
| latin1_german2_ci | latin1  | 31 |         | Yes      |       2 |
| latin1_bin        | latin1  | 47 |         | Yes      |       1 |
| latin1_general_ci | latin1  | 48 |         | Yes      |       1 |
| latin1_general_cs | latin1  | 49 |         | Yes      |       1 |
| latin1_spanish_ci | latin1  | 94 |         | Yes      |       1 |
+-------------------+---------+----+---------+----------+---------+
6

Load the data from "

mysql> SHOW COLLATION LIKE 'utf8%';
+--------------------+---------+-----+---------+----------+---------+
| Collation          | Charset | Id  | Default | Compiled | Sortlen |
+--------------------+---------+-----+---------+----------+---------+
| utf8_general_ci    | utf8    |  33 | Yes     | Yes      |       1 |
| utf8_bin           | utf8    |  83 |         | Yes      |       1 |
| utf8_unicode_ci    | utf8    | 192 |         | Yes      |       8 |
| utf8_icelandic_ci  | utf8    | 193 |         | Yes      |       8 |
| utf8_latvian_ci    | utf8    | 194 |         | Yes      |       8 |
| utf8_romanian_ci   | utf8    | 195 |         | Yes      |       8 |
  ......
16" into table
> mysql -u myuser -p -t < d:\myproject\sqlscripts\testscript.sql
Enter password: ********
+--------------------+
| Database           |
+--------------------+
| information_schema |
| eastwind           |
| mysql              |
| test               |
+--------------------+
+--------+-----------+
| user   | host      |
+--------+-----------+
| root   | 127.0.0.1 |
| myuser | localhost |
| root   | localhost |
+--------+-----------+
35, "
mysql> SHOW COLLATION LIKE 'latin1%';
+-------------------+---------+----+---------+----------+---------+
| Collation         | Charset | Id | Default | Compiled | Sortlen |
+-------------------+---------+----+---------+----------+---------+
| latin1_german1_ci | latin1  |  5 |         | Yes      |       1 |
| latin1_swedish_ci | latin1  |  8 | Yes     | Yes      |       1 |
| latin1_danish_ci  | latin1  | 15 |         | Yes      |       1 |
| latin1_german2_ci | latin1  | 31 |         | Yes      |       2 |
| latin1_bin        | latin1  | 47 |         | Yes      |       1 |
| latin1_general_ci | latin1  | 48 |         | Yes      |       1 |
| latin1_general_cs | latin1  | 49 |         | Yes      |       1 |
| latin1_spanish_ci | latin1  | 94 |         | Yes      |       1 |
+-------------------+---------+----+---------+----------+---------+
84" into table
mysql> SHOW COLLATION LIKE 'latin1%';
+-------------------+---------+----+---------+----------+---------+
| Collation         | Charset | Id | Default | Compiled | Sortlen |
+-------------------+---------+----+---------+----------+---------+
| latin1_german1_ci | latin1  |  5 |         | Yes      |       1 |
| latin1_swedish_ci | latin1  |  8 | Yes     | Yes      |       1 |
| latin1_danish_ci  | latin1  | 15 |         | Yes      |       1 |
| latin1_german2_ci | latin1  | 31 |         | Yes      |       2 |
| latin1_bin        | latin1  | 47 |         | Yes      |       1 |
| latin1_general_ci | latin1  | 48 |         | Yes      |       1 |
| latin1_general_cs | latin1  | 49 |         | Yes      |       1 |
| latin1_spanish_ci | latin1  | 94 |         | Yes      |       1 |
+-------------------+---------+----+---------+----------+---------+
61 of the database
mysql> SHOW COLLATION LIKE 'latin1%';
+-------------------+---------+----+---------+----------+---------+
| Collation         | Charset | Id | Default | Compiled | Sortlen |
+-------------------+---------+----+---------+----------+---------+
| latin1_german1_ci | latin1  |  5 |         | Yes      |       1 |
| latin1_swedish_ci | latin1  |  8 | Yes     | Yes      |       1 |
| latin1_danish_ci  | latin1  | 15 |         | Yes      |       1 |
| latin1_german2_ci | latin1  | 31 |         | Yes      |       2 |
| latin1_bin        | latin1  | 47 |         | Yes      |       1 |
| latin1_general_ci | latin1  | 48 |         | Yes      |       1 |
| latin1_general_cs | latin1  | 49 |         | Yes      |       1 |
| latin1_spanish_ci | latin1  | 94 |         | Yes      |       1 |
+-------------------+---------+----+---------+----------+---------+
63. The table name is derived from the file name by ignoring the file extension

Security

Don't run the MySQL server as superuser root

If you run MySQL server as root, it has root privilege (e. g. , can access all the files in the system). Run MySQL server as an ordinary, unprivileged user. For example, in Ubuntu, a system, unprivileged user called

mysql> SHOW COLLATION LIKE 'utf8%';
+--------------------+---------+-----+---------+----------+---------+
| Collation          | Charset | Id  | Default | Compiled | Sortlen |
+--------------------+---------+-----+---------+----------+---------+
| utf8_general_ci    | utf8    |  33 | Yes     | Yes      |       1 |
| utf8_bin           | utf8    |  83 |         | Yes      |       1 |
| utf8_unicode_ci    | utf8    | 192 |         | Yes      |       8 |
| utf8_icelandic_ci  | utf8    | 193 |         | Yes      |       8 |
| utf8_latvian_ci    | utf8    | 194 |         | Yes      |       8 |
| utf8_romanian_ci   | utf8    | 195 |         | Yes      |       8 |
  ......
1 is created to run the MySQL server

mysql> SHOW COLLATION LIKE 'latin1%';
+-------------------+---------+----+---------+----------+---------+
| Collation         | Charset | Id | Default | Compiled | Sortlen |
+-------------------+---------+----+---------+----------+---------+
| latin1_german1_ci | latin1  |  5 |         | Yes      |       1 |
| latin1_swedish_ci | latin1  |  8 | Yes     | Yes      |       1 |
| latin1_danish_ci  | latin1  | 15 |         | Yes      |       1 |
| latin1_german2_ci | latin1  | 31 |         | Yes      |       2 |
| latin1_bin        | latin1  | 47 |         | Yes      |       1 |
| latin1_general_ci | latin1  | 48 |         | Yes      |       1 |
| latin1_general_cs | latin1  | 49 |         | Yes      |       1 |
| latin1_spanish_ci | latin1  | 94 |         | Yes      |       1 |
+-------------------+---------+----+---------+----------+---------+
7

To specify the owner of the

mysql> SHOW COLLATION LIKE 'utf8%';
+--------------------+---------+-----+---------+----------+---------+
| Collation          | Charset | Id  | Default | Compiled | Sortlen |
+--------------------+---------+-----+---------+----------+---------+
| utf8_general_ci    | utf8    |  33 | Yes     | Yes      |       1 |
| utf8_bin           | utf8    |  83 |         | Yes      |       1 |
| utf8_unicode_ci    | utf8    | 192 |         | Yes      |       8 |
| utf8_icelandic_ci  | utf8    | 193 |         | Yes      |       8 |
| utf8_latvian_ci    | utf8    | 194 |         | Yes      |       8 |
| utf8_romanian_ci   | utf8    | 195 |         | Yes      |       8 |
  ......
1 process, you need to configure
mysql> SHOW COLLATION LIKE 'utf8%';
+--------------------+---------+-----+---------+----------+---------+
| Collation          | Charset | Id  | Default | Compiled | Sortlen |
+--------------------+---------+-----+---------+----------+---------+
| utf8_general_ci    | utf8    |  33 | Yes     | Yes      |       1 |
| utf8_bin           | utf8    |  83 |         | Yes      |       1 |
| utf8_unicode_ci    | utf8    | 192 |         | Yes      |       8 |
| utf8_icelandic_ci  | utf8    | 193 |         | Yes      |       8 |
| utf8_latvian_ci    | utf8    | 194 |         | Yes      |       8 |
| utf8_romanian_ci   | utf8    | 195 |         | Yes      |       8 |
  ......
23 as follows

mysql> SHOW COLLATION LIKE 'latin1%';
+-------------------+---------+----+---------+----------+---------+
| Collation         | Charset | Id | Default | Compiled | Sortlen |
+-------------------+---------+----+---------+----------+---------+
| latin1_german1_ci | latin1  |  5 |         | Yes      |       1 |
| latin1_swedish_ci | latin1  |  8 | Yes     | Yes      |       1 |
| latin1_danish_ci  | latin1  | 15 |         | Yes      |       1 |
| latin1_german2_ci | latin1  | 31 |         | Yes      |       2 |
| latin1_bin        | latin1  | 47 |         | Yes      |       1 |
| latin1_general_ci | latin1  | 48 |         | Yes      |       1 |
| latin1_general_cs | latin1  | 49 |         | Yes      |       1 |
| latin1_spanish_ci | latin1  | 94 |         | Yes      |       1 |
+-------------------+---------+----+---------+----------+---------+
8
The MySQL data directory shall be owned and only be accessible by server's account

As seen in the above example, the data directory is only accessible by the user "mysql". Other users have no access

[The location of the data directory is configured in the "

mysql> SHOW COLLATION LIKE 'utf8%';
+--------------------+---------+-----+---------+----------+---------+
| Collation          | Charset | Id  | Default | Compiled | Sortlen |
+--------------------+---------+-----+---------+----------+---------+
| utf8_general_ci    | utf8    |  33 | Yes     | Yes      |       1 |
| utf8_bin           | utf8    |  83 |         | Yes      |       1 |
| utf8_unicode_ci    | utf8    | 192 |         | Yes      |       8 |
| utf8_icelandic_ci  | utf8    | 193 |         | Yes      |       8 |
| utf8_latvian_ci    | utf8    | 194 |         | Yes      |       8 |
| utf8_romanian_ci   | utf8    | 195 |         | Yes      |       8 |
  ......
24" directive of the configuration file "
mysql> SHOW COLLATION LIKE 'utf8%';
+--------------------+---------+-----+---------+----------+---------+
| Collation          | Charset | Id  | Default | Compiled | Sortlen |
+--------------------+---------+-----+---------+----------+---------+
| utf8_general_ci    | utf8    |  33 | Yes     | Yes      |       1 |
| utf8_bin           | utf8    |  83 |         | Yes      |       1 |
| utf8_unicode_ci    | utf8    | 192 |         | Yes      |       8 |
| utf8_icelandic_ci  | utf8    | 193 |         | Yes      |       8 |
| utf8_latvian_ci    | utf8    | 194 |         | Yes      |       8 |
| utf8_romanian_ci   | utf8    | 195 |         | Yes      |       8 |
  ......
23" as illustrated above. ]

To set the ownerships and permissions

mysql> SHOW COLLATION LIKE 'latin1%';
+-------------------+---------+----+---------+----------+---------+
| Collation         | Charset | Id | Default | Compiled | Sortlen |
+-------------------+---------+----+---------+----------+---------+
| latin1_german1_ci | latin1  |  5 |         | Yes      |       1 |
| latin1_swedish_ci | latin1  |  8 | Yes     | Yes      |       1 |
| latin1_danish_ci  | latin1  | 15 |         | Yes      |       1 |
| latin1_german2_ci | latin1  | 31 |         | Yes      |       2 |
| latin1_bin        | latin1  | 47 |         | Yes      |       1 |
| latin1_general_ci | latin1  | 48 |         | Yes      |       1 |
| latin1_general_cs | latin1  | 49 |         | Yes      |       1 |
| latin1_spanish_ci | latin1  | 94 |         | Yes      |       1 |
+-------------------+---------+----+---------+----------+---------+
9
MySQL configuration file shall be properly protected

The global configuration file

mysql> SHOW COLLATION LIKE 'utf8%';
+--------------------+---------+-----+---------+----------+---------+
| Collation          | Charset | Id  | Default | Compiled | Sortlen |
+--------------------+---------+-----+---------+----------+---------+
| utf8_general_ci    | utf8    |  33 | Yes     | Yes      |       1 |
| utf8_bin           | utf8    |  83 |         | Yes      |       1 |
| utf8_unicode_ci    | utf8    | 192 |         | Yes      |       8 |
| utf8_icelandic_ci  | utf8    | 193 |         | Yes      |       8 |
| utf8_latvian_ci    | utf8    | 194 |         | Yes      |       8 |
| utf8_romanian_ci   | utf8    | 195 |         | Yes      |       8 |
  ......
23 shall be owned by root, with permissions
mysql> SHOW COLLATION LIKE 'utf8%';
+--------------------+---------+-----+---------+----------+---------+
| Collation          | Charset | Id  | Default | Compiled | Sortlen |
+--------------------+---------+-----+---------+----------+---------+
| utf8_general_ci    | utf8    |  33 | Yes     | Yes      |       1 |
| utf8_bin           | utf8    |  83 |         | Yes      |       1 |
| utf8_unicode_ci    | utf8    | 192 |         | Yes      |       8 |
| utf8_icelandic_ci  | utf8    | 193 |         | Yes      |       8 |
| utf8_latvian_ci    | utf8    | 194 |         | Yes      |       8 |
| utf8_romanian_ci   | utf8    | 195 |         | Yes      |       8 |
  ......
27 or
mysql> SHOW COLLATION LIKE 'utf8%';
+--------------------+---------+-----+---------+----------+---------+
| Collation          | Charset | Id  | Default | Compiled | Sortlen |
+--------------------+---------+-----+---------+----------+---------+
| utf8_general_ci    | utf8    |  33 | Yes     | Yes      |       1 |
| utf8_bin           | utf8    |  83 |         | Yes      |       1 |
| utf8_unicode_ci    | utf8    | 192 |         | Yes      |       8 |
| utf8_icelandic_ci  | utf8    | 193 |         | Yes      |       8 |
| utf8_latvian_ci    | utf8    | 194 |         | Yes      |       8 |
| utf8_romanian_ci   | utf8    | 195 |         | Yes      |       8 |
  ......
28. That is, it is writable by root (or sudo), but readable by the world (both server and client program need to read this configuration). You should be keep confidential data such as password as it is world-readable

The local configuration files (

mysql> SHOW COLLATION LIKE 'utf8%';
+--------------------+---------+-----+---------+----------+---------+
| Collation          | Charset | Id  | Default | Compiled | Sortlen |
+--------------------+---------+-----+---------+----------+---------+
| utf8_general_ci    | utf8    |  33 | Yes     | Yes      |       1 |
| utf8_bin           | utf8    |  83 |         | Yes      |       1 |
| utf8_unicode_ci    | utf8    | 192 |         | Yes      |       8 |
| utf8_icelandic_ci  | utf8    | 193 |         | Yes      |       8 |
| utf8_latvian_ci    | utf8    | 194 |         | Yes      |       8 |
| utf8_romanian_ci   | utf8    | 195 |         | Yes      |       8 |
  ......
29 located at data directory) shall be owned by user "mysql" and read-write only by "mysql" (i. e,
mysql> SHOW COLLATION LIKE 'utf8%';
+--------------------+---------+-----+---------+----------+---------+
| Collation          | Charset | Id  | Default | Compiled | Sortlen |
+--------------------+---------+-----+---------+----------+---------+
| utf8_general_ci    | utf8    |  33 | Yes     | Yes      |       1 |
| utf8_bin           | utf8    |  83 |         | Yes      |       1 |
| utf8_unicode_ci    | utf8    | 192 |         | Yes      |       8 |
| utf8_icelandic_ci  | utf8    | 193 |         | Yes      |       8 |
| utf8_latvian_ci    | utf8    | 194 |         | Yes      |       8 |
| utf8_romanian_ci   | utf8    | 195 |         | Yes      |       8 |
  ......
30)

Remove the

mysql> SHOW COLLATION LIKE 'utf8%';
+--------------------+---------+-----+---------+----------+---------+
| Collation          | Charset | Id  | Default | Compiled | Sortlen |
+--------------------+---------+-----+---------+----------+---------+
| utf8_general_ci    | utf8    |  33 | Yes     | Yes      |       1 |
| utf8_bin           | utf8    |  83 |         | Yes      |       1 |
| utf8_unicode_ci    | utf8    | 192 |         | Yes      |       8 |
| utf8_icelandic_ci  | utf8    | 193 |         | Yes      |       8 |
| utf8_latvian_ci    | utf8    | 194 |         | Yes      |       8 |
| utf8_romanian_ci   | utf8    | 195 |         | Yes      |       8 |
  ......
31 database

MySQL user accounts
  • Remove all anonymous account
  • Password protect MySQL root account
  • Grant only the necessary privileges (up to table-level or column-level) to My SQL user account. [TODO] example
Chính sách mật khẩu
  • All accounts shall be password protected
  • Password shall be stored in hash, so that even the administrator cannot see clear-text password
  • Add a salt to the password hash, which is stored together with the password hash. Different user shall have a different salt, so that the hash is different even if the password is identical
Backup Regularly

Use a

mysql> SHOW COLLATION LIKE 'utf8%';
+--------------------+---------+-----+---------+----------+---------+
| Collation          | Charset | Id  | Default | Compiled | Sortlen |
+--------------------+---------+-----+---------+----------+---------+
| utf8_general_ci    | utf8    |  33 | Yes     | Yes      |       1 |
| utf8_bin           | utf8    |  83 |         | Yes      |       1 |
| utf8_unicode_ci    | utf8    | 192 |         | Yes      |       8 |
| utf8_icelandic_ci  | utf8    | 193 |         | Yes      |       8 |
| utf8_latvian_ci    | utf8    | 194 |         | Yes      |       8 |
| utf8_romanian_ci   | utf8    | 195 |         | Yes      |       8 |
  ......
32 job (configured in
mysql> SHOW COLLATION LIKE 'utf8%';
+--------------------+---------+-----+---------+----------+---------+
| Collation          | Charset | Id  | Default | Compiled | Sortlen |
+--------------------+---------+-----+---------+----------+---------+
| utf8_general_ci    | utf8    |  33 | Yes     | Yes      |       1 |
| utf8_bin           | utf8    |  83 |         | Yes      |       1 |
| utf8_unicode_ci    | utf8    | 192 |         | Yes      |       8 |
| utf8_icelandic_ci  | utf8    | 193 |         | Yes      |       8 |
| utf8_latvian_ci    | utf8    | 194 |         | Yes      |       8 |
| utf8_romanian_ci   | utf8    | 195 |         | Yes      |       8 |
  ......
33)to back up the database regularly, and preferably
mysql> SHOW COLLATION LIKE 'utf8%';
+--------------------+---------+-----+---------+----------+---------+
| Collation          | Charset | Id  | Default | Compiled | Sortlen |
+--------------------+---------+-----+---------+----------+---------+
| utf8_general_ci    | utf8    |  33 | Yes     | Yes      |       1 |
| utf8_bin           | utf8    |  83 |         | Yes      |       1 |
| utf8_unicode_ci    | utf8    | 192 |         | Yes      |       8 |
| utf8_icelandic_ci  | utf8    | 193 |         | Yes      |       8 |
| utf8_latvian_ci    | utf8    | 194 |         | Yes      |       8 |
| utf8_romanian_ci   | utf8    | 195 |         | Yes      |       8 |
  ......
34 or
mysql> SHOW COLLATION LIKE 'utf8%';
+--------------------+---------+-----+---------+----------+---------+
| Collation          | Charset | Id  | Default | Compiled | Sortlen |
+--------------------+---------+-----+---------+----------+---------+
| utf8_general_ci    | utf8    |  33 | Yes     | Yes      |       1 |
| utf8_bin           | utf8    |  83 |         | Yes      |       1 |
| utf8_unicode_ci    | utf8    | 192 |         | Yes      |       8 |
| utf8_icelandic_ci  | utf8    | 193 |         | Yes      |       8 |
| utf8_latvian_ci    | utf8    | 194 |         | Yes      |       8 |
| utf8_romanian_ci   | utf8    | 195 |         | Yes      |       8 |
  ......
35 to another server

How to find script in MySQL?

To run SQL script in MySQL, use the MySQL workbench. First, you need to open MySQL workbench. Now, File -> Open SQL Script to open the SQL script . Note − Press OK button twice to connect with MySQL.

Where are MySQL scripts stored?

Theo mặc định, các tập lệnh được lưu trữ trong scripts/ thư mục của thư mục cấu hình MySQL Workbench của bạn .

Where can I find SQL scripts?

Exporting and Importing SQL Scripts. .
On the Workspace home page, click SQL Workshop and then SQL Scripts. .
Select a script. .
Click the Find button

Tôi có thể tìm tệp cơ sở dữ liệu MySQL ở đâu?

Its a MySQL database configuration file. Đây là file cấu hình chính của MySQL server. Điều này được tìm thấy trong thư mục gốc nơi quá trình cài đặt được thực hiện . Trong tệp này, người dùng có thể tìm thấy vị trí của thư mục dữ liệu.