15個 MySQL 基礎面試題,DBA 們準備好了嗎?
此前我們已經有發表過Linux 面試基礎問答之一、二和三共3篇文章,獲得讀者的好評,同時我們得到反饋,有些讀者希望這種互動式學習方法能夠做得更加靈活。心動不如行動,我們這就為您奉上 15個 MySQL 面試題
問題1:你如何確定 MySQL 是否處於執行狀態?
答案: Debian 上執行命令 service mysql status,在RedHat 上執行命令 service mysqld status。然後看看輸出即可。
root@localhost:/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 開啟服務;執行命令 service mysqld stop 停止服務。
root@localhost:/home/avi# service mysql stop
Stopping MySQL database server: mysqld.
root@localhost:/home/avi# service mysql start
Starting MySQL database server: mysqld.
Checking for corrupt, not cleanly closed and upgrade needing tables..
問題3:如何透過 Shell 登入 MySQL?
答案:執行命令 mysql -u root -p
root@localhost:/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:如何列出所有資料庫?
答案:執行命令 show databases;
mysql> show databases;
+--------------------+
| Database |
+--------------------+
| information_schema |
| a1 |
| cloud |
| mysql |
| phpmyadmin |
| playsms |
| sisso |
| test |
| ukolovnik |
| wordpress |
+--------------------+
10 rows in set (0.14 sec)
問題5: 如何切換到某個資料庫並在上面工作?
答案:執行命令 use database_name; 進入名為 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:如何列出某個資料庫內所有表?
答案:在當前資料庫執行命令 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:如何獲取表內所有 Field 物件的名稱和型別?
答案:執行命令 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:如何刪除表?
答案:執行命令 drop table table_name;
mysql> drop table lookup;
Query OK, 0 rows affected (0.00 sec)
問題9:如何刪除資料庫?
答案:執行命令 drop database database-name;
mysql> drop database a1;
Query OK, 11 rows affected (0.07 sec)
問題10:如何檢視錶內所有資料?
答案:執行命令 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 )中獲取一個 field 物件(比如 uid)的所有資料?
答案:執行命令 select uid from oc_users;
mysql> select uid from oc_users;
+-----+
| uid |
+-----+
| avi |
+-----+
1 row in set (0.03 sec)
問題12:假設你有一個名為 ‘xyz’ 的表,它存在多個欄位,如 ‘createtime’ 和 ‘engine’。名為 engine 的欄位由 ‘Memoty’ 和 ‘MyIsam’ 兩種數值組成。如何只列出 ‘createtime’ 和 ‘engine’ 這兩列並且 engine 的值為 ‘MyIsam’?
答案:執行命令 select create_time, engine from xyz where engine = ”MyIsam”;
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:如何列出表 ‘xrt’ 內 name 域值為 ‘tecmint’,web_address 域值為 ‘tecmint.com’ 的所有資料?
答案:執行命令 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:如何列出表 ‘xrt’ 內 name 域值不為 ‘tecmint’,web_address 域值為 ‘tecmint.com’ 的所有資料?
答案:執行命令 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:如何知道表內行數?
答案:執行命令 select count(*) from table_name;
mysql> select count(*) from Tables;
+----------+
| count(*) |
+----------+
| 282 |
+----------+
1 row in set (0.01 sec)
以上是文章的全部內容。這篇‘Linux 面試題’對您有任何幫助嗎?別忘了在下面留言,寫出您的寶貴意見。
via: http://www.tecmint.com/basic-mysql-interview-questions-for-database-administrators/
相關文章
- SAAS為MES準備好了嗎?
- 創業,你準備好了嗎?創業
- 深入理解JVM垃圾收集機制,下次面試你準備好了嗎JVM面試
- 如何準備Java的高階技術面試,java基礎面試筆試題Java面試筆試
- 扒一扒JVM的垃圾回收機制,下次面試你準備好了嗎JVM面試
- 面試準備題型面試
- 程式設計師想月薪過萬?這些面試準備你做好了嗎?程式設計師面試
- 阿里巴巴MySQL DBA面試題阿里MySql面試題
- “槍聲”已響!你準備好了嗎?
- 從天而降的AI“青雲梯”,開發者們準備好了嗎?AI
- 15道基礎滲透測試面試題,附答案!面試題
- AI校園來了,你準備好了嗎?AI
- 《個人資訊保護法》來了,你準備好了嗎?
- 楊建允:志在掘金她經濟的創業者們,你們真的準備好了嗎?創業
- 為Spring Boot面試準備13個主題 - javinpaulSpring Boot面試
- 面試準備面試
- Android9.0新特性曝光,你準備好了嗎Android
- 雙十一到了,你的ERP準備好了嗎?
- 數字化“長征”---CIO你準備好了嗎?
- iPhone Xs/Xs Max今天15點01分開始預購 大家錢準備好了嗎?iPhone
- 個人python面試準備的一些題型Python面試
- 《面試心經》---MySQL基礎面試MySql
- 2019年9大AI趨勢,你準備好了嗎?AI
- Python基礎入門之最常見的15道面試題!Python面試題
- 如何準備面試?面試
- 面試準備(1)面試
- java面試準備Java面試
- 面試準備(一)面試
- java基礎面試題Java面試題
- 挑戰高薪!學習人工智慧,你準備好了嗎?高薪人工智慧
- SFFAI召集人蓄勢待發!你準備好了嗎?AI
- 未來工作報告:亞太地區準備好了嗎
- 面對SQL Azure DBA該做好哪些準備?URSQL
- 常見JVM基礎面試必備JVM面試
- 你準備好了嗎?等保2.0來了,你該做這些萬全準備(一)
- Golang 基礎面試題 01Golang面試題
- Java基礎面試題下Java面試題
- java面試題--基礎上Java面試題