1.14 Using Auto-Completion for Database and Table Names
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.
|