Recipe 1.11. Using Auto-Completion for Database and Table Names


Problem

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

Solution

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

Discussion

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

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

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

  3. 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 default database, and thus is not available within a mysql session until you select a database, either on the command line or with a USE statement.

Auto-completion enables 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 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 --skip-auto-rehash) option on the mysql command line. Alternatively, put a skip-auto-rehash line in the [mysql] group of your MySQL option file:

[mysql] skip-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.




MySQL Cookbook
MySQL Cookbook
ISBN: 059652708X
EAN: 2147483647
Year: 2004
Pages: 375
Authors: Paul DuBois

flylib.com © 2008-2017.
If you may any questions please contact us: flylib@qtcs.net