Các lệnh tiếng vang Mysql

mysql (từ MariaDB 10. 4. 6, còn được gọi là mariadb) là một trình bao SQL đơn giản (có khả năng đọc GNU). Nó hỗ trợ sử dụng tương tác và không tương tác. Khi được sử dụng tương tác, kết quả truy vấn được trình bày ở định dạng bảng ASCII. Khi được sử dụng không tương tác (ví dụ: dưới dạng bộ lọc), kết quả được trình bày ở định dạng được phân tách bằng tab. Định dạng đầu ra có thể được thay đổi bằng các tùy chọn lệnh

Nếu bạn gặp sự cố do không đủ bộ nhớ cho tập hợp kết quả lớn, hãy sử dụng tùy chọn

mysql --user=user_name --password=your_password db_name
1. Điều này buộc mysql truy xuất kết quả từ máy chủ một hàng tại một thời điểm thay vì truy xuất toàn bộ tập kết quả và đệm nó trong bộ nhớ trước khi hiển thị. Điều này được thực hiện bằng cách trả về tập kết quả bằng hàm
mysql --user=user_name --password=your_password db_name
2 C API trong thư viện máy khách/máy chủ thay vì
mysql --user=user_name --password=your_password db_name
3

Sử dụng mysql rất dễ dàng. Gọi nó từ lời nhắc của trình thông dịch lệnh của bạn như sau

mysql db_name

Hoặc là

mysql --user=user_name --password=your_password db_name

Sau đó nhập câu lệnh SQL, kết thúc câu lệnh bằng dấu “;”, \g hoặc \G rồi nhấn Enter

Nhập Control-C khiến mysql cố gắng hủy câu lệnh hiện tại. Nếu điều này không thể thực hiện được hoặc Control-C được nhập lại trước khi câu lệnh bị tắt, mysql sẽ thoát

Bạn có thể thực thi các câu lệnh SQL trong một tệp script (tệp bó) như thế này

mysql db_name < script.sql > output.tab

Từ MariaDB 10. 4. 6,

mysql --user=user_name --password=your_password db_name
4 có sẵn dưới dạng liên kết tượng trưng tới
mysql --user=user_name --password=your_password db_name
5

Từ MariaDB 10. 5. 2,

mysql --user=user_name --password=your_password db_name
5 là liên kết tượng trưng và
mysql --user=user_name --password=your_password db_name
4 tên nhị phân

sử dụng mysql

Lệnh sử dụng

mysql --user=user_name --password=your_password db_name
5 và cú pháp chung là

mysql --user=user_name --password=your_password db_name
1

Tùy chọn

mysql --user=user_name --password=your_password db_name
5 hỗ trợ các tùy chọn sau

Tệp tùy chọn

Ngoài việc đọc các tùy chọn từ dòng lệnh,

mysql --user=user_name --password=your_password db_name
5 cũng có thể đọc các tùy chọn từ các tệp tùy chọn. Nếu một tùy chọn không xác định được cung cấp cho
mysql --user=user_name --password=your_password db_name
5 trong tệp tùy chọn, thì tùy chọn đó sẽ bị bỏ qua

Các tùy chọn sau đây liên quan đến cách các công cụ dòng lệnh của MariaDB xử lý các tệp tùy chọn. Chúng phải được đưa ra làm đối số đầu tiên trên dòng lệnh

Trong MariaDB 10. 2 trở lên,

mysql --user=user_name --password=your_password db_name
5 được liên kết với MariaDB Connector/C. Tuy nhiên, Trình kết nối MariaDB/C chưa xử lý việc phân tích cú pháp các tệp tùy chọn cho máy khách này. Điều đó vẫn được thực hiện bởi mã phân tích tệp tùy chọn máy chủ. Xem MDEV-19035 để biết thêm thông tin

Nhóm tùy chọn

mysql --user=user_name --password=your_password db_name
5 đọc các tùy chọn từ các nhóm tùy chọn sau từ các tệp tùy chọn

Cách chỉ định giao thức nào sẽ sử dụng khi kết nối với máy chủ mysqld

Bạn có thể buộc giao thức nào được sử dụng để kết nối với máy chủ

mysql db_name < script.sql > output.tab
4 bằng cách cung cấp cho tùy chọn
mysql db_name < script.sql > output.tab
5 một trong các giá trị sau.
mysql db_name < script.sql > output.tab
6,
mysql db_name < script.sql > output.tab
7,
mysql db_name < script.sql > output.tab
8 hoặc
mysql db_name < script.sql > output.tab
9

Nếu

mysql db_name < script.sql > output.tab
5 không được chỉ định, trước MariaDB 10. 6. 1, các thuộc tính kết nối dòng lệnh không bắt buộc giao thức sẽ bị bỏ qua

Từ MariaDB 10. 6. 1, thuộc tính kết nối được chỉ định thông qua dòng lệnh (e. g.

mysql --user=user_name --password=your_password db_name
11) sẽ buộc loại của nó. Giao thức phù hợp với thuộc tính kết nối tương ứng được sử dụng, e. g. kết nối TCP/IP được tạo khi
mysql --user=user_name --password=your_password db_name
12 được chỉ định

