Ask a question
Saturday, 05 December 2009 14:28

Using Auto-Completion for Database and Table Names in MySQL

Written by Vicky
Rate this item
(0 votes)

1.14.1 Problem

You wish there was a way to type database and table names more quickly.

1.14.2 Solution

There is; use mysql's name auto-completion facility.

1.14.3 Discussion

Normally when you use mysql interactively, it reads the list of database names and the names of the tables and columns in your current database when it starts up. mysql remembers this information to provide name completion capabilities that are useful for entering statements with fewer keystrokes:

  • Type in a partial database, table, or column name and then hit the Tab key.

  • If the partial name is unique, mysql completes it for you. Otherwise, you can hit Tab again to see the possible matches.

  • Enter additional characters and hit Tab again once to complete it or twice to see the new set of matches.

mysql's name auto-completion capability is based on the table names in the current database, and thus is unavailable within a mysql session until a database has been selected, either on the command line or by means of a USE statement.

Auto-completion allows you to cut down the amount of typing you do. However, if you don't use this feature, reading name-completion information from the MySQL server may be counterproductive because it can cause mysql to start up more slowly when you have a lot of tables in your database. To tell mysql not to read this information so that it starts up more quickly, specify the -A (or --no-auto-rehash) option on the mysql command line. Alternatively, put a no-auto-rehash line in the [mysql] group of your MySQL option file:

[mysql]
no-auto-rehash

To force mysql to read name completion information even if it was invoked in no-completion mode, issue a REHASH or \# command at the mysql> prompt.

Last modified on Saturday, 05 December 2009 14:32
Vicky

Vicky

E-mail: This e-mail address is being protected from spambots. You need JavaScript enabled to view it