11 Расширенная база данных MySQL «Вопросы и ответы для собеседования» для пользователей Linux
Мы уже опубликовали две статьи по MySQL, получившие высокую оценку Сообщества Tecmint. Это третья статья из серии интервью по MySQL и шестнадцатая в колонке «Жанр интервью».
- 15 основных вопросов для собеседования по MySQL
- 10 вопросов на собеседовании по базе данных MySQL для продолжающих
Мы пришли сюда благодаря вашей поддержке и стремимся к тому же в будущем. В этой статье мы сосредоточимся на практическом аспекте MySQL, вопросе, актуальном для интервью.
1. Используя оператор SELECT, найдите версию сервера, на котором вы работаете, и распечатайте имя текущей базы данных?
Ответ: Приведенная ниже команда MySQL покажет версию сервера и выбранную в данный момент базу данных.
mysql> SELECT VERSION(), DATABASE();
+-------------------------+------------+
| VERSION() | DATABASE() |
+-------------------------+------------+
| 5.5.34-0ubuntu0.13.10.1 | NULL |
+-------------------------+------------+
1 row in set (0.06 sec)
В столбце базы данных отображается значение NULL, поскольку мы не выбрали ни одну базу данных. Итак, выберите базу данных, как показано в следующей команде.
mysql> use Tecmint;
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> select VERSION(), DATABASE();
+-------------------------+------------+
| VERSION() | DATABASE() |
+-------------------------+------------+
| 5.5.34-0ubuntu0.13.10.1 | tecmint |
+-------------------------+------------+
1 row in set (0.00 sec)
2. ИСПОЛЬЗУЙТЕ оператор NOT (!), чтобы выбрать из таблицы всех пользователей, кроме «SAM», скажите «Tecmint».
Ответ: В приведенном ниже операторе будут показаны все столбцы всех пользователей из таблицы «Tecmint», кроме пользователя «SAM<». /б>'.
mysql> SELECT * FROM Tecmint WHERE user !=SAM;
+---------------------+---------+---------+---------+---------+-------+
| date | user | host | root | local | size |
+---------------------+---------+---------+---------+---------+-------+
| 2001-05-14 14:42:21 | Anthony | venus | barb | venus | 98151 |
| 2001-05-15 08:50:57 | TIM | venus | phil | venus | 978 |
+---------------------+---------+---------+---------+---------+-------+
3. Можно ли реализовать «И» с оператором НЕ (!).
Ответ: Оператор AND используется, когда мы используем (=), а оператор OR используется, когда мы используем (!=). Пример (=) с оператором AND.
mysql> SELECT * FROM mail WHERE user = SAM AND root = phil
Пример (!=) с оператором ИЛИ.
mysql> SELECT * FROM mail WHERE user != SAM OR root != phil
+---------------------+---------+---------+---------+---------+-------+
| date | user | host | root | local | size |
+---------------------+---------+---------+---------+---------+-------+
| 2001-05-14 14:42:21 | Anthony | venus | barb | venus | 98151 |
+---------------------+---------+---------+---------+---------+-------+
- = : означает равно
- != : Не равно
- ! : представляет оператор NOT.
AND и OR рассматриваются как операторы соединения в MySQL.
4. Для чего используется оператор IFNULL() в MySQL?
Ответ: Запрос в MySQL можно точно написать с использованием оператора IFNULL(). Оператор IFNULL() проверяет свой первый аргумент и возвращает значение, если он не равен NULL, или возвращает второй аргумент в противном случае.
mysql> SELECT name, IFNULL(id,'Unknown') AS 'id' FROM taxpayer;
+---------+---------+
| name | id |
+---------+---------+
| bernina | 198-48 |
| bertha | Unknown |
| ben | Unknown |
| bill | 475-83 |
+---------+---------+
5. Вы хотите видеть только определенные строки из набора результатов с начала или конца набора результатов. Как вы это сделаете?
Ответ: Нам нужно использовать предложение LIMIT вместе с ORDER BY для достижения описанного выше сценария.
Показать 1 запись
mysql> SELECT * FROM name LIMIT 1;
+----+------+------------+-------+----------------------+------+
| id | name | birth | color | foods | cats |
+----+------+------------+-------+----------------------+------+
| 1 | Fred | 1970-04-13 | black | lutefisk,fadge,pizza | 0 |
+----+------+------------+-------+----------------------+------+
Показать 5 записей
mysql> SELECT * FROM profile LIMIT 5;
+----+------+------------+-------+-----------------------+------+
| id | name | birth | color | foods | cats |
+----+------+------------+-------+-----------------------+------+
| 1 | Fred | 1970-04-13 | black | lutefisk,fadge,pizza | 0 |
| 2 | Mort | 1969-09-30 | white | burrito,curry,eggroll | 3 |
| 3 | Brit | 1957-12-01 | red | burrito,curry,pizza | 1 |
| 4 | Carl | 1973-11-02 | red | eggroll,pizza | 4 |
| 5 | Sean | 1963-07-04 | blue | burrito,curry | 5 |
+----+------+------------+-------+-----------------------+------+
mysql> SELECT * FROM profile ORDER BY birth LIMIT 1;
+----+------+------------+-------+----------------+------+
| id | name | birth | color | foods | cats |
+----+------+------------+-------+----------------+------+
| 9 | Dick | 1952-08-20 | green | lutefisk,fadge | 0 |
+----+------+------------+-------+----------------+------+
6. Oracle против MySQL. Какой и почему?
Ответ: У обоих есть свои преимущества и недостатки. В настоящее время я предпочитаю MySQL.
Причина выбора MySQL вместо Oracle
- Mysql — это FOSS.
- MySQL портативен.
- MYSQL поддерживает как графический интерфейс, так и командную строку.
- Администрирование MySQL поддерживается через Query Browser.
7. Как получить текущую дату в MySQL?
Ответ: Получить текущую дату в MySQL так же просто, как выполнить приведенный ниже оператор SELECT.
mysql> SELECT CURRENT_DATE();
+----------------+
| CURRENT_DATE() |
+----------------+
| 2014-06-17 |
+----------------+
8. Как вы будете экспортировать таблицы в XML-файл в MySQL?
Ответ: Мы используем опцию «-e» (экспорт) для экспорта таблицы MySQL или всей базы данных в файл XML. Для больших таблиц нам, возможно, придется реализовать это вручную, но для небольших таблиц эту работу могут выполнить такие приложения, как phpMyAdmin.
Это можно сделать с помощью встроенной команды MySQL.
mysql -u USER_NAME –xml -e 'SELECT * FROM table_name' > table_name.xml
Где USER_NAME — это имя пользователя базы данных, table_name — это таблица, которую мы экспортируем в XML, а table_name.xml — это XML-файл, в котором хранятся данные.
9. Что такое MySQL_pconnect? И чем он отличается от MySQL_connect?
Ответ: MySQL_pconnect() открывает постоянное соединение с базой данных MySQL, что просто означает, что база данных не открывается каждый раз, когда загружается страница, и, следовательно, мы не можем используйте MySQL_close(), чтобы закрыть постоянное соединение.
Краткая разница между MySQL_pconnect и MySQL_connect.
В отличие от MySQL_pconnect, MySQL_connect — открывает базу данных каждый раз, когда загружается страница, которую можно закрыть в любое время с помощью инструкции MySQL_close().
10. Вам нужно показать все индексы, определенные в таблице, скажем «пользователь» базы данных, скажем «mysql». Как вы этого добьетесь?
Ответ: Следующая команда покажет все индексы таблицы «user».
mysql> show index from user;
+-------+------------+----------+--------------+-------------+-----------+-------------+----------+--------+------+------------+---------+---------------+
| Table | Non_unique | Key_name | Seq_in_index | Column_name | Collation | Cardinality | Sub_part | Packed | Null | Index_type | Comment | Index_comment |
+-------+------------+----------+--------------+-------------+-----------+-------------+----------+--------+------+------------+---------+---------------+
| user | 0 | PRIMARY | 1 | Host | A | NULL | NULL | NULL | | BTREE | | |
| user | 0 | PRIMARY | 2 | User | A | 4 | NULL | NULL | | BTREE | | |
+-------+------------+----------+--------------+-------------+-----------+-------------+----------+--------+------+------------+---------+---------------+
2 rows in set (0.00 sec)
11. Что такое таблицы CSV?
Ответ: CSV означает значения, разделенные запятыми, то есть значения, разделенные символами. Таблица CSV хранит данные в текстовом и табличном формате. Обычно он содержит одну запись в строке.
Каждая запись разделяется определенными разделителями (запятая, точка с запятой и т. д.), где каждая запись имеет одинаковую последовательность полей. Таблицы CSV наиболее широко используются для хранения телефонных контактов для импорта и экспорта и могут использоваться для хранения любых текстовых данных.
Это все на данный момент. Я снова буду здесь с еще одной интересной статьей, которую вы с удовольствием прочтете. А до тех пор оставайтесь с нами и оставайтесь на связи с Tecmint, а также не забудьте оставить нам свои ценные отзывы в разделе комментариев ниже.