Базы данных (Data Base) – Telegram
Базы данных (Data Base)
8.21K subscribers
567 photos
468 videos
19 files
546 links
Базы данных (Data Base). По всем вопросам @evgenycarter
Download Telegram
SQL Для Начинающих

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, ниже пример запроса как пример:

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 Вы можете использовать запрос ниже:

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
👍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
👍2
Тюнинг MySQL-сервера: сжатие таблиц InnoDB

В больших проектах со временем размер баз данных разрастается до множества гигабайт (терабайт), поэтому всегда остается открытым вопрос как с этим бороться.

Известно несколько вариантов решения данной проблемы — уменьшение объема данных (грубо говоря, удаление старых записей), разделение одной базы данных на несколько, шардирование, приобретение нового оборудования (новых серверов или жестких дисков большего объема). Далее

#mysql

👉 @database_info
👍4
Learning SQL
Автор: Alan Beaulieu (2020)

По мере того, как новые данные попадают в вашу компанию, вам нужно срочно их обрабатывать и хранить, и SQL - лучший инструмент для этой работы. В последнем издании этого вводного руководства автор помогает разработчикам освоиться с основами SQL для проектирования баз данных, выполнения административных задач и создания отчетов. В книге вы найдете новые главы по SQL и большим данным, аналитическим функциям и работе с очень большими базами данных.

Во время чтения книги вы:
✔️Быстро изучите основы SQL и несколько продвинутых методов работы;
✔️Научитесь использовать операторы для генерации, обработки и извлечения данных;
✔️Научитесь созданию объектов баз данных, таких как таблицы, индексы и ограничения;
✔️Узнаете, как наборы данных взаимодействуют с запросами, поймете важность подзапросов;
✔️Изучите преобразование и манипулирование данными со встроенными функциями SQL и использование условной логики в операторах данных.

Скачать книгу

👉 @database_info
👍1
Как удалить столбец SQLite

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

Скрипт предназначен для создания резервных копий баз данных (в субботу — полная резервная копия, в остальные дни — инкрементальные).

#!/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

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 Видео из мира технологий
🔥1
Шпаргалка по оконным функциям в SQL

#sql

👉 @database_info
👍6
Объединения: создавая столбцы одинаковых типов, не забывайте про индексы

MySQL требует знания того, как оптимизировать операции JOIN. Поэтому, если у вас есть приложение с большим числом JOIN-запросов, то столбцы следует проиндексировать в обеих таблицах. Убедитесь, что столбцы, которые вы объединяете одного типа и имеют одинаковую кодировку.

В противном случае, MySQL попытается провести полное сканирование таблицы. Всегда, когда вам требуется извлечь информацию из ваших таблиц, просто модифицируйте запросы так, чтобы получать информацию из определенных столбцов.

#mysql

👉 @database_info
👍4
Размер базы данных PostgreSQL

Чтобы получить физический размер файлов (хранилища) базы данных, используем следующий запрос:

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