Поиск по сайту:

11 Расширенная база данных MySQL «Вопросы и ответы для собеседования» для пользователей Linux


Мы уже опубликовали две статьи по MySQL, получившие высокую оценку Сообщества Tecmint. Это третья статья из серии интервью по MySQL и шестнадцатая в колонке «Жанр интервью».

  1. 15 основных вопросов для собеседования по MySQL
  2. 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 | 
+---------------------+---------+---------+---------+---------+-------+
  1. = : означает равно
  2. != : Не равно
  3. ! : представляет оператор 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
  1. Mysql — это FOSS.
  2. MySQL портативен.
  3. MYSQL поддерживает как графический интерфейс, так и командную строку.
  4. Администрирование 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, а также не забудьте оставить нам свои ценные отзывы в разделе комментариев ниже.