Запит sql на створення (зміна) користувача
Відео: Мова запитів 1С для користувачів. Урок №1. Консоль запитів. Довідники
У цій невеликій статті ми розберемо SQL-запит, котрий дозволяє додавати нових користувачів до бази даних, а також змінювати параметри вже існуючих.
Давайте наведу відразу приклад SQL-запиту на створення нового користувача бази даних:
Відео: Запити вставки і зміни в режимі SQL. INSERT і UPDATE
GRANT SELECT , INSERT , UPDATE , CREATE , PROCESS ON *.* TO `MyUser`@`Localhost` IDENTIFIED BY `123456` WITH GRANT OPTION MAX_QUERIES_PER_HOUR 10 MAX_CONNECTIONS_PER_HOUR 0 MAX_UPDATES_PER_HOUR 10
Тепер пояснюю синтаксис команди GRANT. Спочатку йде назва команди, потім ми задаємо, які права будуть у користувача. детально про правах користувачів я вже писав, тому пояснювати це не буду. Після опису привілеїв йде прийменник "ON". Тут можна вказати, до якої таблиці або базі даних даний користувач матиме доступ. В даному випадку ми написали"*. *", Що означає, що даний користувач має доступ до будь-якої таблиці будь-якої бази даних. Ми могли б написати так:"db_name. *", Що означало б, що користувач може отримати доступ до будь-якої таблиці бази даних"db_name". Відразу після опису меж доступу йде прийменник"TO", Після якого ми задаємо ім`я користувача"MyUser"І хост, з якого він буде мати доступ до бази даних. У нашому випадку це"localhost". Після йде"IDENTIFIED BY"І потім відразу пароль. І остання частина - це"WITH GRANT OPTION", В якій ми задаємо обмеження на використання ресурсів. Про них ми також вже говорили в статті: права користувача.
Тепер давайте розберемо SQL-запит на зміну існуючих користувачів:
GRANT SELECT , INSERT , UPDATE , CREATE , PROCESS ON *.* TO `MyUser`@`Test1.ru` IDENTIFIED BY PASSWORD `565491d704013245` WITH GRANT OPTION MAX_QUERIES_PER_HOUR 10 MAX_CONNECTIONS_PER_HOUR 0 MAX_UPDATES_PER_HOUR 10
Як бачите, синтаксис АБСОЛЮТНО такий же, як і на створення нового користувача. Єдина відмінність - це те, що користувач "MyUser"Уже існує. Ось і все.
І наостанок, видалення користувача з бази даних. Тут є один цікавий момент. Справа в тому, що дані користувачів бази даних самі зберігаються в таблицях бази даних. Тому, щоб видалити користувача треба видалити записи у відповідних таблицях. Ось код:
DELETE FROM `user` WHERE CONVERT(User USING cp1251 )= CONVERT(`MyUser` USING cp1251 ) AND CONVERT(Host USING cp1251 )= CONVERT(`Test1.ru` USING cp1251 )
DELETE FROM `db` WHERE CONVERT(User USING cp1251 )= CONVERT(`MyUser` USING cp1251 ) AND CONVERT(Host USING cp1251 )= CONVERT(`Test1.ru` USING cp1251 )
DELETE FROM `tables_priv` WHERE CONVERT(User USING cp1251 )= CONVERT(`MyUser` USING cp1251 ) AND CONVERT(Host USING cp1251 )= CONVERT(`Test1.ru` USING cp1251 )
DELETE FROM `columns_priv` WHERE CONVERT(User USING cp1251 )= CONVERT(`MyUser` USING cp1251 ) AND CONVERT(Host USING cp1251 )= CONVERT(`Test1.ru` USING cp1251 )
Багато, не сперечаюся, але це єдиний спосіб видалити користувача. Або вручну через PHPMyAdmin. Єдине, що треба змінити в цьому шаблоні - це ім`я користувача і хост, а все інше Вам навряд чи доведеться міняти.
Відео: Бази даних для початківців. SQL команда UPDATE в базі даних. SQL запит UPDATE в БД SQLite
Ось ми з Вами і розглянули SQL-запити на створення, редагування і видалення користувачів бази даних.
- Як вибрати неповторювані значення з бази даних.
- Як дізнатися синтаксис sql-запиту через phpmyadmin
- Як ігнорувати вставку записи в sql.
- Запит sql на створення і видалення бази даних
- Випадкова вибірка з бази даних
- Чутливі до регістру пошук для mysql
- Запит sql на вибірку записів
- Створення тригерів в mysql
- Pdo. Частина 3.
- Знайомство з phpmyadmin
- Sql-запити для роботи з таблицями
- Чи не працює sql-запит
- Запит sql на вибірку певного числа записів
- Управління користувачами в phpmyadmin
- Запит sql на створення індексу
- Підключення до бази даних в php
- Оптимізація запитів до mysql
- Відправлення запитів до бази даних в php
- Права (привілеї) користувачів в mysql
- Резервне копіювання mysql бази даних
- Структура бази даних