Please open Telegram to view this post
VIEW IN TELEGRAM
👍13🔥4❤2
Ограничение DEFAULT используется для установки значений по умолчанию при попытке вставить пустое (NULL) значение в столбец. Например:
CREATE TABLE Colleges (
college_id INT PRIMARY KEY,
college_code VARCHAR(20),
college_country VARCHAR(20) DEFAULT 'Japan'
);
Здесь значением по умолчанию для столбца college_country является Japan.
Если мы попытаемся сохранить значение NULL в столбце college_country, то значением станет Japan. Например:
-- Вставляем значение 'Japan' в столбец college_country
INSERT INTO Colleges (college_id, college_code)
VALUES (1, 'ARP76');
-- Вставляем значение 'UAE' в столбец college_country
INSERT INTO Colleges (college_id, college_code, college_country)
VALUES (2, 'JWS89', 'UAE');
Ограничение DEFAULT с ALTER TABLE
Мы также можем добавить ограничение DEFAULT к существующему столбцу с помощью оператора ALTER TABLE. Например:
SQL Server
ALTER TABLE Colleges
ADD CONSTRAINT country_default
DEFAULT 'Japan' FOR college_country;
PostgreSQL
ALTER TABLE Colleges
ALTER COLUMN college_code SET DEFAULT 'Japan';
MySQL
ALTER TABLE Colleges
ALTER college_country SET DEFAULT 'Japan';
Oracle
ALTER TABLE Colleges
MODIFY college_country DEFAULT 'Japan';
Здесь значением по умолчанию для столбца college_country является Japan, если кто-то попытается вставить NULL.
Удалить ограничение DEFAULT
Мы можем удалить ограничение DEFAULT, используя оператор DROP. Например:
SQL Server, PostgreSQL, Oracle
ALTER TABLE Colleges
ALTER COLUMN college_country DROP DEFAULT;
MySQL
ALTER TABLE Colleges
ALTER college_country DROP DEFAULT;
Здесь мы удаляем ограничение DEFAULT из столбца college_country.
@sqlhub
Please open Telegram to view this post
VIEW IN TELEGRAM
👍10❤3🔥1
🔥 Полезные бесплатные инструменты для работы с базами данных
Инструменты ориентированы на разработку под Microsoft SQL Server.
SQLCheck - мониторинг производительности сервера в реальном времени.
SQL Server Maintenance Solution - набор хранимых процедур от MVP Ola Hallengren для обслуживания как пользовательских, так и служебных баз данных на стороне SQL Server.
SQL Scripts Manager - бесплатный набор из 28 must–have скриптов от экспертов компании Redgate, который поможет автоматизировать общие задачи устранения неполадок, диагностики и обслуживания бд.
Набор хранимых процедур от Brent Ozar Unlimited
sp_Blitz — хранимые процедуры, для мониторинга состояния SQL Server–а и проблем производительности.
sp_BlitzCache — хранимыя процедура, с кучей опций, которая показывает малоэффективные запросы, и многое другое.
sp_BlitzIndex — это инструмент, который поможет вам проанализировать индексы: узнать есть ли у вас повторяющиеся индексы, или индексы, которые не используются, и многое другое.
sp_BlitzRS – процедура для поиска потенциальных проблем и анализа производительности и запросов SQL Server Reporting Services.
sp_BlitzTrace – хранимая процедура, которая позволит вам легко и быстро использовать SQL Server Extended Events.
SqlBak - онлайн сервис от разработчиков популярного решения для бэкапа SQLBackupAndFTP. Инструмент позволяет создавать резервные копии MS SQL вручную или по расписанию (поддерживается полный и дифференциальный бэкап и сохранение журнала транзакций.)
SQLFuse - это файловая система пользовательского режима, основанная на FUSE, которая отображает объекты сервера SQL на файловую систему: схемы, таблицы, представления, хранимые процедуры, функции, колонки, триггеры и др.
tSQLt - бесплатный фреймворк с открытым исходным кодом для проведения T-SQL unit тестов. О том, как работать с данным инструментом очень подробно изложено в следующей статье: tSqlt — модульное тестирование в Sql Server
BIDS Helper - плагин для Visual Studio c открытым исходным кодом.
SQL Server Partition Management - данный инструмент позволяет работать с секционированными (партиционированными) таблицами.
@sqlhub
Инструменты ориентированы на разработку под Microsoft SQL Server.
SQLCheck - мониторинг производительности сервера в реальном времени.
SQL Server Maintenance Solution - набор хранимых процедур от MVP Ola Hallengren для обслуживания как пользовательских, так и служебных баз данных на стороне SQL Server.
SQL Scripts Manager - бесплатный набор из 28 must–have скриптов от экспертов компании Redgate, который поможет автоматизировать общие задачи устранения неполадок, диагностики и обслуживания бд.
Набор хранимых процедур от Brent Ozar Unlimited
sp_Blitz — хранимые процедуры, для мониторинга состояния SQL Server–а и проблем производительности.
sp_BlitzCache — хранимыя процедура, с кучей опций, которая показывает малоэффективные запросы, и многое другое.
sp_BlitzIndex — это инструмент, который поможет вам проанализировать индексы: узнать есть ли у вас повторяющиеся индексы, или индексы, которые не используются, и многое другое.
sp_BlitzRS – процедура для поиска потенциальных проблем и анализа производительности и запросов SQL Server Reporting Services.
sp_BlitzTrace – хранимая процедура, которая позволит вам легко и быстро использовать SQL Server Extended Events.
SqlBak - онлайн сервис от разработчиков популярного решения для бэкапа SQLBackupAndFTP. Инструмент позволяет создавать резервные копии MS SQL вручную или по расписанию (поддерживается полный и дифференциальный бэкап и сохранение журнала транзакций.)
SQLFuse - это файловая система пользовательского режима, основанная на FUSE, которая отображает объекты сервера SQL на файловую систему: схемы, таблицы, представления, хранимые процедуры, функции, колонки, триггеры и др.
tSQLt - бесплатный фреймворк с открытым исходным кодом для проведения T-SQL unit тестов. О том, как работать с данным инструментом очень подробно изложено в следующей статье: tSqlt — модульное тестирование в Sql Server
BIDS Helper - плагин для Visual Studio c открытым исходным кодом.
SQL Server Partition Management - данный инструмент позволяет работать с секционированными (партиционированными) таблицами.
@sqlhub
👍20❤2🔥2
NocoDB — альтернатива AirTable с открытым исходным кодом
Создавайте и управляйте базами данных с помощью простого, но мощного интерфейса
С помощью инструмента вы сможете гибко определять схему данных, устанавливать связи между таблицами, выполнять сложные запросы и настраивать права доступа
NocoDB подходит для различных типов данных, будь то реляционные, документоориентированные или графовые. Интеграция с различными типами баз данных обеспечивает максимальную гибкость и удобство.
Стоимость: #бесплатно
#базы_данных #web
Создавайте и управляйте базами данных с помощью простого, но мощного интерфейса
С помощью инструмента вы сможете гибко определять схему данных, устанавливать связи между таблицами, выполнять сложные запросы и настраивать права доступа
NocoDB подходит для различных типов данных, будь то реляционные, документоориентированные или графовые. Интеграция с различными типами баз данных обеспечивает максимальную гибкость и удобство.
Стоимость: #бесплатно
#базы_данных #web
👍7🔥3❤2
🔥 6 бесплатных ресурсов для практики в SQL
SQLZoo - рекомендуем тем, кто начинает изучать язык. На сайте 9 разделов с задачами по sql. Их решение займет 18–20 часов. Среди тем — вложенные запросы или обработка значений null. Также доступны разборы решений. В SQLZoo есть справочник терминов.
SQLTest - здесь можно изменять или замещать значения и масштабировать их. Это позволяет имитировать взаимодействие с БД произвольного количества пользователей или запросов. Сервис генерирует запросы к базе данных SQL Server и поддерживает MySQL и Oracle.
SQLTest доступен в десктопной и облачной версии.
Pgexercises - Сайт состоит из 80 упражнений для работы с объектно-реляционной системой PostgreeSQL. Доступен один набор данных, который состоит из 3 таблиц: members, booking и facilities. Упражнения начинаются с предложений select и where, затем рассматриваются оконные функции и рекурсивные запросы. Курс разделен на блоки:
▪Простые запросы SQL;
▪Присоединение и подзапросы;
▪Изменения данных;
▪Агрегация;
▪Работа с метками времени;
▪Операции с рядами;
▪Рекурсивные запросы.
SQL Fiddle — сервис с открытым исходным кодом. Сайт позволяет делиться информацией с другими пользователями.
Он поддерживает БД Oracle, SQLite, MySQL. Также есть возможность экспортировать данные в разных форматах: иерархические файлы (например, XML-документы), текстовые и таблицы.
Oracle LiveSQL — это облачная платформа для тестирования и обмена сценариями SQL и PL/SQL. Среди функций — инструмент меню Quick SQL, который позволяет создавать операторы с помощью сокращенного синтаксиса.
Система сохраняет информацию о предыдущих сеансах, наборах операторов, которые можно перезапустить или сохранить как сценарии. Также сценарии можно воспроизвести повторно или загрузить созданные на сторонних ресурсах.
В последней версии СУБД Oracle Database 19c разработчики добавили функцию Automatic Indexing, которая автоматически создает индексы к БД.
HackerRank - социальная платформа для соревновательного программирования предлагает упражнения для разных языков. Среди них — сложные практические задачи по SQL. К некоторым задачам нет опубликованных ответов, а за лучшие решения пользователь получает больше баллов в рейтинге сообщества.
@sqlhub
SQLZoo - рекомендуем тем, кто начинает изучать язык. На сайте 9 разделов с задачами по sql. Их решение займет 18–20 часов. Среди тем — вложенные запросы или обработка значений null. Также доступны разборы решений. В SQLZoo есть справочник терминов.
SQLTest - здесь можно изменять или замещать значения и масштабировать их. Это позволяет имитировать взаимодействие с БД произвольного количества пользователей или запросов. Сервис генерирует запросы к базе данных SQL Server и поддерживает MySQL и Oracle.
SQLTest доступен в десктопной и облачной версии.
Pgexercises - Сайт состоит из 80 упражнений для работы с объектно-реляционной системой PostgreeSQL. Доступен один набор данных, который состоит из 3 таблиц: members, booking и facilities. Упражнения начинаются с предложений select и where, затем рассматриваются оконные функции и рекурсивные запросы. Курс разделен на блоки:
▪Простые запросы SQL;
▪Присоединение и подзапросы;
▪Изменения данных;
▪Агрегация;
▪Работа с метками времени;
▪Операции с рядами;
▪Рекурсивные запросы.
SQL Fiddle — сервис с открытым исходным кодом. Сайт позволяет делиться информацией с другими пользователями.
Он поддерживает БД Oracle, SQLite, MySQL. Также есть возможность экспортировать данные в разных форматах: иерархические файлы (например, XML-документы), текстовые и таблицы.
Oracle LiveSQL — это облачная платформа для тестирования и обмена сценариями SQL и PL/SQL. Среди функций — инструмент меню Quick SQL, который позволяет создавать операторы с помощью сокращенного синтаксиса.
Система сохраняет информацию о предыдущих сеансах, наборах операторов, которые можно перезапустить или сохранить как сценарии. Также сценарии можно воспроизвести повторно или загрузить созданные на сторонних ресурсах.
В последней версии СУБД Oracle Database 19c разработчики добавили функцию Automatic Indexing, которая автоматически создает индексы к БД.
HackerRank - социальная платформа для соревновательного программирования предлагает упражнения для разных языков. Среди них — сложные практические задачи по SQL. К некоторым задачам нет опубликованных ответов, а за лучшие решения пользователь получает больше баллов в рейтинге сообщества.
@sqlhub
❤14👍11🔥4
Полезные инструменты разработки и администрирования для Microsoft SQL Server
1. Common-Info
Cкрипты общего назначения для просмотра состояния и настроек инстанса и др
2. Data-Model-Info
Просмотр модели данных и других связанных объектов
3. Databases-Info
Информация о базах данных
4. Statistics
Информация о статистиках, вопросах производительности и их анализе
5. Indexes
Информация об индексах, вопросах производительности и их анализе
6. File-Groups
Информация о файловых группах
7. Partitioned-Tables-and-Indexes
Секционирование таблиц и индексов
8. Perfomance
Производительность и оптимизация запросов, настроек сервера и поиск узких мест
9. Backup
Резервное копирование и восстановление данных
10. Maintenance
Обслуживание баз данных и сервера
11. 1С-Extended-Settings
Инструмент для поддержки произвольных индексов, изменение существующих объектов, сжатия таблиц и индексов, файловых групп и прочего для баз 1С:Предприятия
12. BCP
Работа с утилитой Bulk Insert Programm (BCP)
13. Bulk-Operations
Раздел с полезной информацией об операциях массовой модицикации данных
14. AlwaysOn
О работе с группами высокой доступности AlwaysOn, настройке WSFC и др.
15. Diagnostics
Диагностика работы SQL Server
16. FullText-Search
Полнотекстовый поиск и все что с ним связано
17. TempDB
Все что связано с TempDB и временными таблицами
18. Monitoring
Мониторинг стабильности и производительности
19. Internals
Информация о внутренностях работы СУБД
20. SSAS
Подраздел об SQL Server Analysis Services
21. PowerShell
Работа со SQL Server из PowerShell
22. Linux
Работа со SQL Server под Linux
23. Integration
Информация о средствах интеграции SQL Server с другими системами и наоборот.
24. Jobs
Информация о заданиях и их настройке.
25. Trace-Flags
Флаги трассировки.
26. Replication-And-High-Availability
Информация о механизмах репликации данных, высокой доступности и отказоустойчивости.
27. Track-Data-Changes
Механизмы отслеживания изменения данных.
28. Security
Безопасность, управление доступом и связанные темы.
29. SQLCLR
Материалы по созданию расширений для SQL Server на базе SQLCLR
@sqlhub
Please open Telegram to view this post
VIEW IN TELEGRAM
❤15👍6🔥2
This media is not supported in your browser
VIEW IN TELEGRAM
🔗 Документация & Репозиторий
Please open Telegram to view this post
VIEW IN TELEGRAM
❤6👍2🔥1
Как переписать и оптимизировать ваши SQL-запросы к Pandas на пяти простых примерах
Аналитики данных, инженеры и учёные одинаково знакомы с SQL. Язык запросов по-прежнему широко используется для работы с реляционными базами данных любого типа.
Однако, в настоящее время, всё больше и больше, особенно для аналитиков данных, растут технические требования, и ожидается, что люди, по крайней мере, знают основы языка программирования. При работе с данными Python и Pandas являются обычным дополнением к списку требований в описании вакансий.
Хотя Pandas может быть новым для людей, знакомых с SQL, концепции выбора, фильтрации и агрегирования данных в SQL легко переносятся в Pandas. Давайте рассмотрим в этой статье некоторые распространённые SQL-запросы и способы их написания и оптимизации в Pandas.
Читать
@sqlhub
Аналитики данных, инженеры и учёные одинаково знакомы с SQL. Язык запросов по-прежнему широко используется для работы с реляционными базами данных любого типа.
Однако, в настоящее время, всё больше и больше, особенно для аналитиков данных, растут технические требования, и ожидается, что люди, по крайней мере, знают основы языка программирования. При работе с данными Python и Pandas являются обычным дополнением к списку требований в описании вакансий.
Хотя Pandas может быть новым для людей, знакомых с SQL, концепции выбора, фильтрации и агрегирования данных в SQL легко переносятся в Pandas. Давайте рассмотрим в этой статье некоторые распространённые SQL-запросы и способы их написания и оптимизации в Pandas.
Читать
@sqlhub
👍14❤3🔥2
1.SuIP.biz
Обнаружение уязвимости для SQL-инъекций в режиме онлайн с помощью sup.biz и поддержка баз данных MySQL, Oracle, PostgreSQL, Microsoft SQL, IBM DB2, Firebird, Sybase.
SQLMap поможет протестировать сервис на все 6 методов инъекции.
2.Тест на уязвимость SQL-инъекции онлайн c Hacker Target
Еще один онлайн-инструмент Hacker Target на основе SQLMap для поиска уязвимости bind & error против GET-запроса HTTP.
3. Netsparker
Netsparker готов просканировать уровень веб-безопасности предприятий: он делает даже больше, чем просто тест на уязвимость SQL. Человек также может интегрировать приложения для автоматизации веб-безопасности.
Пользователь может проверить индекс уязвимости сайта, который прошел сканирование от Netsparker.
4. Vega
Vega – это сканер безопасности с открытым исходным кодом, который может быть установлен на Linux, OS X и Windows.
Vega написан на Java, он имеет графический интерфейс.
Не только SQLi: Vega можно использовать для тестирования на многие другие типы уязвимостей, такие как:
Инъекция XML/Shell/URL;
Directory listing;
Remote file includes;
XSS.
Vega выглядит многообещающим бесплатным сканером безопасности сети.
5. SQLMap
SQLMap – это один из популярных инструментов тестирования с открытым исходным кодом на выполнение SQL-инъекций в системе управления реляционными базами данных.
Sqlmap проводит перечисление пользователей, паролей, хэшей, баз данных и поддерживает полный дамп таблиц базы данных.
Если пользователь использует Kali Linux, то он может применить SQLMap, не устанавливая его дополнительно.
6.SQL Injection Scanner
Онлайн сканер для проведения пентестинга, который использует OWASP ZAP. Есть две версии – упрощенная (бесплатная) и полная (нужно зарегистрироваться).
7.Appspider
Appspider, разработанный Rapid7, — это динамическое решение для тестирования безопасности приложений на обход защиты и более чем 95 типов атак.
Уникальная функция Appspider под названием «vulnerability validator» позволяет разработчику воспроизвести уязвимость в режиме реального времени.
Это очень удобно, когда администратор исправил уязвимость и хочет повторно протестировать ресурс, чтобы точно убедиться, что риска для системы больше нет.
8. Acunetix
Acunetix – это готовый к работе сканер уязвимостей веб-приложений, которому доверяют более 4000 компаний по всему миру. Не только сканирование SQLi: инструмент способен найти более 6000 других уязвимостей.
Каждая находка классифицируется, и показываются потенциальные корректировки системы безопасности: поэтому пользователь всегда знает, что нужно сделать, чтобы исправить ситуацию к лучшему. Кроме того, человек может интегрироваться с системой CI/CD и SDLC, поэтому каждый риск безопасности идентифицируется и фиксируется до того, как приложение будет развернуто.
9. Wapiti
Wapiti – это сканер уязвимостей на основе Рython. Он поддерживает большое количество инструментов для обнаружения следующих атак:
Sql и XPath;
CRLS и XSS;
Shellshock;
File disclosure;
Server-side request forgery;
Command execution.
Он поддерживает конечную точку HTTP/HTTPS, несколько типов аутентификации, такие как Basic, Digest, NTLM и Kerberos. У пользователя есть возможность создавать отчеты о сканировании в формате HTML, XML, JSON и TXT.
10. Scant3r
Scant3r – это «легкий сканер», основанный на Python.
Он ищет возможность проведения атак XSS, SQLi, RCE, SSTI в заголовках и параметрах URL-адресов.
@sqlhub
Please open Telegram to view this post
VIEW IN TELEGRAM
👍4❤3🔥2
🦆 DuckDb: эффективная OLAP-база данных
DuckDB набирает популярность, поскольку столбцово-векторный механизм этой базы данных позволяет выполнять аналитические типы запросов. Это аналитическая или OLAP-версия SQLite, широко распространенной встроенной СУБД.
Хотя DuckDB — это СУБД, ее установка проще по сравнению с Microsoft SQL Server и Postgres. Кроме того, для выполнения запроса не требуется никаких внешних зависимостей. Выполнить SQL-запрос можно с помощью DuckDb CLI.
Если вы предпочитаете интерфейс SQL, DuckDb может стать для вас лучшей альтернативой анализу данных непосредственно в CSV или Parquet-файлах. Продолжим с примерами кода и одновременно покажем, насколько просто работать с SQL в DuckDb.
В DuckDb есть функция read_csv_auto для вывода CSV-файла и загрузки этих данных в память. Во время выполнения было обнаружено, что нужно изменить SAMPLE_SIZE=-1, чтобы пропустить выборку, так как некоторые поля в наборе данных не были выведены правильно, а выборка по умолчанию составляет 1000 строк.
Тест фильтрации показал достижение паритета, а в остальных трех тестах производительность намного выше по сравнению с Pandas.
Чтобы не писать на Python, можно использовать DuckDb CLI с SQL-интерфейсом в командной строке или TAD.
https://duckdb.org/
@sqlhub
DuckDB набирает популярность, поскольку столбцово-векторный механизм этой базы данных позволяет выполнять аналитические типы запросов. Это аналитическая или OLAP-версия SQLite, широко распространенной встроенной СУБД.
Хотя DuckDB — это СУБД, ее установка проще по сравнению с Microsoft SQL Server и Postgres. Кроме того, для выполнения запроса не требуется никаких внешних зависимостей. Выполнить SQL-запрос можно с помощью DuckDb CLI.
Если вы предпочитаете интерфейс SQL, DuckDb может стать для вас лучшей альтернативой анализу данных непосредственно в CSV или Parquet-файлах. Продолжим с примерами кода и одновременно покажем, насколько просто работать с SQL в DuckDb.
В DuckDb есть функция read_csv_auto для вывода CSV-файла и загрузки этих данных в память. Во время выполнения было обнаружено, что нужно изменить SAMPLE_SIZE=-1, чтобы пропустить выборку, так как некоторые поля в наборе данных не были выведены правильно, а выборка по умолчанию составляет 1000 строк.
import duckdb
from repeat_helper import repeat_executor
con = duckdb.connect(database=':memory:')
con.execute("""CREATE TABLE parking_violations AS SELECT "Summons Number", "Vehicle Make", "Issue Date" FROM read_csv_auto('/Users/chengzhizhao/projects/pandas_alternatives/Parking_Violations_Issued_-_Fiscal_Year_2017.csv', delim=',', SAMPLE_SIZE=-1);""")
con.execute("""SELECT COUNT(1) FROM parking_violations""")
print(con.fetchall())
# ## Фильтрация по марке автомобиля (для BMW)
@repeat_executor(times=5)
def test_filter():
con.execute("""
SELECT * FROM parking_violations WHERE "Vehicle Make" = 'BMW'
""")
return con.fetchall()
# # ## Группировка по марке автомобиля и подсчет
@repeat_executor(times=5)
def test_groupby():
con.execute("""
SELECT COUNT("Summons Number") FROM parking_violations GROUP BY "Vehicle Make"
""")
return con.fetchall()
# # # ## SELF join
@repeat_executor(times=5)
def test_self_join():
con.execute("""
SELECT a."Summons Number"
FROM parking_violations a
INNER JOIN parking_violations b on a."Summons Number" = b."Summons Number"
""")
return con.fetchall()
# ## оконная функция
@repeat_executor(times=5)
def test_window_function():
con.execute("""
SELECT *, ROW_NUMBER() OVER (PARTITION BY "Vehicle Make" ORDER BY "Issue Date")
FROM parking_violations
""")
return con.fetchall()
test_filter()
# Время медианы - 0.410 с
test_groupby()
# # Время медианы - 0.122 с
test_self_join()
# # Время медианы - 3.364 с
test_window_function()
# # Время медианы - 6.466 с
Тест фильтрации показал достижение паритета, а в остальных трех тестах производительность намного выше по сравнению с Pandas.
Чтобы не писать на Python, можно использовать DuckDb CLI с SQL-интерфейсом в командной строке или TAD.
https://duckdb.org/
@sqlhub
👍11❤3🔥2
💫 SQLite для работы
Рассказываю, почему SQLite отлично подойдет вам в повседневной работе. И неважно, разработчик вы, аналитик, тестировщик, админ или продакт-менеджер.
Для затравки несколько известных фактов:
▪SQLite — самая распространенная СУБД в мире, включена во все популярные ОС.
▪Работает без сервера.
▪Для разработчиков — встраивается прямо в приложение.
▪Для всех остальных — удобная консоль (REPL) одним файлом (sqlite3.exe на Windows, sqlite3 в Linux / macOS).
📌 Читать
@sqlhub
Рассказываю, почему SQLite отлично подойдет вам в повседневной работе. И неважно, разработчик вы, аналитик, тестировщик, админ или продакт-менеджер.
Для затравки несколько известных фактов:
▪SQLite — самая распространенная СУБД в мире, включена во все популярные ОС.
▪Работает без сервера.
▪Для разработчиков — встраивается прямо в приложение.
▪Для всех остальных — удобная консоль (REPL) одним файлом (sqlite3.exe на Windows, sqlite3 в Linux / macOS).
📌 Читать
@sqlhub
👍11❤5🔥2
💫 Как вместо id подставить значение sql
Чтобы вместо значения id вставить другое значение в SQL, вы можете использовать оператор UPDATE для обновления данных в таблице.
Допустим, у вас есть таблица my_table со столбцами id, name и age. Чтобы обновить значение name для строки с определенным значением id, используйте следующий запрос:
В этом запросе my_table - это название вашей таблицы, name - это название столбца, значение которого нужно обновить, New Name - это новое значение, которое вы хотите установить, а id = 1 - это условие, которое определяет, какая строка должна быть обновлена. Вместо 1 вы можете использовать любое значение, которое соответствует условию.
Также вы можете использовать оператор UPDATE для обновления нескольких столбцов в одной строке.
Например, чтобы обновить значения столбцов name и age для строки с определенным значением id, используйте следующий запрос:
В результате выполнения этого запроса значения столбцов name и age будут обновлены для строки с id равным 1.
@sqlhub
Чтобы вместо значения id вставить другое значение в SQL, вы можете использовать оператор UPDATE для обновления данных в таблице.
Допустим, у вас есть таблица my_table со столбцами id, name и age. Чтобы обновить значение name для строки с определенным значением id, используйте следующий запрос:
UPDATE my_table SET name = 'New Name' WHERE id = 1;
В этом запросе my_table - это название вашей таблицы, name - это название столбца, значение которого нужно обновить, New Name - это новое значение, которое вы хотите установить, а id = 1 - это условие, которое определяет, какая строка должна быть обновлена. Вместо 1 вы можете использовать любое значение, которое соответствует условию.
Также вы можете использовать оператор UPDATE для обновления нескольких столбцов в одной строке.
Например, чтобы обновить значения столбцов name и age для строки с определенным значением id, используйте следующий запрос:
UPDATE my_table SET name = 'New Name', age = 30 WHERE id = 1;
В результате выполнения этого запроса значения столбцов name и age будут обновлены для строки с id равным 1.
@sqlhub
👍16🔥3❤2
SQLite – это легковесная и удобная в использовании система управления базами данных. Но приложения, использующие SQLite, могут столкнуться с проблемами производительности, которые могут негативно отразиться на работе всего приложения.
Благодаря новому гайду от Google, разработчики получат ценные рекомендации по оптимизации работы с SQLite. Новейшие техники и советы помогут избежать возможных проблем с производительностью и ускорят работу приложения.
Хотя эти рекомендации сконцентрированы на Android-приложениях и примеры кода даны на Kotlin и Java, техники оптимизации производительности могут быть полезны для любого разработчика, работающего с SQLite.
📌 Читать
@sqlhub
Please open Telegram to view this post
VIEW IN TELEGRAM
👍9🔥2❤1
📌Подключаем SQLAlchemy к существующей базой данных SQL Server в Python
Создание ORM-модели SQLAlchemy из существующей базы данных SQL Server.
📖Библиотеки
* SQLAlchemy
* pyodbc
Вы можете установить эти библиотеки с помощью команды pip в терминале.
Давайте писать!
Во-первых, нам нужно создать базовый класс для нашей модели. Создайте файл с именем base.py и добавьте в него следующий код:
Теперь нам нужно сопоставить существующую таблицу с нашим классом. В данном случае мы сопоставим таблицу с двумя колонками с нашей моделью. Таблица представляет собой базу клиентов с полями кода и именем. Для этого мы создадим файл customer.py и добавим в него следующий код:
После того как мы создали базовый класс и класс отображения таблиц, пришло время создать модель. Для этого мы создадим отдельный файл dbmodel.py и импортируем класс таблиц клиентов, который мы только что создали, чтобы выполнять в нем запросы.
Обратите внимание, что в коде мы передаем строку подключения в качестве параметра. Эта строка подключения немного отличается от той, что нужна для SQLite, и мы определим ее в файле run.py, где мы соберем все вместе и запустим тест. Добавим в файл следующий код:
@sqlhub
Создание ORM-модели SQLAlchemy из существующей базы данных SQL Server.
📖Библиотеки
* SQLAlchemy
* pyodbc
Вы можете установить эти библиотеки с помощью команды pip в терминале.
pip install sqlalchemy
pip install pyodbc
Давайте писать!
Во-первых, нам нужно создать базовый класс для нашей модели. Создайте файл с именем base.py и добавьте в него следующий код:
from sqlalchemy.ext.declarative import declarative_base
Base = declarative_base()
Теперь нам нужно сопоставить существующую таблицу с нашим классом. В данном случае мы сопоставим таблицу с двумя колонками с нашей моделью. Таблица представляет собой базу клиентов с полями кода и именем. Для этого мы создадим файл customer.py и добавим в него следующий код:
import sqlalchemy as sa
from base import Base # Reference to the previously created class
class Customer(Base):
__tablename__ = 'customer' # Name of the table in the database
customerid = sa.Column('customerid',sa.String(20), primary_key=True)
customername = sa.Column('customername',sa.String(20))
После того как мы создали базовый класс и класс отображения таблиц, пришло время создать модель. Для этого мы создадим отдельный файл dbmodel.py и импортируем класс таблиц клиентов, который мы только что создали, чтобы выполнять в нем запросы.
from sqlalchemy import create_engine, select
from sqlalchemy.orm import sessionmaker
from customer import Customer # Customer map class
class dbmodel(object):
db_config = ''
engine = object
def __init__(self, conn_string) -> None:
self.engine = create_engine(conn_string)
# Function to get the name of a customer by id
def get_customer_name_by_id(self, customer_id):
Session = sessionmaker(bind=self.engine, future=True)
session = Session()
result = customer_id
try:
customer_row = session.execute(
select(
Customer
).where(
Customer.customerid == customer_id
)
).scalar_one_or_none()
if customer_row is not None:
result = customer_row.customername
return result
except Exception as ex:
print(ex.args)
Обратите внимание, что в коде мы передаем строку подключения в качестве параметра. Эта строка подключения немного отличается от той, что нужна для SQLite, и мы определим ее в файле run.py, где мы соберем все вместе и запустим тест. Добавим в файл следующий код:
import sys
import dbmodel as db
def main(argv):
user = 'youruser'
password = 'yourpassword'
server = 'yourhost'
dbname = 'yourdbname'
# SQL Server connection string
connString = 'mssql+pyodbc://{0}:{1}@{2}/{3}?driver=SQL Server'.format(user, password, server, dbname)
accountToGet = 'xxx'
dbSQL = db.dbmodel(connString)
customer_name = dbSQL.get_customer_name_by_id(accountToGet)
print(customer_name)
if __name__ == '__main__':
main(sys.argv[1:])
@sqlhub
👍11❤1🔥1
🔥 Подборка каналов для Дата сайентиста
🖥 Machine learning
ai_ml – машинное обучение, ии, нейросети.
datasc - Data science в телеграм!
@bigdatai - Big Data
@machinelearning_ru – гайды по машинному обучению
@machinelearning_interview – подготовка к собеседованию мл.
@datascienceiot – бесплатные книги ds
@ArtificialIntelligencedl – ИИ
@machinee_learning – чат о машинном обучении
@datascienceml_jobs - вакансии ds, ml
@Machinelearning_Jobs - чат с вакансиями
#️⃣ c# c++
C# - погружение в C#
@csharp_cplus чат
С++ - обучающий канал по C++.
@csharp_1001_notes - инструменты C#
🖥 SQL базы данных
@sqlhub - Повышение эффективности кода с грамотным использованием бд.
@chat_sql - чат изучения бд.
👣 Golang
@Golang_google - восхитительный язык от Google, мощный и перспективный.
@golang_interview - вопросы и ответы с собеседований по Go. Для всех уровней разработчиков.
@golangtests - интересные тесты и задачи GO
@golangl - чат изучающих Go
@GolangJobsit - отборные вакансии и работа GO
@golang_jobsgo - чат для ищущих работу.
@golang_books - полезные книги Golang
@golang_speak - обсуждение языка Go
@golangnewss - новости go
🖥 Linux
linux - kali linux ос для хакинга
linux chat - чат linux для обучения и помощи.
@linux_read - бесплатные книги linux
🖥 Python
@pythonl - главный канал самого популярного языка программирования.
@pro_python_code – учим python с ментором.
@python_job_interview – подготовка к Python собеседованию.
@python_testit - проверочные тесты на python
@pythonlbooks - современные книги Python
@python_djangojobs - работа для Python программистов
@python_django_work - чат обсуждения вакансий
🖥 Javascript / front
@react_tg - - 40,14% разработчиков сайтов использовали React в 2022 году - это самая популярная библиотека для создания сайтов.
@javascript -канал для JS и FrontEnd разработчиков. Лучшие практики и примеры кода. Туториалы и фишки JS
@Js Tests - каверзные тесты JS
@hashdev - погружение в web разработку.
@javascriptjobjs - отборные вакансии и работа FrontEnd.
@jsspeak - чат поиска FrontEnd работы.
🖥 Java
@javatg - выучить Java с senior разработчиком на практике
@javachats - чат для ответов на вопросы по Java
@java_library - библиотека книг Java
@android_its - Android разработка
@java_quizes - тесты Java
@Java_workit - работа Java
@progersit - шпаргалки ит
👷♂️ IT работа
https://t.me/addlist/_zyy_jQ_QUsyM2Vi -ит каналы по яп с вакансиями
🤡It memes
@memes_prog - ит-мемы
⚙️ Rust
@rust_code - Rust избавлен от болевых точек, которые есть во многих современных яп
@rust_chats - чат rust
📓 Книги
https://t.me/addlist/HwywK4fErd8wYzQy - актуальные книги по всем яп
⭐️ Нейронные сети
@vistehno - chatgpt ведет блог, решает любые задачи и отвечает на любые ваши вопросы.
@aigen - сети для генерации картинок. видео, музыки и многого другого.
@neural – погружение в нейросети.
📢 English for coders
@english_forprogrammers - Английский для программистов
🖥 Devops
Devops - канал для DevOps специалистов.
ai_ml – машинное обучение, ии, нейросети.
datasc - Data science в телеграм!
@bigdatai - Big Data
@machinelearning_ru – гайды по машинному обучению
@machinelearning_interview – подготовка к собеседованию мл.
@datascienceiot – бесплатные книги ds
@ArtificialIntelligencedl – ИИ
@machinee_learning – чат о машинном обучении
@datascienceml_jobs - вакансии ds, ml
@Machinelearning_Jobs - чат с вакансиями
#️⃣ c# c++
C# - погружение в C#
@csharp_cplus чат
С++ - обучающий канал по C++.
@csharp_1001_notes - инструменты C#
@sqlhub - Повышение эффективности кода с грамотным использованием бд.
@chat_sql - чат изучения бд.
@Golang_google - восхитительный язык от Google, мощный и перспективный.
@golang_interview - вопросы и ответы с собеседований по Go. Для всех уровней разработчиков.
@golangtests - интересные тесты и задачи GO
@golangl - чат изучающих Go
@GolangJobsit - отборные вакансии и работа GO
@golang_jobsgo - чат для ищущих работу.
@golang_books - полезные книги Golang
@golang_speak - обсуждение языка Go
@golangnewss - новости go
linux - kali linux ос для хакинга
linux chat - чат linux для обучения и помощи.
@linux_read - бесплатные книги linux
@pythonl - главный канал самого популярного языка программирования.
@pro_python_code – учим python с ментором.
@python_job_interview – подготовка к Python собеседованию.
@python_testit - проверочные тесты на python
@pythonlbooks - современные книги Python
@python_djangojobs - работа для Python программистов
@python_django_work - чат обсуждения вакансий
@react_tg - - 40,14% разработчиков сайтов использовали React в 2022 году - это самая популярная библиотека для создания сайтов.
@javascript -канал для JS и FrontEnd разработчиков. Лучшие практики и примеры кода. Туториалы и фишки JS
@Js Tests - каверзные тесты JS
@hashdev - погружение в web разработку.
@javascriptjobjs - отборные вакансии и работа FrontEnd.
@jsspeak - чат поиска FrontEnd работы.
@javatg - выучить Java с senior разработчиком на практике
@javachats - чат для ответов на вопросы по Java
@java_library - библиотека книг Java
@android_its - Android разработка
@java_quizes - тесты Java
@Java_workit - работа Java
@progersit - шпаргалки ит
👷♂️ IT работа
https://t.me/addlist/_zyy_jQ_QUsyM2Vi -ит каналы по яп с вакансиями
🤡It memes
@memes_prog - ит-мемы
⚙️ Rust
@rust_code - Rust избавлен от болевых точек, которые есть во многих современных яп
@rust_chats - чат rust
📓 Книги
https://t.me/addlist/HwywK4fErd8wYzQy - актуальные книги по всем яп
@vistehno - chatgpt ведет блог, решает любые задачи и отвечает на любые ваши вопросы.
@aigen - сети для генерации картинок. видео, музыки и многого другого.
@neural – погружение в нейросети.
@english_forprogrammers - Английский для программистов
Devops - канал для DevOps специалистов.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍12❤2🔥1
🧑🏫 9 лучших курсов и сертификаций по Spark.
Apache Spark — фреймворк с открытым исходным кодом для реализации распределённой обработки неструктурированных и слабоструктурированных данных, входящий в экосистему проектов Hadoop.
1. NoSQL, Big Data, and Spark Foundations Specialization
Время прохождения – 4 месяца (если тратить 3 часа в неделю)
Кому стоит записаться?
Для новичков.
2. Distributed Computing with Spark SQL
Время прохождения – 13 часов
Кто должен записаться на курс?
Тем, кто уже имеет представление о SQL.
3. Apache Spark (TM) SQL for Data Analysts
Время прохождения – 13 часов
Кому стоит записаться на курс?
Тем, кто уже знаком с SQL.
4.Meta Spark Creator AR Certification Prep Specialization
Время прохождения – 3 месяца
Кому стоит записаться?
Тем, кто является новичком.
5. Data Analysis Using Pyspark
Время выполнения – 1,5 часа
Кому стоит записаться на курс?
Тем, кто уже знает программирование на Python.
6. Scalable Machine Learning on Big Data using Apache Spark
Время прохождения – 6 часов
Кому стоит записаться?
Тем, кто уже владеет Python, машинным обучением и базовыми знаниями SQL.
7. Big Data Analysis with Scala and Spark
Время прохождения – 27 часов
Кому стоит записаться?
Тем, у кого есть предыдущие знания программирования на любом языке.
8. Data Engineering with MS Azure Synapse Apache Spark Pools
Время прохождения – 7 часов
Кому стоит записаться на курс?
Тем, кто уже знает Python или SQL.
9. Building Machine Learning Pipelines in PySpark MLlib
Время выполнения – 1,5 часа
Кому стоит записаться?
Тем, кто знает Python и основы машинного обучения.
@sqlhub
Apache Spark — фреймворк с открытым исходным кодом для реализации распределённой обработки неструктурированных и слабоструктурированных данных, входящий в экосистему проектов Hadoop.
1. NoSQL, Big Data, and Spark Foundations Specialization
Время прохождения – 4 месяца (если тратить 3 часа в неделю)
Кому стоит записаться?
Для новичков.
2. Distributed Computing with Spark SQL
Время прохождения – 13 часов
Кто должен записаться на курс?
Тем, кто уже имеет представление о SQL.
3. Apache Spark (TM) SQL for Data Analysts
Время прохождения – 13 часов
Кому стоит записаться на курс?
Тем, кто уже знаком с SQL.
4.Meta Spark Creator AR Certification Prep Specialization
Время прохождения – 3 месяца
Кому стоит записаться?
Тем, кто является новичком.
5. Data Analysis Using Pyspark
Время выполнения – 1,5 часа
Кому стоит записаться на курс?
Тем, кто уже знает программирование на Python.
6. Scalable Machine Learning on Big Data using Apache Spark
Время прохождения – 6 часов
Кому стоит записаться?
Тем, кто уже владеет Python, машинным обучением и базовыми знаниями SQL.
7. Big Data Analysis with Scala and Spark
Время прохождения – 27 часов
Кому стоит записаться?
Тем, у кого есть предыдущие знания программирования на любом языке.
8. Data Engineering with MS Azure Synapse Apache Spark Pools
Время прохождения – 7 часов
Кому стоит записаться на курс?
Тем, кто уже знает Python или SQL.
9. Building Machine Learning Pipelines in PySpark MLlib
Время выполнения – 1,5 часа
Кому стоит записаться?
Тем, кто знает Python и основы машинного обучения.
@sqlhub
👍14❤5🔥3
🔥 Краткий обзор 25 баз данных, которые актуальны в 2023 году.
Сейчас я познакомлю вас с 25 актуальными базами данных.
От классических фаворитов до передовых новичков,
приготовьтесь к дикой поездке по стране баз данных!
1. MySQL – The Classic
MySQL – это надежный дедушка баз данных – он существует с самой зари времен и каким-то образом продолжает становиться все лучше.
Благодаря высокой производительности и совместимости почти со всеми языками программирования.
2. MongoDB – NoSQL Hipster Kid
MongoDB - это крутая NoSQL база, которую я часто использую в своих проектах.
3. PostgreSQL – The Sophisticated One
PostgreSQL, возможно, представляет собой идеальное сочетание производительности, функциональности и элегантности.
4. Oracle – The Enterprise Behemoth
Oracle похож на популярного школьника, который получает одни пятерки, но при этом играет в каждой спортивной команде – он все делает хорошо!
5. Cassandra – Distributed Dynamo
Cassandra – это королева пчел распределенных баз данных – она обладает высокой масштабируемостью и отказоустойчивостью.
6. Redis – The Speedster
Redis – это тот единственный друг, который может бегать быстрее Усэйна Болта, жонглируя горящими бензопилами. Это хранилище данных in-memory отличается молниеносной скоростью и идеально подходит для кэширования или приложений реального времени.
7. MariaDB – MySQL’s Open-Source Sibling
MariaDB имеет много общего с MySQL, но при этом делает упор на открытый исходный код и ориентированность на сообщество. Это как выбор между Pepsi и Coke – они обе утоляют жажду, просто зависит от того, какой вкус вы предпочитаете!
▪ Читать дальше
@sqlhub
Сейчас я познакомлю вас с 25 актуальными базами данных.
От классических фаворитов до передовых новичков,
приготовьтесь к дикой поездке по стране баз данных!
1. MySQL – The Classic
CREATE TABLE users (id INT AUTO_INCREMENT PRIMARY KEY, name VARCHAR(255));
INSERT INTO users (name) VALUES ('John Rush');
SELECT * FROM users;
MySQL – это надежный дедушка баз данных – он существует с самой зари времен и каким-то образом продолжает становиться все лучше.
Благодаря высокой производительности и совместимости почти со всеми языками программирования.
2. MongoDB – NoSQL Hipster Kid
// Connect to MongoDB and insert a document
const { MongoClient } = require("mongodb");
const uri = "mongodb://localhost:27017";
const client = new MongoClient(uri);
await client.connect();
const db = client.db("mydb");
await db.collection("users").insertOne({ name: "John Rush" });
MongoDB - это крутая NoSQL база, которую я часто использую в своих проектах.
3. PostgreSQL – The Sophisticated One
CREATE TABLE users (id SERIAL PRIMARY KEY, name VARCHAR(255));
INSERT INTO users (name) VALUES ('John Rush');
SELECT * FROM users;
PostgreSQL, возможно, представляет собой идеальное сочетание производительности, функциональности и элегантности.
4. Oracle – The Enterprise Behemoth
CREATE TABLE users (id NUMBER GENERATED BY DEFAULT ON NULL AS IDENTITY PRIMARY KEY, name VARCHAR2(255));
INSERT INTO users (name) VALUES ('John Rush');
SELECT * FROM users;
Oracle похож на популярного школьника, который получает одни пятерки, но при этом играет в каждой спортивной команде – он все делает хорошо!
5. Cassandra – Distributed Dynamo
from cassandra.cluster import Cluster
cluster = Cluster(["127.0.0.1"])
session = cluster.connect()
session.execute("""
CREATE KEYSPACE mykeyspace
WITH replication={'class':'SimpleStrategy', 'replication_factor':1}
""")
session.set_keyspace("mykeyspace")
session.execute("""
CREATE TABLE users (
id UUID PRIMARY KEY,
name text
)
""")
Cassandra – это королева пчел распределенных баз данных – она обладает высокой масштабируемостью и отказоустойчивостью.
6. Redis – The Speedster
import redis
r = redis.Redis(host="localhost", port=6379)
r.set("name", "John Rush")
print(r.get("name"))
Redis – это тот единственный друг, который может бегать быстрее Усэйна Болта, жонглируя горящими бензопилами. Это хранилище данных in-memory отличается молниеносной скоростью и идеально подходит для кэширования или приложений реального времени.
7. MariaDB – MySQL’s Open-Source Sibling
CREATE TABLE users (id INT AUTO_INCREMENT PRIMARY KEY, name VARCHAR(255));
INSERT INTO users (name) VALUES ('John Rush');
SELECT * FROM users;
MariaDB имеет много общего с MySQL, но при этом делает упор на открытый исходный код и ориентированность на сообщество. Это как выбор между Pepsi и Coke – они обе утоляют жажду, просто зависит от того, какой вкус вы предпочитаете!
▪ Читать дальше
@sqlhub
👍14🔥4❤2
В редакторе кода задаете любой запрос про данные на естественном языке и без написания кода получаете готовый ответ по вашим данным.
Установка:
pip install pandasai
Например, вы можете попросить PandasAI найти все строки в DataFrame, где значение столбца больше 5, и он вернет DataFrame, содержащий только эти строки:
import pandas as pd
from pandasai import PandasAI
df = pd.DataFrame({
"country": ["United States", "United Kingdom", "France", "Germany", "Italy", "Spain", "Canada", "Australia", "Japan", "China"],
"gdp": [19294482071552, 2891615567872, 2411255037952, 3435817336832, 1745433788416, 1181205135360, 1607402389504, 1490967855104, 4380756541440, 14631844184064],
"happiness_index": [6.94, 7.16, 6.66, 7.07, 6.38, 6.4, 7.23, 7.22, 5.87, 5.12]
})
# Instantiate a LLM
from pandasai.llm.openai import OpenAI
llm = OpenAI(api_token="YOUR_API_TOKEN")
pandas_ai = PandasAI(llm)
pandas_ai(df, prompt='Which are the 5 happiest countries?')
Вывод:
6 Canada
7 Australia
1 United Kingdom
3 Germany
0 United States
Name: country, dtype: object
Конечно, вы также можете попросить PandasAI выполнить более сложные запросы. Например, вы можете попросить PandasAI найти сумму ВВП двух самых несчастливых стран:
pandas_ai(df, prompt='What is the sum of the GDPs of the 2 unhappiest countries?')
Вывод:
19012600725504
Вы также можете попросить PandasAI нарисовать график:
pandas_ai(
df,
"Plot the histogram of countries showing for each the gdp, using different colors for each bar",
)
Вот еще один пример использования библиотеки Pandas AI в Google Colab.
▪ Github
@sqlhub
Please open Telegram to view this post
VIEW IN TELEGRAM
👍13🔥7❤3👎1