Nếu nhiều hoặc không có thuộc tính kết nối nào được chỉ định thông qua dòng lệnh, thì điều sau đây sẽ xảy ra

Linux/Unix

  • Nếu
    mysql --user=user_name --password=your_password db_name
    
    13 không được chỉ định hoặc
    mysql --user=user_name --password=your_password db_name
    
    13 là
    mysql --user=user_name --password=your_password db_name
    
    15, thì ổ cắm Unix được sử dụng
  • Trong các trường hợp khác (_______113 được đưa ra và nó không phải là ____115) thì kết nối TCP/IP thông qua tùy chọn
    mysql --user=user_name --password=your_password db_name
    
    18 được sử dụng

Lưu ý rằng

mysql --user=user_name --password=your_password db_name
15 là một giá trị đặc biệt. Sử dụng 127. 0. 0. 1 không phải là điều tương tự. Cái sau sẽ kết nối với máy chủ mysqld thông qua TCP/IP

các cửa sổ

  • Nếu
    mysql db_name
    
    30 được chỉ định và
    mysql --user=user_name --password=your_password db_name
    
    13 không được chỉ định hoặc
    mysql --user=user_name --password=your_password db_name
    
    13 là
    mysql --user=user_name --password=your_password db_name
    
    15 thì kết nối sẽ diễn ra thông qua bộ nhớ dùng chung
  • Nếu
    mysql db_name
    
    30 không được chỉ định và
    mysql --user=user_name --password=your_password db_name
    
    13 không được chỉ định hoặc
    mysql --user=user_name --password=your_password db_name
    
    13 là
    mysql --user=user_name --password=your_password db_name
    
    15 thì kết nối sẽ diễn ra thông qua các cửa sổ có tên là đường ống
  • Các đường dẫn được đặt tên cũng sẽ được sử dụng nếu thư viện máy khách
    mysql db_name
    
    38 /
    mysql db_name
    
    39 phát hiện ra rằng máy khách không hỗ trợ TCP/IP
  • Trong các trường hợp khác thì kết nối TCP/IP thông qua tùy chọn
    mysql --user=user_name --password=your_password db_name
    
    18 được sử dụng

Cách kiểm tra giao thức nào được sử dụng

Lệnh

mysql --user=user_name --password=your_password db_name
41 hiển thị cho bạn thông tin về giao thức nào được sử dụng

mysql db_name
3

lệnh mysql

Ngoài ra còn có một số lệnh có thể chạy bên trong máy khách. Lưu ý rằng tất cả các lệnh văn bản phải ở dòng đầu tiên và kết thúc bằng ';'

Tệp mysql_history

Trên Unix, máy khách mysql ghi một bản ghi các câu lệnh đã thực thi vào một tệp lịch sử. Theo mặc định, tệp này có tên là

mysql --user=user_name --password=your_password db_name
42 và được tạo trong thư mục chính của bạn. Để chỉ định một tệp khác, hãy đặt giá trị của biến môi trường MYSQL_HISTFILE

Các. Tệp mysql_history phải được bảo vệ bằng chế độ truy cập hạn chế vì thông tin nhạy cảm có thể được ghi vào tệp, chẳng hạn như văn bản của câu lệnh SQL có chứa mật khẩu

Nếu bạn không muốn duy trì tệp lịch sử, trước tiên hãy xóa. mysql_history nếu nó tồn tại, sau đó sử dụng một trong các kỹ thuật sau

  • Đặt biến MYSQL_HISTFILE thành/dev/null. Để cài đặt này có hiệu lực mỗi khi bạn đăng nhập, hãy đặt cài đặt vào một trong các tệp khởi động của trình bao của bạn
  • Tạo nên. mysql_history như một liên kết tượng trưng đến/dev/null
mysql --user=user_name --password=your_password db_name
4

Bạn chỉ cần làm điều này một lần

dấu nhắc Lệnh

Lệnh nhắc cấu hình lại dấu nhắc mặc định

mysql --user=user_name --password=your_password db_name
43. Chuỗi để xác định dấu nhắc có thể chứa các chuỗi đặc biệt sau

mẹo mysql

Phần này mô tả một số kỹ thuật có thể giúp bạn sử dụng

mysql --user=user_name --password=your_password db_name
44 hiệu quả hơn

Hiển thị kết quả truy vấn theo chiều dọc

Một số kết quả truy vấn dễ đọc hơn nhiều khi được hiển thị theo chiều dọc, thay vì ở định dạng bảng ngang thông thường. Truy vấn có thể được hiển thị theo chiều dọc bằng cách kết thúc truy vấn bằng \G thay vì dấu chấm phẩy. Ví dụ: các giá trị văn bản dài hơn bao gồm các dòng mới thường dễ đọc hơn nhiều với đầu ra dọc

mysql db_name < script.sql > output.tab
0

