sql >> データベース >  >> RDS >> Mysql

データベース管理者向けの15の基本的なMySQLインタビューの質問

    この記事の前に、「Linuxインタビュー」セクションに3つの記事がすでに公開されており、それらすべてが著名な読者から高く評価されていましたが、このインタラクティブな学習プロセスをセクションごとに作成するためのフィードバックを受け取りました。アイデアからアクションまで、15のMySQLインタビューの質問を提供します 。

    1。 MySqlサービスが実行されているかどうかをどのように確認しますか?
    回答: コマンド「servicemysqlstatus」を発行します 「Debian」の「」と「servicemysqldstatus 」をRedHatで。出力を確認し、すべて完了しました。
    [email protected]:/home/avi# service mysql status
    
    /usr/bin/mysqladmin  Ver 8.42 Distrib 5.1.72, for debian-linux-gnu on i486
    Copyright (c) 2000, 2013, Oracle and/or its affiliates. All rights reserved.
    
    Oracle is a registered trademark of Oracle Corporation and/or its
    affiliates. Other names may be trademarks of their respective
    owners.
    
    Server version 5.1.72-2
    Protocol version 10
    Connection Localhost via UNIX socket
    UNIX socket /var/run/mysqld/mysqld.sock
    Uptime: 1 hour 22 min 49 sec
    
    Threads: 1  Questions: 112138  Slow queries: 1  Opens: 1485  Flush tables: 1  Open tables: 64  Queries per second avg: 22.567.
    2。サービスが実行中/停止している場合、どのようにサービスを停止/開始しますか?
    回答: MySqlサービスを開始するには、コマンドを service mysqld startとして使用します 使用を停止するにはservicemysqld stop
    [email protected]:/home/avi# service mysql stop
    
    Stopping MySQL database server: mysqld.
    
    [email protected]:/home/avi# service mysql start
    
    Starting MySQL database server: mysqld.
    
    Checking for corrupt, not cleanly closed and upgrade needing tables..
    3。 LinuxシェルからMySQLにどのようにログインしますか?
    回答: MySQLサービスに接続またはログインするには、次のコマンドを使用します: mysql -u root -p
    [email protected]:/home/avi# mysql -u root -p 
    Enter password: 
    Welcome to the MySQL monitor.  Commands end with ; or \g. 
    Your MySQL connection id is 207 
    Server version: 5.1.72-2 (Debian) 
    
    Copyright (c) 2000, 2013, Oracle and/or its affiliates. All rights reserved. 
    
    Oracle is a registered trademark of Oracle Corporation and/or its 
    affiliates. Other names may be trademarks of their respective 
    owners. 
    
    Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. 
    
    mysql>
    4。すべてのデータベースのリストをどのように取得しますか?
    回答: 現在実行中のすべてのデータベースを一覧表示するには、mysqlシェルで次のようにコマンドを実行します。データベースを表示;
    mysql> show databases; 
    +--------------------+ 
    | Database           | 
    +--------------------+ 
    | information_schema | 
    | a1                 | 
    | cloud              | 
    | mysql              | 
    | phpmyadmin         | 
    | playsms            | 
    | sisso              | 
    | test               | 
    | ukolovnik          | 
    | wordpress          | 
    +--------------------+ 
    10 rows in set (0.14 sec)
    5。どのようにデータベースに切り替えて、それに取り組み始めますか?
    回答: 特定のデータベースを使用または切り替えるには、次のようにmysqlシェルでコマンドを実行します。 use database_name;
    mysql> use cloud; 
    Reading table information for completion of table and column names 
    You can turn off this feature to get a quicker startup with -A 
    
    Database changed 
    mysql>
    を使用してより迅速に起動できます。
    6。データベース内のすべてのテーブルのリストをどのように取得しますか?
    回答: データベースのすべてのテーブルを一覧表示するには、mysqlシェルで次のようにコマンドを使用します。 show Tables;
    mysql> show tables; 
    +----------------------------+ 
    | Tables_in_cloud            | 
    +----------------------------+ 
    | oc_appconfig               | 
    | oc_calendar_calendars      | 
    | oc_calendar_objects        | 
    | oc_calendar_repeat         | 
    | oc_calendar_share_calendar | 
    | oc_calendar_share_event    | 
    | oc_contacts_addressbooks   | 
    | oc_contacts_cards          | 
    | oc_fscache                 | 
    | oc_gallery_sharing         | 
    +----------------------------+ 
    10 rows in set (0.00 sec)
    7。 MySqlテーブルのフィールド名とタイプをどのように取得しますか?
    回答: テーブルのフィールド名とタイプを取得するには、mysqlシェルで次のコマンドを使用します: describe table_name;
    mysql> describe oc_users; 
    +----------+--------------+------+-----+---------+-------+ 
    | Field    | Type         | Null | Key | Default | Extra | 
    +----------+--------------+------+-----+---------+-------+ 
    | uid      | varchar(64)  | NO   | PRI |         |       | 
    | password | varchar(255) | NO   |     |         |       | 
    +----------+--------------+------+-----+---------+-------+ 
    2 rows in set (0.00 sec)
    8。テーブルをどのように削除しますか?
    回答: 特定のテーブルを削除するには、mysqlシェルで次のコマンドを使用します: drop table table_name;
    mysql> drop table lookup; 
    
    Query OK, 0 rows affected (0.00 sec)
    9。データベースはどうですか?データベースをどのように削除しますか?
    回答: 特定のデータベースを削除するには、mysqlシェルで次のコマンドを使用します。 drop database database-name;
    mysql> drop database a1; 
    
    Query OK, 11 rows affected (0.07 sec)
    10。テーブルのすべての内容をどのように確認しますか?
    回答: 特定のテーブルのすべての内容を表示するには、mysqlシェルで次のようにコマンドを使用します。 select * from table_name;
    mysql> select * from engines; 
    +------------+---------+----------------------------------------------------------------+--------------+------+------------+ 
    | ENGINE     | SUPPORT | COMMENT                                                        | TRANSACTIONS | XA   | SAVEPOINTS | 
    +------------+---------+----------------------------------------------------------------+--------------+------+------------+ 
    | InnoDB     | YES     | Supports transactions, row-level locking, and foreign keys     | YES          | YES  | YES        | 
    | MRG_MYISAM | YES     | Collection of identical MyISAM tables                          | NO           | NO   | NO         | 
    | BLACKHOLE  | YES     | /dev/null storage engine (anything you write to it disappears) | NO           | NO   | NO         | 
    | CSV        | YES     | CSV storage engine                                             | NO           | NO   | NO         | 
    | MEMORY     | YES     | Hash based, stored in memory, useful for temporary tables      | NO           | NO   | NO         | 
    | FEDERATED  | NO      | Federated MySQL storage engine                                 | NULL         | NULL | NULL       | 
    | ARCHIVE    | YES     | Archive storage engine                                         | NO           | NO   | NO         | 
    | MyISAM     | DEFAULT | Default engine as of MySQL 3.23 with great performance         | NO           | NO   | NO         | 
    +------------+---------+----------------------------------------------------------------+--------------+------+------------+ 
    8 rows in set (0.00 sec)
    11。テーブル(たとえば、oc_users)から、フィールド(たとえば、uid)のすべてのデータをどのように表示しますか?
    回答: フィールド内のすべてのデータを表示するには、mysqlシェルで次のようにコマンドを使用します。 select uid from oc_users;
    mysql> select uid from oc_users; 
    +-----+ 
    | uid | 
    +-----+ 
    | avi | 
    +-----+ 
    1 row in set (0.03 sec)
    12。 「create_time」や「engine」などのいくつかのフィールドを含むテーブル「xyz」があるとします。フィールド「engine」には、「Memory」と「MyIsam」の2種類のデータが入力されます。エンジンが「MyIsam」であるテーブルから「create_time」と「engine」のみを取得するにはどうすればよいですか?
    回答: mysqlシェルで次のようにコマンドを使用します: select create_time、engine from xyz where engine =” MyIsam”;
    12. mysql> select create_time, engine from xyz where engine="MyIsam";
    
    +---------------------+--------+ 
    | create_time         | engine | 
    +---------------------+--------+ 
    | 2013-12-15 13:43:27 | MyISAM | 
    | 2013-12-15 13:43:27 | MyISAM | 
    | 2013-12-15 13:43:27 | MyISAM | 
    | 2013-12-15 13:43:27 | MyISAM | 
    | 2013-12-15 13:43:27 | MyISAM | 
    | 2013-12-15 13:43:27 | MyISAM | 
    | 2013-12-15 13:43:27 | MyISAM | 
    | 2013-12-15 13:43:27 | MyISAM | 
    | 2013-10-23 14:56:38 | MyISAM | 
    | 2013-10-23 14:56:38 | MyISAM | 
    | 2013-10-23 14:56:38 | MyISAM | 
    | 2013-10-23 14:56:38 | MyISAM | 
    | 2013-10-23 14:56:38 | MyISAM | 
    | 2013-10-23 14:56:38 | MyISAM | 
    | 2013-10-23 14:56:38 | MyISAM | 
    +---------------------+--------+ 
    132 rows in set (0.29 sec)
    13。名前が「tecmint」でweb_addressが「tecmint.com」であるテーブル「xrt」のすべてのレコードをどのように表示しますか?
    回答: mysqlシェルで次のようにコマンドを使用します。select* from xrt where name =“ tecmint” and web_address =“ tecmint.com”;
    mysql> select  * from xrt where name = "tecmint" and web_address = “tecmint.com”;
    +---------------+---------------------+---------------+ 
    | Id                  | name                   | web_address | 
    +---------------+---------------------+----------------+ 
    | 13                 |  tecmint               | tecmint.com  |
    +---------------+---------------------+----------------+ 
    | 41                 |  tecmint               | tecmint.com  |
    +---------------+---------------------+----------------+
    14。名前が「tecmint」ではなく、web_addressが「tecmint.com」であるテーブル「xrt」のすべてのレコードをどのように表示しますか?
    回答: mysqlシェルで次のようにコマンドを使用します。select* from xrt where name!=“ tecmint” and web_address =“ tecmint.com”;
    mysql> select * from xrt where name != ”tecmint” and web_address = ”tecmint.com”;
    
    +---------------+---------------------+---------------+ 
    | Id            | name                | web_address   | 
    +---------------+---------------------+----------------+ 
    | 1173          |  tecmint            | tecmint.com   |
    +---------------+---------------------+----------------+
    15。テーブルの行エントリの総数を知る必要があります。どのようにそれを達成しますか?
    回答: mysqlシェルで次のようにコマンドを使用します: select count(*)from table_name;
    mysql> select count(*) from Tables; 
    
    +----------+ 
    | count(*) | 
    +----------+ 
    |      282 | 
    +----------+ 
    1 row in set (0.01 sec)

    それは今のところすべてです。この「Linuxインタビューの質問」についてどう思いますか ' セクション。コメントセクションで貴重なフィードバックをお寄せください。


    1. SQLServer2008でのPIVOTの使用

    2. MySQLサンプルデータベース

    3. scope_identity()を使用してネストされた一括挿入を実行する最速の方法は?

    4. PostgreSQLで月名を月番号に変換する