MySQL Основные Руководство по эксплуатации

Данные журнала
MySQL -uroot -proot

Выход из базы данных
Выхода
бросить
Ctrl + D

Просмотр версии базы данных
выберите вариант ();

Отображение времени
выберите сейчас ();

Просмотр текущей базы данных с помощью
выберите базы данных ();

Просмотреть все базы данных
показывают базы данных;

Создание базы данных
создать базу данных питона кодировки = utf8;

Использование базы данных
использование питон;

Удаление базы данных
падение питоной базы данных;

Просмотреть все таблицы в текущей базе данных
шоу таблиц;

创建表
создать таблицу студентов (
идентификатор Int неподписанных первичного ключа auto_increment,
имя VARCHAR (20) NOT NULL,
возраст TINYINT (1),
высокий десятичную (3,2),
Дендер перечисление ( 'M', 'W'),
cls_id ИНТ без знака
);

Смотрите в таблице данных Структура
классов по алфавиту с ;

Структура Посмотреть таблицу для создания
шоу создать таблицу студентов \ G;

Добавить имя поля
ALTER Таблица студентов Добавить Birthday DateTime;.
. Alter Table студентов Добавить is_delete 0 'разрядное значение по умолчанию; // 0' значение бита

Rename имя поля
альтер студентов табличного изменения день рождения рождения дата и время;

Изменение типа поля
альтер студенты таблицы изменение даты рождения не нуль ;

Удалить поле
студентов альтера табличного падение рождения;

Отбросьте таблицы
студентов таблицы падения;

Данные запроса
ВЫБРАТЬ из классов;
ВЫБРАТЬ
. От студентов , где имя = «sima3»;

выберите идентификатор, название от студентов,
к полю наложения
выберите идентификатор как «Нет», название как «имя» от студентов .;
выберите возраст, имя от студентов .;

Вставка данных
вставить в значениях классов (1, 'python20', 70.);
Классы значений вставить в (NULL, 'python19', 60);

Одно вставки
. INSERT INTO Студенты значения (NULL, 'sima2', 18, 1,74, 'М' ,. 1);
. ВСТАВИТЬ в студенты (ID, имя) значения (NULL, 'sima3');

Вставка множества
вставки в студенты значений (NULL, ' oyang', 18, 1,74, 'М', 1), (NULL, 'oyang1', 18, 1,74, 'М', 1);

修改数据
студенты обновления установить возраст = 38;
студенты обновления установить возраст = 88 , где имя = «sima3»;
студенты обновления установить высокий = 1,2, пол = «M» , где имя = «sima3»;

Удаление данных
удалить из студентов , где ID = 2;

Резервное копирование данных
туздЫшпр -uroot - proot Python> python.sql
MySQL -uroot - proot Python <python.sql

Псевдоним к таблице
SELECT , s.id, Студенты S.name из AS S;.
ВЫБОР students.id, Студенты Students.name из AS S;. (Ошибка)

Для того, чтобы повторно
выбрать отчетливый пол от студентов;

比较运算符
выбрать из студентов , где возраст> 18;
выбрать
из студентов , где возраст = <18;
выберите * от студентов , где возраст = 18!;

逻辑运算
выбрать из студентов , где возраст> 18 и возраст <20;
выбрать
из студентов , где возраст <18 или возраст> 20;
выберите * от студентов , где не возраст> 18;

Fuzzy запрос
ВЫБОР от имени WHERE , как Студенческий ван%; (начало)
Оператор SELECT
из WHERE имя как «ван %%» студентов; (содержать)
в ВЫБРАТЬ из WHERE имени , как студенты «__», (два слова названия)
на ВЫБРАТЬ
из студенты , где имя как «__%» ; ( больше , чем название слова)

范围查询
выбрать из студентов , где идентификатор в (1,3);
выбрать
из студентов , где идентификатор между 1 и 3; (包含1 3)
выберите * от студентов , где ID не между 1 и 3; (包含1 3)

空值判断
выбрать из студентов , где высота составляет нуль;
выбрать
из студентов , где высота не равно нулю;

