Skip to content

Instantly share code, notes, and snippets.

@corocoto
Last active October 19, 2018 15:21
Show Gist options
  • Save corocoto/5dbfc5ee5d43caff0ceb8d09369916db to your computer and use it in GitHub Desktop.
Save corocoto/5dbfc5ee5d43caff0ceb8d09369916db to your computer and use it in GitHub Desktop.
Работа с MySQL в командной строке

Работа с MySQL в командной строке

  1. Подключение к серверу MySQL в консоли

    mysql -u root -p
  2. Отображение уже существующих БД в MySQL

    SHOW DATABASES;
  3. Выход из консоли MySQL

    exit
  4. Создание новой БД и указание кодировки

    CREATE DATABASE [название БД] CHARACTER SET utf8 COLLATE utf8_general_ci;
  5. Выбор определенной БД, с которой будем работать в последующем

    USE [название БД];
  6. Установка пароля для пользователя root

    SET PASSWORD FOR 'root'@'localhost'=PASSWORD('указываем пароль');
  7. Создание таблицы

    CREATE TABLE [название таблицы] (
           
          id INT UNSIGNED NOT NULL AUTO_INCREMENT, 
          name VARCHAR(400) NOT NULL, 
          genre VARCHAR(255) NOT NULL, 
          duration SMALLINT UNSIGNED NOT NULL, 
          PRIMARY KEY(id)
          );
  8. Отображение созданной таблицы

    DESC [название таблицы];
  9. Заносим необходимые данные в таблицу

    INSERT INTO [название таблицы] (name, genre, duration)
          VALUES ('Логан', 'Триллер', 141), ('Остров проклятых', 'Детектив', 138), ('Престиж', 'Триллер', 125);
  10. Просмотр необходимых данных, содержащихся в таблице

    SELECT * FROM [название таблицы];
  11. Переименование столбца и измение его типа данных, а также изменение доп. параметров

    ALTER TABLE [название таблицы] CHANGE [старое название] [новое название] VARCHAR(400) NOT NULL;
  12. Переименование таблицы

    ALTER TABLE [старое название] RENAME [новое название];
  13. Добавление нового столбца

    ALTER TABLE [название таблицы] ADD [название столбца] [тип данных];
    Например, ALTER TABLE movies ADD `release` INT;

    Слово release записано в кавычках, потому что это ключевое слово, без кавычек выведется ошибка

  14. Изменение типа данных у столбца

    ALTER TABLE [название таблицы] MODIFY [название столбца] [тип данных];
    Например, ALTER TABLE movies MODIFY `release` YEAR NOT NULL;
  15. Удаление столбца

    ALTER TABLE [название таблицы] DROP [название столбца];
  16. Удаление таблицы

    DROP TABLE [название таблицы];
  17. Примеры сортировок в таблице

    • SELECT title, genre FROM movies WHERE duration>130;
    • SELECT * FROM movies WHERE duration IN (130,141); 
    • SELECT * FROM movies WHERE duration BETWEEN 120 AND 140;
    • SELECT * FROM movies WHERE title LIKE '%остров%';
  18. Изменить/обновить

    UPDATE movies SET `release` = '2017' WHERE title = 'Логан';
  19. Удалить строку из таблицы

    DELETE FROM movies WHERE id=2
  20. Создание нового пользователя MySQL

    CREATE USER 'имя_пользователя'@'хост_или_IP_машины' IDENTIFIED BY 'пароль_пользователя';
    Например, CREATE USER 'Bob'@'localhost' IDENTIFIED BY '123';
  21. Задание прав пользователю для выполнения любых действий

    GRANT ALL PRIVILEGES ON имя_базы_данных.* TO 'имя_пользователя'@'хост_или_IP_машины';
    Например, GRANT ALL PRIVILEGES ON movies.* TO 'Bob'@'localhost';
  22. Создание суперюзера, т.е. обладающего глобальными привилегиями для осуществления различных действий со всеми БД на сервере

    GRANT ALL ON *.* TO 'имя_пользователя'@'хост_или_IP_машины';
  23. Сброс всех прав у пользователя

    REVOKE ALL PRIVILEGES ON *.* FROM 'имя_пользователя'@'хост_или_IP_машины';
    Например, REVOKE ALL PRIVILEGES ON *.* FROM 'Bob'@'localhost';
  24. Изменить пароль пользователя MySQL

    SET PASSWORD FOR 'имя_пользователя'@'хост_или_IP_машины' = PASSWORD('новый_пароль');
          FLUSH PRIVILEGES;
  25. Скопировать таблицу в другую базу данных или просто создать копию в текущей

    Данные команды позволяют скопировать структуру таблицы и её данные вместе с индексами и триггерами таблиц

    CREATE TABLE новое_имя_таблицы LIKE старое_имя_таблицы;
          INSERT новое_имя_таблицы SELECT * FROM старое_имя_таблицы;
  26. Если вам нужны просто данные и структура (имена полей и их типов данных)

    CREATE TABLE новое_имя_таблицы AS SELECT * FROM старое_имя_таблицы;
  27. Информация о полях таблицы БД в табличном виде с указанием названия поля, типа данных, наличия ключей, значением по умолчанию и т.д.

    SHOW FULL COLUMNS FROM имя_таблицы;
  28. Удалить все данные из таблицы

    TRUNCATE имя_таблицы;
  29. Удалить пользователя MySQL

    DROP USER IF EXISTS имя_пользователя;
  30. Вывод на экран список всех существующих на текущем MySQL сервере пользователей

    SELECT User FROM mysql.user;
  31. Просмотр хостов, с которых пользователи могут коннектиться к серверу, и список привилегий

    SELECT User, Host, Grant_priv FROM mysql.user;
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment