CodeNix

692378482

codenix.sv

admin@codenix.net

Шпаргалка по MySQL

Опубліковано: Категорія: БД Переглядів: 1761

бд mysql

Робота з базами даних

  • Створити базу даних: CREATE DATABASE example;
  • Створити базу даних з заданим кодуванням: CREATE DATABASE example COLLATE utf8_general_ci;
  • Створити базу даних, якщо вона не існує: CREATE DATABASE IF NOT EXISTS example;
  • Видалити базу даних: DROP DATABASE example;
  • Видалити базу даних, якщо вона існує: DROP DATABASE IF EXISTS example;
  • Показати список баз даних: SHOW DATABASES;
  • Перейти до бази даних: USE example;

Робота з таблицями

  • Створити таблицю:
  • CREATE TABLE example (
       id INT NOT NULL AUTO_INCREMENT, 
       name VARCHAR(255) NOT NULL DEFAULT '', 
       cash FLOAT NOT NULL DEFAULT 0, 
       PRIMARY KEY(id) 
    );
  • Переглянути структуру таблиці: DESCRIBE example;
  • Створити таблицю на основі структури іншої таблиці: CREATE TABLE example2 LIKE example;
  • Створити таблицю на основі запиту: CREATE TABLE example2 SELECT * FROM example;
  • Видалити таблицю: DROP TABLE example;
  • Видалити таблицю, якщо вона існує: DROP TABLE IF EXISTS example;
  • Створити тимчасову таблицю на основі запиту: CREATE TEMPORARY TABLE example2 SELECT * FROM example;
  • Видалити тимчасову таблицю: DROP TEMPORARY TABLE example;
  • Модифікація структури таблиці

  • Видалення стовбця: ALTER TABLE example DROP COLUMN cash;
  • Зміна типу стовбця: ALTER TABLE example MODIFY name CHAR(10);
  • Зміна назви стовбця: ALTER TABLE example CHANGE name newname CHAR(30);
  • Додавання стовбця: ALTER TABLE example ADD COLUMN cash FLOAT NOT NULL DEFAULT 0;

Індекси, ключі та унікальні значення

  • Створити індекс: CREATE INDEX iname ON example (name);
  • Видалити індекс: DROP INDEX iname ON example;
  • Створити унікальне значення при створенні таблиці: CONSTRAINT cname UNIQUE KEY(name)
  • Створити первинний ключ при створенні таблиці: PRIMARY KEY (id)
  • Створити зовнішній ключ при створенні таблиці: FOREIGN KEY (example_id) REFERENCES example (id)
  • Створити індекс при створенні таблиці: INDEX iname (name)

Додавання, видалення, редагування записів у таблицях

  • Додавання запису: INSERT INTO example VALUE (NULL, 'value1', 12,3);
  • Завантаження з файлу: LOAD DATA INFILE 'data.txt' INTO TABLE example FIELDS TERMINATED BY '\t' LINES TERMINATED BY '\n';
  • Видалення запису: DELETE FROM example WHERE id = 1;
  • Редагування запису: UPDATE example SET name = 'newValue' WHERE id = 1;

Вибірка даних з таблиці

  • Вибрати всі стовбці: SELECT * FROM example;
  • Вибрати один стовбець: SELECT name FROM example;
  • Вибрати два рядки: SELECT * FROM example LIMIT 2
  • Вибрати два рядки починаючи з другої позиції: SELECT * FROM example LIMIT 2,2;
  • Вибрати дані де id > 3: SELECT * FROM example WHERE id > 3;
  • Вибрати дані, де name = 'value': SELECT * FROM example WHERE name = 'value';
  • Вибрати дані, де id > 3 і id < 6: SELECT * FROM example WHERE id BETWEEN 3 AND 6;
  • Вибрати дані,де cash містить 55: SELECT * FROM example WHERE cash LIKE '%55%';

Агрегування

  • Сума рядків: SELECT SUM(cash) FROM example;
  • Кількість рядків: SELECT COUNT(cash) FROM example;
  • Кількість унікальних рядків: SELECT COUNT(DISTINCT name) FROM example;
  • Конкатенація рядків: SELECT GROUP_CONCAT(name) FROM example;
  • Мінімальне значення: SELECT MIN(cash) FROM example;
  • Максимальне значення: SELECT MAX(cash) FROM example;
  • Вивести суму поля cash згруповану за полем  name: SELECT name, SUM(cash) FROM example GROUP BY name;

Керування користувачами

  • Створити користувача:
    CREATE USER 'test@localhost';
    SET PASSWORD FOR 'test@localhost' = PASSWORD('password'); 

    або

    CREATE USER 'test2@%' IDENTIFIED BY 'password';
    SELECT user, host FROM mysql.user;
  • Редагувати користувача:
    USE mysql;
    UPDATE user set password = PASSWORD('123456') WHERE user = 'test';
  • Добавити права: GRANT SELECT, UPDATE, DELETE ON sbase.* TO 'test@localhost';
  • Добавити всі права: GRANT ALL PRIVILEGES ON sbase.* TO 'test@localhost';
  • Видалити права: REVOKE DELETE ON sbase.* FROM 'test@localhost';
  • Видалити всі права: REVOKE ALL PRIVILEGES ON sbase.* FROM 'test@localhost';

Транзакції

  • Початок блоку транзакції: START TRANSACTION або BEGIN
  • Збереження змін: COMMIT
  • Відміна змін: ROLLBACK

Коментарі