Mysql
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Mysql

Dán SQL vào dòng lệnh MySQL

Đây là mysql mặc định (CLI) hành vi mỗi khi người dùng nhấn vào tab khóa ( mysql sử dụng dòng đọc bên dưới hoặc EditLine thư viện (không có trên Windows)).

Theo mặc định, khi người dùng yêu cầu use cơ sở dữ liệu, mysql đọc các định nghĩa bảng và trường. Sau đó, nhấn Tab khóa làm cho mysql thuận tiện cung cấp hoàn thành đầu vào hiện tại với các bảng và trường đã biết.

Tuy nhiên, dán một số văn bản vào mysql chứa các ký tự TAB (\t hoặc 0x09 ) kích hoạt cùng một hành vi - ngay cả khi không có Tab phím thực sự đã được nhấn từ bàn phím. Và điều này có thể gây khó chịu.

Hai tùy chọn được cung cấp cho mysql Tuy nhiên, có thể ngăn chặn hành vi đó. Yêu thích của tôi là --disable-auto-rehash . Cái còn lại là --quiet hoặc -q .

  • --disable-auto-rehash để ngăn hoàn thành cơ sở dữ liệu, bảng và tên cột (không được đọc từ cơ sở dữ liệu, hãy sử dụng rehash lệnh nếu sau này bạn cần hoàn thành). Tuy nhiên, lịch sử lệnh vẫn được giữ lại (truy xuất qua khóa chẳng hạn). Thật là tiện lợi.

  • --quick hoặc -q điều này làm cho mysql không sử dụng lịch sử tệp và không hoàn thành (không đọc định nghĩa cơ sở dữ liệu).

Trên Linux, người ta có thể thêm bí danh trong .bashrc để sử dụng --disable-auto-rehash tự động

alias mysql2='mysql --disable-auto-rehash'


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Chọn nhiều cột từ nhiều bảng

  2. Làm thế nào để có được ngày hôm qua trong MySQL

  3. Cách viết regex lookahead / lookbehind trong mysql

  4. PDO bindValue với \ PDO ::PARAM_BOOL khiến việc thực thi câu lệnh không thành công một cách âm thầm

  5. Làm thế nào để tạo ma trận động trong php?