この記事の前に、「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インタビューの質問」についてどう思いますか ' セクション。コメントセクションで貴重なフィードバックをお寄せください。