-
MY PROJECTS
-
Recent Posts
- SQL.How can you compare two nullable values safely, and how does IS DISTINCT FROM differ from <>?
- SQL.How are NULL values ordered by ORDER BY, how do defaults differ between databases, and how can you control their placement?
- SQL.How does NULL propagate through arithmetic expressions, and how can COALESCE and NULLIF help handle missing values and division by zero?
- SQL.How does NULL affect join conditions, and why can filtering the right-hand table in WHERE remove unmatched rows from a LEFT JOIN?
- SQL.How do GROUP BY and DISTINCT treat NULL values, even though NULL = NULL evaluates to UNKNOWN?
- SQL.How do aggregate functions handle NULL, and what is the difference between COUNT(*), COUNT(column), and COUNT(DISTINCT column)?
- SQL.How does NULL affect IN and NOT IN, and why can NOT EXISTS be a safer choice when a subquery returns nullable values?
- SQL.How do WHERE, HAVING, and CHECK constraints treat conditions that evaluate to UNKNOWN?
- SQL.Why do column = NULL and column <> NULL not work as expected, and when should you use IS NULL and IS NOT NULL?
- SQL.What is SQL’s three-valued logic (TRUE, FALSE, UNKNOWN), and how do AND, OR, and NOT behave with UNKNOWN?
- ChromeDevTools.Watch all failed requests
- SQL.What are domain types (or constraints on data types), and how do they help enforce data correctness?
- SQL.How does SQL handle comparisons between different data types (for example, string vs number), and why is this dangerous?
- SQL.What is the difference between DATE, TIME, TIMESTAMP, and TIMESTAMPTZ, and which one should be used for business events?
- SQL.How do numeric types like INTEGER, BIGINT, DECIMAL, and FLOAT differ in terms of precision and use cases?
- SQL.What problems can arise from implicit type casting in SQL, and how can it affect indexes?
- SQL.How does NULL differ from 0, an empty string, or FALSE in SQL?
- SQL.What is the difference between CHAR, VARCHAR, and TEXT, and when would you choose each?
- SQL.What is MVCC ?
- SQL.What is AutoVacuum Postgres ?
Categories
- Aptana
- Azure
- C#
- DataSnap
- DBExpress
- Delphi
- Delphi и сети
- Delphi. Язык программирования
- ExtJS
- FastReport
- FireDAC
- FireMonkey
- GIT
- ICS
- IDE
- IIS
- Indy
- InnoSetup
- javascript
- jQuery
- JSON
- LiveBindings
- MSHTML
- MySQL
- PHP
- REST
- Ribbons
- SMS
- SQL инструкции
- SVN
- TRichView
- UniGui
- WebBroker
- WinAPI
- Windows
- Алгоритмы
- Без рубрики
- Деревья
- Ищу ответ
- Компонентостроение
- Мои компоненты
- Начальный уровень
- Обработка исключений
- Парсинг
- Потоки(Threads)
- Регулярные выражения
- Тестирование приложений
Category Archives: MySQL
Delphi. UniGUI. Делаем авторизацию через СМС. Часть 2 – база данных и логика программы
Результат у меня получился таким После отправки кода, в случае корректного результата происходит переход на нужную страницу и уходит сообщение админу, либо открывается форма.
Delphi. MySQL. Пример добавления даты и времени в базу данных
Как вариант можно хранить TDateTime в качестве строки. Допустим у нас в базе есть поле CreationDateTime varchar(45);
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 |
procedure TEventsListView.UpdateDate; var NowStr:string; begin //Создание //Настройка qUpdateDate.Connection:=FDBConnection.FDConnection; //Основная работа NowStr:=DateTimeToStr(Now); NowStr:=''''+NowStr+''''; // <<< Сработало только с 4 кавычками!!! ShowMessage(NowStr); qUpdateDate.SQL.Text:='UPDATE `somedatabase_db`.`sometable` SET `CreationDateTime`='+NowStr+' WHERE `id`=1;'; //UPDATE `somedatabase_db`.`sometable` SET `CreationDateTime`='123' WHERE `id`='1'; ShowMessage(qUpdateDate.SQL.Text); qUpdateDate.ExecSQL; // end; |
Обратно можно преобразовать с помощью StrTODateTime;
В чем разница между identifying and non-identifying relationships?
Теперь, собственно попробуем наладить взаимосвязи! Но прежде, разберемся с пунктирными и непунктирными линиями во взаимосвязях Классные объяснения на английском находятся здесь. Больше всего мне понравилось вот это объяснение A book belongs to an owner, and an owner can own … Continue reading
Posted in MySQL
Comments Off on В чем разница между identifying and non-identifying relationships?
MySQL. InnoSetup. “Тихая установка”. Добавляем Uninstall MySQL сервера при деинсталляции основной программы
Чтобы добавить возможность деинсталляции MySQL сервера при деинсталляции основной программы, нужно в код InnoSetup добавить следующую инструкцию
|
1 2 |
[UninstallRun] Filename: msiexec; Parameters: "/i ""{app}\mysql-5.5.23-winx64.msi "" " |
Код целиком, будет выглядеть следующим образом, он включает в себя инсталляцию основной программы, инсталляцию сервера базы данных и его конфигурирование, и его … Continue reading
MySQL. InnoSetup. “Тихая установка”. Загрузка своей базы данных при инсталляции
Продолжаю прошлую тему – устанавливать “тихо” MySQL сервер мы научились. Что дальше? В данном посте посмотрим как при инсталляции сервера MySQL добавить в него свою базу данных. Для этого нам нужен собственно дамп базы, далее нужно дать команду серверу, после … Continue reading
MySQL. “Тихая” установка при помощи InnoSetup
Когда нужна тихая установка? Например, при установке своей программы, которая опирается на базу данных, например, на mysql. Разберем пример тихой установки 64 битного сервера MySQL в директорию C:\mysql. Импорт базы данных разберем в следующем посте. Работать в основном будем с … Continue reading
Delphi. MySQL. Копирование записи
Часто встречается такая задача, чтобы не искать долго по интернетам, решил вывести её решение в отдельный пост. Решение задачи базируется на удобной возможности MySQL Insert… Select…
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 |
//---------------------------------Копирование записей в БД----------------------------- function CopyRecordInDB(SourceID: integer): integer; var qSelectInsert: TFDQuery; qGetKey: TFDQuery; begin qSelectInsert := TFDQuery.Create(nil); try qSelectInsert.Connection := FDConnection; qSelectInsert.SQL.Text:= 'INSERT INTO `treeview_db`.`tree`'+ '(`IdParent`,'+ '`Name`,'+ '`Index`,'+ '`isChecked`,'+ '`IsExpanded`,'+ '`Level`,'+ '`IsFolder`)'+ 'SELECT'+ '`IdParent`,'+ '`Name`,'+ '`Index`,'+ '`isChecked`,'+ '`IsExpanded`,'+ '`Level`,'+ '`IsFolder`'+ ' from'+ '`treeview_db`.`tree` where id = :id' ; qSelectInsert.Params.ParamValues['id'] := SourceId; qSelectInsert.ExecSQL; finally qSelectInsert.Free; end; end; |
MySQL.Workkbench. Дампы.Данные.Модели
В данной статье разбираюсь с WorkBench. Вот основные задачи, которые хочу записать в данной статье. -Экспорт/Импорт дампа из WorkBench -Изменение данных в WorkBench -Работа с моделями Я не буду углубляться в каждый из разделов. Цель статьи – понять на принципиальном уровне … Continue reading
Posted in MySQL
Comments Off on MySQL.Workkbench. Дампы.Данные.Модели
FireDAC.MySQL. Как изменить кодировку при русских символах в БД?
Столкнулся с простой и популярной проблемой. При отображении данных из БД MySQL русские символы отображались вот так Лечится это просто – выставлением Charset в FDConnection либо на utf-8 либо на cp1251
MySQL. Как изменить таблицы из WorkBench?
Практически всегда таблицы меняются, добавляются новые поля, удаляются старые, меняются взаимосвязи. В данной статье посмотрим как быстро и просто синхронизировать изменения в модели с изменениями в физической БД при помощи WorkBench. Возможно для кого-то эта информация будет полезной. Пусть у … Continue reading
Posted in MySQL
Comments Off on MySQL. Как изменить таблицы из WorkBench?