排序где之后
выбрать из порядка студентов по высоте;
выбрать
из порядка студентов по высоте по алфавиту;
выберите * от заказа студентов по возрасту по алфавиту, высота по алфавиту;

Агрегация функция
выбора количества (*) в качестве счета от студентов; ( запишите общее количество записей)
SELECT MAX (Возраст) от студентов .; (максимальный возраст)
ВЫБРАТЬ мин (Возраст) от студентов .; (Младшая)
SELECT SUM (Возраст) от студентов .; (сумма)
ВЫБРАТЬ AVG (Возраст) от студентов .; (средний)
ВЫБОРОМ круглого (AVG (Возраст), 2) от студентов .; (округлая, круглый , не агрегатные функции)

группа分组
выбрать пол из студентов группы по признаку пола; (查询年龄类别)
выберите пол, счетчик ( ) из группы студентов по полу;
выбрать пол, не более (возраст) от студентов , где пол = «М» или пол = «W» группы по полу;
выберите пол, GROUP_CONCAT (имя) от студентов группы по признаку пола; (GROUP_CONCAT对应的名字连接)
выберите пол, средний (возраст) из студентов группы по признаку пола;
выбрать пол, Avg (возраст) , как средн из студентов группы по признаку пола , имеющего средн> 19; (分组后的年龄大于19岁)
выберите пола, средний (возраст), GROUP_CONCAT (имя) от студентов группы по признаку пола;
выберите пол, граф (
) , как с, GROUP_CONCAT (имя) из группы студентов по половому признаку , имеющих с> 2;
выбрать пол, граф (*) от студентов группы по полу с накопительным пакетом; (总计)

предельные ограничения , записанные (написано в последнем SQL)
ВЫБРАТЬ от студентов 0,2 предела;. (0 старта, после 2 записей)
ВЫБРАТЬ
от студентов предел 2.

Стандартный SQL:
SELECT , поле из таблицы [где] [группа по] [ порядку] [предел]

Вкладка
ВЫБРАТЬ от студентов 0,2 предела;.
ВЫБРАТЬ
(количество вкладок в запрос, п первые несколько страниц, м), от предела студентов ( п-1) * м, м

连接(на关联表的条件где查询条件)
выбрать из студентов внутренних классов присоединиться, (笛卡尔积)
выбрать
из студентов внутренних классов присоединиться где students.cls_id = classes.id;
выберите students.name, classes.name от студентов внутреннего объединения классов , где students.cls_id = classes.id;
выберите s.name, c.name от студентов, Внутренные присоединиться классы как с где s.cls_id = c.id;
выберите s.name, c.name от студентов как с, классов , как с где s.cls_id = c.id;
выберите s. , c.name от студентов , как S внутреннее объединение классов как с на s.cls_id = c.id;
выбрать
из студентов внутренних классов , где students.cls_id = classes.id порядок соединения по classes.id;
выберите i.code, i.price, f.note_info из Infos я, фокус F , где i.id = f.id;

Внешнее подключение: никакие данные не найдены в основной таблице из таблицы, из таблицы , которая соответствует NULL
слева внешний разъем (таблица на левой основной таблицы, в таблице справа от таблицы)
. SELECT * от Join классов осталось студентов Students.cls_id = ON ГДЕ classes.id classes.name равно нулю;

Правые внешнее объединение (право на основе таблиц таблицы, таблицы из таблицы слева)
SELECT * FROM Соединить правый Студенты Students.cls_id ON = classes.id классов.

自连接
выбрать * из районов в городе внутреннего объединения районов провинции на city.pid = province.aid где province.title = «广西省»;

Подзапросов
1, подзапрос возвращает только один данные, называются скалярными подзапросами
ВЫБРАТЬ из студентов Где высота> (SELECT , AVG (высота) от студентов.);.
2, результат равен единица, то есть множество строк, называемый столбец подзапроса
ВЫБРАТЬ
из студенты , где идентификатор в (выберите идентификатор из классов);

去重
выберите cate_name из группы товаров по cate_name;
выберите отчетливый cate_name от товаров;

выбрать * из товаров, где цена> (выберите среднее (цена) из товаров) Сортировать по цене по алфавиту;

