Term
| What is the "data directory"? |
|
Definition
| The directory on the MySQL server under which it stores its databases. |
|
|
Term
| What is the "database directory"? |
|
Definition
| A subdirectory of the "data directory" on the MySQL server which stores a database and has the same name as the database. |
|
|
Term
| What is the logical structure of a table? |
|
Definition
| Consists of rows and columns. |
|
|
Term
| What is the minimum number of rows in a table? |
|
Definition
|
|
Term
| What is the minimum number of columns in a table |
|
Definition
|
|
Term
| What is the table format file? |
|
Definition
| A file on the MySQL server located in the database directory that contains the table definition. |
|
|
Term
| What is the format filename? |
|
Definition
| Same as the table name, plus an .frm suffix. |
|
|
Term
| Can you use different storage engines for different tables in the same database? |
|
Definition
|
|
Term
| What additional files does the MyISAM engine create per table besides the format file? |
|
Definition
| A data file (table_name.MYD) and an index file (table_name.MYI). |
|
|
Term
| How does the InnoDB engine store data and indexes for tables? |
|
Definition
| By default, it uses a shared tablespace. |
|
|
Term
| How does the MEMORY engine store table contents? |
|
Definition
|
|
Term
| What is the maximum number of tables allowed in a database? |
|
Definition
| MySQL server places no limits, but storage engines may have limits (InnoDB has limit of 2 Billion tables within a shared tablespace) and operating systems may place a limit on the number of files in a directory. |
|
|
Term
| What factors limit the maximum size of individual tables? |
|
Definition
| Storage engines, maximum file size allowed by OS or filesystem |
|
|
Term
| What are some workarounds for file size limits for creating larger tables? |
|
Definition
* MyISAM tables can sometimes be distributed into smaller tables * Convert the table for use with a storage engine that allows larger tables (InnoDB tablespace can be larger than a single file) * Modify the operating system to support larger files |
|
|
Term
| What is the basic CREATE TABLE syntax? |
|
Definition
| CREATE TABLE table_name (column_definitions); |
|
|
Term
| What happens if you try to create a table that already exists? |
|
Definition
|
|
Term
| What clause can you add to a CREATE TABLE statement to specify to only create the table if it doesn't already exist? |
|
Definition
|
|
Term
| What happens if the IF NOT EXISTS clause is specified but the CREATE TABLE has a different definition than the current table? |
|
Definition
| Nothing; the table is not created and no warning is given. |
|
|
Term
| Can a table be created that does not reside in a database? |
|
Definition
|
|
Term
| What happens if the CREATE TABLE statement is not qualified with a database? |
|
Definition
| The default database is used. |
|
|
Term
| In the statement CREATE TABLE test.me (column_definitions); what do "test" and "me" indicate? |
|
Definition
| "test" is the database name and "me" is the table name |
|
|
Term
| How can you get a list of storage engines supported by your MySQL server? |
|
Definition
|
|
Term
| How can you get a list of storage engines supported by your MySQL server? |
|
Definition
|
|
Term
| How can you get a list of storage engines supported by your MySQL server? |
|
Definition
|
|
Term
| How can an engine be specified with the table creation? |
|
Definition
| CREATE TABLE t (column_definitions) ENGINE = engine; |
|
|
Term
| How can you convert a table from one storage engine to another? |
|
Definition
| ALTER TABLE t ENGINE = engine; |
|
|
Term
| How is the default storage engine determined? |
|
Definition
| The value of the storage_engine system variable; default value is MyISAM. |
|
|
Term
| What option can be used to specify the default storage engine at server startup? |
|
Definition
|
|
Term
| How can an administrator change the default storage engine globally for all clients? |
|
Definition
SET GLOBAL storage_engine = engine_name; (clients that are already connected are unaffected) |
|
|
Term
| How can a client change its own default storage engine? |
|
Definition
SET SESSION storage_engine = engine_name; or SET storage_engine = engine_name; |
|
|
Term
| What happens if the ENGINE clause names a storage engine that is legal or unavailable? |
|
Definition
| The default storage engine is used and a warning is produced. |
|
|
Term
| How can a table based on another table be created? |
|
Definition
CREATE TABLE ... SELECT (populated table) or CREATE TABLE ... LIKE (empty table) |
|
|
Term
| What data is NOT copied by the CREATE TABLE ... SELECT statement? |
|
Definition
| PRIMARY KEY index information, AUTO_INCREMENT column attribute information, and storage engine |
|
|
Term
| What table attributes are NOT copied with CREATE TABLE ... LIKE? |
|
Definition
| The MyISAM DATA DIRECTORY or INDEX DIRECTORY and foreign key definitions. |
|
|
Term
| What are the characteristics of a TEMPORARY table? |
|
Definition
| Visible only for the client that created it, exists only for the duration of the connection in which it was created, may have the same name as a non-TEMPORARY table (in which case the non-TEMPORARY table becomes invisible), can be renamed only with ALTER TABLE (not RENAME TABLE) |
|
|
Term
| When are the contents of a MEMORY table lost? |
|
Definition
| When the server is restarted. |
|
|
Term
| Is a MEMORY table available to all client connections or just the client that created it? |
|
Definition
|
|
Term
| How can you change a table "in place"? |
|
Definition
|
|
Term
| When adding a column with ALTER TABLE, what is the default position of the new column? |
|
Definition
| After all existing columns. |
|
|
Term
| What keywords can change where a new column is inserted? |
|
Definition
| FIRST or AFTER column_name |
|
|
Term
| How can you drop a column from a table? |
|
Definition
| ALTER TABLE table_name DROP column_name; |
|
|
Term
| How can you add a column to an existing table? |
|
Definition
| ALTER table_name ADD column_definition; |
|
|
Term
| How can you change a column definition within a table? |
|
Definition
ALTER TABLE table_name MODIFY column_definition; or (to change the name also) ALTER TABLE table_name CHANGE column_name column_definition; |
|
|
Term
| How can you rename a table? |
|
Definition
ALTER t1 RENAME TO t2; or RENAME TABLE t1 TO t2; |
|
|
Term
| How can you swap the names of 2 tables? |
|
Definition
| RENAME TABLE t1 to tmp, t2 to t1, tmp TO t2; |
|
|
Term
| Can multiple alterations be specified with a single ALTER TABLE statement? |
|
Definition
| Yes, by separating the actions by commas. |
|
|
Term
| How can you remove a table when you no longer need it? |
|
Definition
|
|
Term
| Can a DROP statement specify multiple tables? |
|
Definition
| Yes, separated by commas. |
|
|
Term
| What happens if you attempt to drop a table that doesn't exist? |
|
Definition
|
|
Term
| What happens if you attempt to drop a table that doesn't exist? |
|
Definition
|
|
Term
| What clause can you add to DROP to prevent an error if the table does not exist? |
|
Definition
| IF EXISTS (a warning occurs) |
|
|
Term
| What happens if you drop a table by mistake? |
|
Definition
| You must recover from backups. |
|
|
Term
| How can you completely empty a table without dropping it? |
|
Definition
DELETE FROM t; or TRUNCATE TABLE t; |
|
|
Term
| What is the difference between DELETE and TRUNCATE? |
|
Definition
| DELETE can delete only a subset of records by adding a WHERE clause. |
|
|
Term
| What is the difference between a primary key index and a unique index? |
|
Definition
| A unique index can be allowed to contain NULL values and there can only be one primary key index per table. |
|
|
Term
| In what kind of index can any key value occur multiple times? |
|
Definition
|
|
Term
| What type of index is specially designed for text searching? |
|
Definition
|
|
Term
| What type of index applies only to columns with spacial data types? |
|
Definition
|
|
Term
| What keyword is a synonym with INDEX? |
|
Definition
|
|
Term
| What clause can be added to a CREATE TABLE statement to index a single column? |
|
Definition
|
|
Term
| What clause can be added to a CREATE TABLE statement to create a composite index for multiple columns? |
|
Definition
| INDEX (column_name_1, column_name_2) |
|
|
Term
| What clause can you add to name an index? |
|
Definition
| INDEX index_name (column_list), |
|
|
Term
| What is the default name for a multi-column index? |
|
Definition
| first column in the index |
|
|
Term
| What is the name for a PRIMARY KEY index? |
|
Definition
|
|
Term
| How can index names be displayed? |
|
Definition
| SHOW CREATE TABLE or SHOW INDEX |
|
|
Term
| How could you add a primary key to an existing table? |
|
Definition
| ALTER TABLE table_name ADD PRIMARY KEY (column_name); |
|
|
Term
| What are 3 differences between creating an index with ALTER TABLE, ADD INDEX and CREATE INDEX? |
|
Definition
1) CREATE INDEX requires an index name to be provided. 2) Only ALTER TABLE can create multiple indexes per statement. 3) Only ALTER TABLE supports the use of PRIMARY KEY. |
|
|
Term
| Which type of engine supports specifying an indexing algorithm? |
|
Definition
|
|
Term
| What is the default indexing algorithm for the MEMORY engine? |
|
Definition
|
|
Term
| What are hash indexes good for? |
|
Definition
| Fast lookup of unique items and equivalence comparisons. |
|
|
Term
| What is a BTREE index useful for? |
|
Definition
| Non-unique values or range comparisons. |
|
|
Term
| What clause can be used to specify a BTREE index for the MEMORY engine? |
|
Definition
| INDEX USING BTREE (column_name) |
|
|
Term
| How can an index be dropped from a table? |
|
Definition
ALTER TABLE table_name DROP INDEX index_name; or DROP INDEX index_name ON table_name; |
|
|
Term
| Is dropping an index a reversible action? |
|
Definition
|
|
Term
| What information resides in the TABLES table in the INFORMATION_SCHEMA database? |
|
Definition
|
|
Term
| Which table in the INFORMATION_SCHEMA table contains metadata about indexes? |
|
Definition
|
|
Term
| Which keywork specifies the database to use with SHOW TABLES? |
|
Definition
|
|