Đối với người mới bắt đầu, một tùy chọn khởi động hữu ích là

mysql --user=user_name --password=your_password db_name
45 (hoặc
mysql --user=user_name --password=your_password db_name
46, có tác dụng tương tự). Nó hữu ích cho các trường hợp khi bạn có thể đưa ra tuyên bố
mysql --user=user_name --password=your_password db_name
47 nhưng lại quên điều khoản
mysql --user=user_name --password=your_password db_name
48. Thông thường, một câu lệnh như vậy sẽ xóa tất cả các hàng khỏi bảng. Với
mysql --user=user_name --password=your_password db_name
45, bạn chỉ có thể xóa các hàng bằng cách chỉ định các giá trị chính xác định chúng. Điều này giúp ngăn ngừa tai nạn

Khi bạn sử dụng tùy chọn

mysql --user=user_name --password=your_password db_name
45, mysql sẽ đưa ra câu lệnh sau khi nó kết nối với máy chủ MariaDB

mysql db_name < script.sql > output.tab
7

Câu lệnh SET có các tác dụng sau

  • Bạn không được phép thực thi câu lệnh CẬP NHẬT hoặc XÓA trừ khi bạn chỉ định ràng buộc khóa trong mệnh đề WHERE hoặc cung cấp mệnh đề GIỚI HẠN (hoặc cả hai). Ví dụ
mysql db_name < script.sql > output.tab
8
  • Máy chủ giới hạn tất cả các kết quả large
    mysql db_name < script.sql > output.tab
    
    01 ở 1.000 hàng trừ khi câu lệnh bao gồm mệnh đề
    mysql db_name < script.sql > output.tab
    
    02
  • Máy chủ hủy bỏ các câu lệnh
    mysql db_name < script.sql > output.tab
    
    01 nhiều bảng có thể cần kiểm tra hơn 1.000.000 tổ hợp hàng

Để chỉ định các giới hạn khác với 1.000 và 1.000.000, bạn có thể ghi đè các giá trị mặc định bằng cách sử dụng tùy chọn

mysql db_name < script.sql > output.tab
04 và
mysql db_name < script.sql > output.tab
05

mysql --user=user_name --password=your_password db_name
4

Vô hiệu hóa tự động kết nối lại mysql

Nếu máy khách mysql mất kết nối với máy chủ trong khi gửi câu lệnh, nó sẽ ngay lập tức và tự động cố gắng kết nối lại một lần với máy chủ và gửi lại câu lệnh. Tuy nhiên, ngay cả khi mysql kết nối lại thành công, kết nối đầu tiên của bạn đã kết thúc và tất cả các đối tượng và cài đặt phiên trước đó của bạn sẽ bị mất. các bảng tạm thời, chế độ tự động gửi và các biến phiên và do người dùng xác định. Ngoài ra, mọi giao dịch hiện tại sẽ quay trở lại. Hành vi này có thể gây nguy hiểm cho bạn, như trong ví dụ sau khi máy chủ bị tắt và khởi động lại giữa câu lệnh thứ nhất và câu lệnh thứ hai mà bạn không biết

mysql --user=user_name --password=your_password db_name
0

Biến người dùng @a đã bị mất khi kết nối và sau khi kết nối lại, nó không được xác định. Nếu điều quan trọng là phải chấm dứt mysql do lỗi nếu kết nối bị mất, bạn có thể khởi động ứng dụng khách mysql bằng tùy chọn

mysql db_name < script.sql > output.tab
06

Lệnh echo trong SQL là gì?

Cài đặt ECHO cho SQL*Plus biết liệu bạn có muốn nội dung của tệp tập lệnh được lặp lại trên màn hình khi chúng được thực thi hay không .

Các lệnh MySQL là gì?

Một số lệnh SQL quan trọng nhất .
CHỌN - trích xuất dữ liệu từ cơ sở dữ liệu
CẬP NHẬT - cập nhật dữ liệu trong cơ sở dữ liệu
XÓA - xóa dữ liệu khỏi cơ sở dữ liệu
INSERT INTO - chèn dữ liệu mới vào cơ sở dữ liệu
CREATE DATABASE - tạo cơ sở dữ liệu mới
ALTER DATABASE - sửa đổi cơ sở dữ liệu
TẠO BẢNG - tạo một bảng mới

Làm cách nào để hiển thị DBS trong MySQL?

1. Mở Dấu nhắc Lệnh và điều hướng đến thư mục bin của thư mục cài đặt Máy chủ MySQL của bạn. Sau đó kết nối với máy chủ bằng lệnh mysql -u root -p. Nhập mật khẩu và thực hiện SHOW DATABASES;

Làm cách nào để chạy tập lệnh trong dòng lệnh MySQL?

sử dụng ứng dụng khách dòng lệnh MySQL. mysql -h tên máy chủ -u cơ sở dữ liệu người dùng < đường dẫn/đến/kiểm tra. sql . Cài đặt các công cụ MySQL GUI và mở tệp SQL của bạn, sau đó thực thi nó.