выберите * от товаров
внутреннего соединения
(выберите cate_name, макс (цена) в качестве MAX_PRICE из группы товаров по cate_name) как max_price_goods
на goods.cate_name = max_price_goods.cate_name и goods.price = max_price_goods.max_price;

分组插入
вставки в goods_cates (имя) (выберите cate_name из группы товаров по cate_name);
обновление товаров внутреннее соединение goods_cates на goods.cate_name = goods_cates.name набор goods.cate_name = goods_cates.id;

альтер таблица товаров изменить cate_name cate_id ИНТ без знака не нуль;

Ограничение внешнего ключа: первичный ключ таблицы в другой таблице происходит, первичный ключ другой внешний ключ таблицы, не может существовать без внешнего ключа данных
ALTER Таблица товаров надстроек внешнего ключа (cate_id) Ссылки goods_cates (ID);
ALTER Таблица товаров ДОБАВЛЯТЬ иностранных Основная (Brand_ID) Ссылка goods_brands (ID);
Create Table goods_test (
ID Int БЕЗЗНАКОВОГО Первичный ключ AUTO_INCREMENT,
имя VARCHAR (150) NOT NULL,
cate_id INT неподписанных NOT NULL,
Brand_ID ИНТ без знака не нулевые,
внешний ключ (cate_id) Ссылка goods_cates (ID ),
внешний ключ (Brand_ID) Ссылки goods_brands (ID)
);
внешний ключ ALTER Таблица goods_test падение имя внешнего ключа (показать создать таблицу goods_test);

Вид: только оператор запроса результат выполнения типы полей и ограничения, комплекс Sql виртуальный стол пакет
выбрать goods.name gname, goods_cates.name gcname, goods_brands.name gbname от товаров внутреннего соединения goods_cates на goods.cate_id = goods_cates.id внутренний присоединиться к goods_brands на goods.brand_id = goods_brands.id,
создать
создавание View v_goods_info AS
ЗЕЬЕСТ goods.name gname, goods_cates.name GCName, goods_brands.name gbname Товар от
Inner goods.cate_id соединить goods_cates ON = goods_cates.id
Inner ON соединить goods_brands товары. Brand_ID = goods_brands.id;
см
Показать таблицы,
в SELECT * из v_goods_info;
удаление
вид капли v_goods_info;

Индекс: (BTREE)
Предпосылка 1: Для регулярной необходимости обновления и вставки таблицы, где нет необходимости в индексе заявления редко используется отдельно
для просмотра индекса шоу от товаров,
создает создать индекс idx_1 на товарах (название ( 150)) ,
удалить индекс падения индекса idx_1 на товары;

набор профилирование = 1 (время наблюдения)
Показать профили, просматривать время

Управление пользователями:
Просмотреть все пользователи: выберите хост, пользователь с пользователем,
создать пользователя: создать пользователя «wufj1» @ « %» определены «wufj1»,
уполномоченный :. Грант выбрать на jing_dong * к «wufj1» @ «%»; ( несколько баз данных, выполнить несколько операторов)
привилегию: выберите предупреждение падение обновления вставки удалите выберите => все привилегии

指定ф授权: предоставить все привилегии . к «root'@'10.3.32.61» идентифицированных «корень» WITH GRANT OPTION ;;

所以 权限: предоставить все на wufj * к 'wufj' @ '%', идентифицированный 'wufj' WITH GRANT OPTION ;;.

Обновить разрешение: флеш привилегия;
просмотреть разрешения пользователей: показать гранты для «wufj1» @ «%»;

Изменить разрешение: предоставление выбора, обновление jing_dong * к «wufj1» @ «%» с опцией грантов ;.

Изменение пароля: альтер пользователя «wufj1» @ «%» определены «123»;

删除用户:
падение пользователя 'wufj1' @ '%';
удалить из пользователя , где хост = 'wufj1' '%' и User =

Копирование данных между различными таблицами базы данных
INSERT INTO sw_setname SELECT * FROM wangsunew.sw_setname;

рекомендация

отblog.51cto.com/13025012/2482112