SQL Для Начинающих
SQL Server Management Studio Обновление SSMS 2016
SQL Урок 11 | Нормализация таблиц для школьной БД
SQL Урок 12 | Проектируем таблицы для Школьной БД
SQL Урок 13 | Создание множества отношений между таблицами и нормализация БД
SQL Урок 14 | UPDATE и DELETE, а также добавляем данные в таблицы ч/з INSERT FROM
#sql
👉 @database_info
SQL Server Management Studio Обновление SSMS 2016
SQL Урок 11 | Нормализация таблиц для школьной БД
SQL Урок 12 | Проектируем таблицы для Школьной БД
SQL Урок 13 | Создание множества отношений между таблицами и нормализация БД
SQL Урок 14 | UPDATE и DELETE, а также добавляем данные в таблицы ч/з INSERT FROM
#sql
👉 @database_info
👍3
Как создать временную таблицу в mysql?
Используйте CREATE TEMPORARY и DROP TEMPORARY чтобы создать или удалить временную таблицу в MySQL, ниже пример запроса как пример:
# Удалить временную таблицу в
#mysql
👉 @database_info
Используйте CREATE TEMPORARY и DROP TEMPORARY чтобы создать или удалить временную таблицу в MySQL, ниже пример запроса как пример:
CREATE TEMPORARY TABLE user
(
firstname VARCHAR(255) NOT NULL,
company VARCHAR(150) NOT NULL
);# Удалить временную таблицу в
MySQL
DROP TEMPORARY TABLE user;#mysql
👉 @database_info
👍5
Как посмотреть представление в mysql?
Чтобы посмотреть список всех представлений views в MySQL Вы можете использовать запрос ниже:
#mysql
👉 @database_info
Чтобы посмотреть список всех представлений views в MySQL Вы можете использовать запрос ниже:
SELECT TABLE_SCHEMA, TABLE_NAME
FROM information_schema.tables
WHERE TABLE_TYPE LIKE 'VIEW';#mysql
👉 @database_info
SQL Для Начинающих
SQL Создание бэкапа - копии базы данных - резервное копирование БД
SQL Урок 15 | Вложенные запросы и оператор UNION
SQL Урок 16 | Работаем с данными
SQL Урок 17 | Решаем задачу с оператором HAVING COUNT
SQL Урок 18 | LEFT и RIGHT JOIN, а также CASE
#sql
👉 @database_info
SQL Создание бэкапа - копии базы данных - резервное копирование БД
SQL Урок 15 | Вложенные запросы и оператор UNION
SQL Урок 16 | Работаем с данными
SQL Урок 17 | Решаем задачу с оператором HAVING COUNT
SQL Урок 18 | LEFT и RIGHT JOIN, а также CASE
#sql
👉 @database_info
👍4
Смена пароля root MySQL
//способ 1
$mysqladmin -u root password [новый пароль]
//способ 2
$mysqladmin -u root -p [старый пароль] newpass [нажмите Enter и введите новый пароль, затем опять нажмите Enter]
//способ 3
//Введите команду mysql
$mysql -u root -p
//Дождитесь всплывающего окна и введите:
$use mysql;
//затем введите имя пользователя, для которого вы хотите изменить пароль
$update user set password=PASSWORD (здесь новый пароль) where User = 'username';
//далее обновление привилегий для пользователей
$flush privileges;
$quit
#mysql
👉 @database_info
//способ 1
$mysqladmin -u root password [новый пароль]
//способ 2
$mysqladmin -u root -p [старый пароль] newpass [нажмите Enter и введите новый пароль, затем опять нажмите Enter]
//способ 3
//Введите команду mysql
$mysql -u root -p
//Дождитесь всплывающего окна и введите:
$use mysql;
//затем введите имя пользователя, для которого вы хотите изменить пароль
$update user set password=PASSWORD (здесь новый пароль) where User = 'username';
//далее обновление привилегий для пользователей
$flush privileges;
$quit
#mysql
👉 @database_info
👍2
Тюнинг MySQL-сервера: сжатие таблиц InnoDB
В больших проектах со временем размер баз данных разрастается до множества гигабайт (терабайт), поэтому всегда остается открытым вопрос как с этим бороться.
Известно несколько вариантов решения данной проблемы — уменьшение объема данных (грубо говоря, удаление старых записей), разделение одной базы данных на несколько, шардирование, приобретение нового оборудования (новых серверов или жестких дисков большего объема). Далее
#mysql
👉 @database_info
В больших проектах со временем размер баз данных разрастается до множества гигабайт (терабайт), поэтому всегда остается открытым вопрос как с этим бороться.
Известно несколько вариантов решения данной проблемы — уменьшение объема данных (грубо говоря, удаление старых записей), разделение одной базы данных на несколько, шардирование, приобретение нового оборудования (новых серверов или жестких дисков большего объема). Далее
#mysql
👉 @database_info
Telegraph
Тюнинг MySQL-сервера: сжатие таблиц InnoDB
В больших проектах со временем размер баз данных разрастается до множества гигабайт (терабайт), поэтому всегда остается открытым вопрос как с этим бороться. Известно несколько вариантов решения данной проблемы — уменьшение объема данных (грубо говоря, удаление…
👍4
Learning SQL
Автор: Alan Beaulieu (2020)
По мере того, как новые данные попадают в вашу компанию, вам нужно срочно их обрабатывать и хранить, и SQL - лучший инструмент для этой работы. В последнем издании этого вводного руководства автор помогает разработчикам освоиться с основами SQL для проектирования баз данных, выполнения административных задач и создания отчетов. В книге вы найдете новые главы по SQL и большим данным, аналитическим функциям и работе с очень большими базами данных.
Во время чтения книги вы:
✔️Быстро изучите основы SQL и несколько продвинутых методов работы;
✔️Научитесь использовать операторы для генерации, обработки и извлечения данных;
✔️Научитесь созданию объектов баз данных, таких как таблицы, индексы и ограничения;
✔️Узнаете, как наборы данных взаимодействуют с запросами, поймете важность подзапросов;
✔️Изучите преобразование и манипулирование данными со встроенными функциями SQL и использование условной логики в операторах данных.
Скачать книгу
👉 @database_info
Автор: Alan Beaulieu (2020)
По мере того, как новые данные попадают в вашу компанию, вам нужно срочно их обрабатывать и хранить, и SQL - лучший инструмент для этой работы. В последнем издании этого вводного руководства автор помогает разработчикам освоиться с основами SQL для проектирования баз данных, выполнения административных задач и создания отчетов. В книге вы найдете новые главы по SQL и большим данным, аналитическим функциям и работе с очень большими базами данных.
Во время чтения книги вы:
✔️Быстро изучите основы SQL и несколько продвинутых методов работы;
✔️Научитесь использовать операторы для генерации, обработки и извлечения данных;
✔️Научитесь созданию объектов баз данных, таких как таблицы, индексы и ограничения;
✔️Узнаете, как наборы данных взаимодействуют с запросами, поймете важность подзапросов;
✔️Изучите преобразование и манипулирование данными со встроенными функциями SQL и использование условной логики в операторах данных.
Скачать книгу
👉 @database_info
Telegram
Библиотека программиста (книги для разработчиков)
Learning SQL
Автор: Alan Beaulieu (2020)
Автор: Alan Beaulieu (2020)
👍1
Как удалить столбец SQLite
#SQLite
👉 @database_info
sqlite> .tables
sqlite> .schema person
CREATE TABLE person(
id INTEGER PRIMARY KEY,
first_name TEXT,
last_name TEXT,
age INTEGER,
height INTEGER
);
sqlite> CREATE TABLE new_person(
...> id INTEGER PRIMARY KEY,
...> first_name TEXT,
...> last_name TEXT,
...> age INTEGER
...> ) ;
sqlite> .tables
sqlite> INSERT INTO new_person
...> SELECT id, first_name, last_name, age FROM person ;
sqlite> DROP TABLE IF EXISTS person ;
sqlite> ALTER TABLE new_person RENAME TO person ;#SQLite
👉 @database_info
👍4
Скрипт для создания бекапов БД с помощью Percona XtraBackup
Скрипт предназначен для создания резервных копий баз данных (в субботу — полная резервная копия, в остальные дни — инкрементальные).
#Percona #XtraBackup
👉 @database_info
Скрипт предназначен для создания резервных копий баз данных (в субботу — полная резервная копия, в остальные дни — инкрементальные).
#!/bin/bash
# Скрипт делает резервную копию БД
# если сервер MySQL не запущен, то выходим
MYADMIN="/usr/bin/mysqladmin --defaults-file=/etc/mysql/debian.cnf"
ping_output=`$MYADMIN ping 2>&1`; ping_alive=$(( ! $? ))
if [ $ping_alive = 0 ]; then
logger -t mysql-backup 'MYADMIN ping FAIL'
exit
fi
BACKUP="/usr/bin/innobackupex-1.5.1 --no-lock"
workdir="/usr/local/tmp/"
DofW=`date +'%u'`
full=0
incr=0
# если суббота - делаем полный бекап, иначе инкрементальный
if [ "$DofW" = "6" ];
then
full=1
logger -t mysql_backup 'make full backup'
else
incr=1
logger -t mysql_backup 'make incremental backup'
fi
if [ $full == '1' ];
then
logger -t mysql_backup 'start mysql full backup'
dump="mysql"`date +%Y%m%d`"full.tar"
ext=".gz"
# при распаковке использовать ключ -i, например tar -ixvf backup.tar
$BACKUP --user=USER --password=PASSWORD --stream=tar ./ | pigz -p 5 > ${workdir}${dump}${ext}
logger -t mysql_backup 'finish mysql full backup, start rsync'
# с помощью rsync копируем резервную копию на удаленный сервер
rsync --bwlimit=5000 ${workdir}${dump}${ext} 192.168.0.4::backup
logger -t mysql_backup 'finish rsync'
rm -f ${workdir}/mysql*
fi
if [ $incr == '1' ];
then
logger -t mysql_backup 'start mysql incremental backup'
# получаем значение LSN из последнего лога бекапа
LSN=`cat /usr/local/sbin/innobackupex.log | grep "The latest check point (for incremental):" | awk -F"'" '{print $2}' | tail -n 1`
echo $LSN > /usr/local/sbin/lsn
dump="mysql"`date +%Y%m%d`"incr"
archiv="mysql"`date +%Y%m%d`"incr.tar.gz"
ext=".tar.gz"
$BACKUP --user=USER --password=PASSWORD --incremental --incremental-lsn=$LSN --stream=xbstream ./ > ${workdir}${dump}.xbstream
logger -t mysql_backup 'finish mysql incremental backup, start tar'
cd ${workdir}
`tar -czf $archiv $dump.xbstream`
rm -f ${workdir}/*.xbstream
logger -t mysql_backup 'finish tar, start rsync'
# с помощью rsync копируем резервную копию на удаленный сервер
rsync --bwlimit=5000 ${workdir}${dump}${ext} 192.168.0.4::backup
logger -t mysql_backup 'finish rsync'
rm -f ${workdir}/mysql*
fi
#Percona #XtraBackup
👉 @database_info
🔥4👍1
Копируем базу mysql
#mysql
👉 @database_info
mysqldump -u root -p db1 > dump.sql
mysqladmin -u root -p create db2
mysql -u root -p db2 < dump.sql#mysql
👉 @database_info
👍1
Подборка каналов для IT специалистов 🎯
Системное администрирование 📌
https://news.1rj.ru/str/tipsysdmin Типичный Сисадмин (фото железа, было/стало)
https://news.1rj.ru/str/sysadminof Книги для админов, полезные материалы
https://news.1rj.ru/str/i_odmin Все для системного администратора
https://news.1rj.ru/str/i_odmin_book Библиотека Системного Администратора
https://news.1rj.ru/str/i_odmin_chat Чат системных администраторов
https://news.1rj.ru/str/i_DevOps DevOps: Пишем о Docker, Kubernetes и др.
Вакансии 📌
https://news.1rj.ru/str/sysadmin_rabota Системный Администратор
https://news.1rj.ru/str/progjob Вакансии в IT
Чат программистов📌
https://news.1rj.ru/str/developers_ru
Excel лайфхак📌
https://news.1rj.ru/str/Excel_lifehack
GitHub Сообщество 📌
https://news.1rj.ru/str/Githublib Интересное из GitHub
CodePen 📌
https://news.1rj.ru/str/codepen_1 Сообщество пользователей CodePen
Базы данных (Data Base) 📌
https://news.1rj.ru/str/database_info Все про базы данных
Программирование Python 📌
https://news.1rj.ru/str/pythonofff Python академия. Учи Python быстро и легко🐍
https://news.1rj.ru/str/BookPython Библиотека Python разработчика
https://news.1rj.ru/str/python_real Python подборки на русском и английском
Мобильная разработка: iOS, Android 📌
https://news.1rj.ru/str/developer_mobila Мобильная разработка
Фронтенд разработка 📌
https://news.1rj.ru/str/frontend_1 Подборки для frontend разработчиков
Java разработка 📌
https://news.1rj.ru/str/BookJava Библиотека Java разработчика
Разработка игр 📌
https://news.1rj.ru/str/game_devv Все о разработке игр
Библиотеки 📌
https://news.1rj.ru/str/book_for_dev Книги для программистов Rus
https://news.1rj.ru/str/java_360 Книги по Java Rus
https://news.1rj.ru/str/python_360 Книги по Python Rus
https://news.1rj.ru/str/programmist_of Книги по программированию
https://news.1rj.ru/str/proglb Библиотека программиста
https://news.1rj.ru/str/bfbook Книги для программистов
БигДата, машинное обучение 📌
https://news.1rj.ru/str/bigdata_1 Data Science, Big Data, Machine Learning, Deep Learning
Программирование 📌
https://news.1rj.ru/str/bookflow Лекции, видеоуроки, доклады с IT конференций
https://news.1rj.ru/str/coddy_academy Полезные советы по программированию
QA, тестирование 📌
https://news.1rj.ru/str/testlab_qa Библиотека тестировщика
Шутки программистов 📌
https://news.1rj.ru/str/itumor Шутки программистов
Защита, взлом, безопасность 📌
https://news.1rj.ru/str/thehaking Канал о кибербезопасности
Книги, статьи для дизайнеров 📌
https://news.1rj.ru/str/ux_web Статьи, книги для дизайнеров
https://news.1rj.ru/str/arhitekturamira World Architecture
Английский 📌
https://news.1rj.ru/str/UchuEnglish Английский с нуля
Математика 📌
https://news.1rj.ru/str/Pomatematike Канал по математике
Арбитраж трафика 📌
https://news.1rj.ru/str/partnerochkin CPA и арбитраж трафика
Крипта 📌
https://news.1rj.ru/str/bitkoinoff Новости криптовалют
DeepFake 📌
https://news.1rj.ru/str/deepfakenow Публикуем deepfake видео
Мир технологий 📌
https://news.1rj.ru/str/mir_teh Видео из мира технологий
Системное администрирование 📌
https://news.1rj.ru/str/tipsysdmin Типичный Сисадмин (фото железа, было/стало)
https://news.1rj.ru/str/sysadminof Книги для админов, полезные материалы
https://news.1rj.ru/str/i_odmin Все для системного администратора
https://news.1rj.ru/str/i_odmin_book Библиотека Системного Администратора
https://news.1rj.ru/str/i_odmin_chat Чат системных администраторов
https://news.1rj.ru/str/i_DevOps DevOps: Пишем о Docker, Kubernetes и др.
Вакансии 📌
https://news.1rj.ru/str/sysadmin_rabota Системный Администратор
https://news.1rj.ru/str/progjob Вакансии в IT
Чат программистов📌
https://news.1rj.ru/str/developers_ru
Excel лайфхак📌
https://news.1rj.ru/str/Excel_lifehack
GitHub Сообщество 📌
https://news.1rj.ru/str/Githublib Интересное из GitHub
CodePen 📌
https://news.1rj.ru/str/codepen_1 Сообщество пользователей CodePen
Базы данных (Data Base) 📌
https://news.1rj.ru/str/database_info Все про базы данных
Программирование Python 📌
https://news.1rj.ru/str/pythonofff Python академия. Учи Python быстро и легко🐍
https://news.1rj.ru/str/BookPython Библиотека Python разработчика
https://news.1rj.ru/str/python_real Python подборки на русском и английском
Мобильная разработка: iOS, Android 📌
https://news.1rj.ru/str/developer_mobila Мобильная разработка
Фронтенд разработка 📌
https://news.1rj.ru/str/frontend_1 Подборки для frontend разработчиков
Java разработка 📌
https://news.1rj.ru/str/BookJava Библиотека Java разработчика
Разработка игр 📌
https://news.1rj.ru/str/game_devv Все о разработке игр
Библиотеки 📌
https://news.1rj.ru/str/book_for_dev Книги для программистов Rus
https://news.1rj.ru/str/java_360 Книги по Java Rus
https://news.1rj.ru/str/python_360 Книги по Python Rus
https://news.1rj.ru/str/programmist_of Книги по программированию
https://news.1rj.ru/str/proglb Библиотека программиста
https://news.1rj.ru/str/bfbook Книги для программистов
БигДата, машинное обучение 📌
https://news.1rj.ru/str/bigdata_1 Data Science, Big Data, Machine Learning, Deep Learning
Программирование 📌
https://news.1rj.ru/str/bookflow Лекции, видеоуроки, доклады с IT конференций
https://news.1rj.ru/str/coddy_academy Полезные советы по программированию
QA, тестирование 📌
https://news.1rj.ru/str/testlab_qa Библиотека тестировщика
Шутки программистов 📌
https://news.1rj.ru/str/itumor Шутки программистов
Защита, взлом, безопасность 📌
https://news.1rj.ru/str/thehaking Канал о кибербезопасности
Книги, статьи для дизайнеров 📌
https://news.1rj.ru/str/ux_web Статьи, книги для дизайнеров
https://news.1rj.ru/str/arhitekturamira World Architecture
Английский 📌
https://news.1rj.ru/str/UchuEnglish Английский с нуля
Математика 📌
https://news.1rj.ru/str/Pomatematike Канал по математике
Арбитраж трафика 📌
https://news.1rj.ru/str/partnerochkin CPA и арбитраж трафика
Крипта 📌
https://news.1rj.ru/str/bitkoinoff Новости криптовалют
DeepFake 📌
https://news.1rj.ru/str/deepfakenow Публикуем deepfake видео
Мир технологий 📌
https://news.1rj.ru/str/mir_teh Видео из мира технологий
🔥1
Объединения: создавая столбцы одинаковых типов, не забывайте про индексы
MySQL требует знания того, как оптимизировать операции JOIN. Поэтому, если у вас есть приложение с большим числом JOIN-запросов, то столбцы следует проиндексировать в обеих таблицах. Убедитесь, что столбцы, которые вы объединяете одного типа и имеют одинаковую кодировку.
В противном случае, MySQL попытается провести полное сканирование таблицы. Всегда, когда вам требуется извлечь информацию из ваших таблиц, просто модифицируйте запросы так, чтобы получать информацию из определенных столбцов.
#mysql
👉 @database_info
MySQL требует знания того, как оптимизировать операции JOIN. Поэтому, если у вас есть приложение с большим числом JOIN-запросов, то столбцы следует проиндексировать в обеих таблицах. Убедитесь, что столбцы, которые вы объединяете одного типа и имеют одинаковую кодировку.
В противном случае, MySQL попытается провести полное сканирование таблицы. Всегда, когда вам требуется извлечь информацию из ваших таблиц, просто модифицируйте запросы так, чтобы получать информацию из определенных столбцов.
#mysql
👉 @database_info
👍4
Размер базы данных PostgreSQL
Чтобы получить физический размер файлов (хранилища) базы данных, используем следующий запрос:
Результат будет представлен как число вида 41809016.
current_database() — функция, которая возвращает имя текущей базы данных. Вместо неё можно ввести имя текстом:
Для того, чтобы получить информацию в человекочитаемом виде, используем функцию pg_size_pretty:
В результате получим информацию вида 40 Mb.
#PostgreSQL
👉 @database_info
Чтобы получить физический размер файлов (хранилища) базы данных, используем следующий запрос:
SELECT pg_database_size(current_database());Результат будет представлен как число вида 41809016.
current_database() — функция, которая возвращает имя текущей базы данных. Вместо неё можно ввести имя текстом:
SELECT pg_database_size('my_database');Для того, чтобы получить информацию в человекочитаемом виде, используем функцию pg_size_pretty:
SELECT pg_size_pretty(pg_database_size(current_database()));В результате получим информацию вида 40 Mb.
#PostgreSQL
👉 @database_info
👍8
Перечень таблиц PostgreSQL
Иногда требуется получить перечень таблиц базы данных. Для этого используем следующий запрос:
information_schema — стандартная схема базы данных, которая содержит коллекции представлений (views), таких как таблицы, поля и т.д. Представления таблиц содержат информацию обо всех таблицах баз данных.
Запрос, описанный ниже, выберет все таблицы из указанной схемы текущей базы данных:
#PostgreSQL
👉 @database_info
Иногда требуется получить перечень таблиц базы данных. Для этого используем следующий запрос:
SELECT table_name FROM information_schema.tables
WHERE table_schema NOT IN ('information_schema','pg_catalog');information_schema — стандартная схема базы данных, которая содержит коллекции представлений (views), таких как таблицы, поля и т.д. Представления таблиц содержат информацию обо всех таблицах баз данных.
Запрос, описанный ниже, выберет все таблицы из указанной схемы текущей базы данных:
SELECT table_name FROM information_schema.tables
WHERE table_schema NOT IN ('information_schema', 'pg_catalog')
AND table_schema IN('public', 'myschema');
#PostgreSQL
👉 @database_info
👍3
Размер таблицы
По аналогии с получением размера базы данных размер данных таблицы можно вычислить с помощью соответствующей функции:
Функция pg_relation_size возвращает объём, который занимает на диске указанный слой заданной таблицы или индекса.
Имя самой большой таблицы
Для того, чтобы вывести список таблиц текущей базы данных, отсортированный по размеру таблицы, выполним следующий запрос:
Для того, чтобы вывести информацию о самой большой таблице, ограничим запрос с помощью LIMIT:
relname — имя таблицы, индекса, представления и т.п.
relpages — размер представления этой таблицы на диске в количествах страниц (по умолчанию одна страницы равна 8 Кб).
pg_class — системная таблица, которая содержит информацию о связях таблиц базы данных.
#PostgreSQL
👉 @database_info
По аналогии с получением размера базы данных размер данных таблицы можно вычислить с помощью соответствующей функции:
SELECT pg_relation_size('accounts');Функция pg_relation_size возвращает объём, который занимает на диске указанный слой заданной таблицы или индекса.
Имя самой большой таблицы
Для того, чтобы вывести список таблиц текущей базы данных, отсортированный по размеру таблицы, выполним следующий запрос:
SELECT relname, relpages FROM pg_class ORDER BY relpages DESC;Для того, чтобы вывести информацию о самой большой таблице, ограничим запрос с помощью LIMIT:
SELECT relname, relpages FROM pg_class ORDER BY relpages DESC LIMIT 1;relname — имя таблицы, индекса, представления и т.п.
relpages — размер представления этой таблицы на диске в количествах страниц (по умолчанию одна страницы равна 8 Кб).
pg_class — системная таблица, которая содержит информацию о связях таблиц базы данных.
#PostgreSQL
👉 @database_info
👍2