Свалка черновиков кода:


create table `temporary_db`.test1
( a varchar(10) not null
);

-- this fails:

-- insert into test1
-- set a = '12345678901';

insert into test1
set a = '1234567890';

insert into test1
set a = left('12345678901',10);

select * from test1;


SELECT CONCAT (
        ', PARTITION part'
        , ((2000 + a10year * 10 + a1year) * 100 + amonth)
        , ' VALUES IN ('
        , ((2000 + a10year * 10 + a1year) * 100 + amonth)
        , ')'
        ) AS apart
    , (2000 + a10year * 10 + a1year) * 100 + amonth AS ayearmonth
    , (2000 + a10year * 10 + a1year) AS ayear
    , a10year
    , a1year
    , amonth
FROM (SELECT 1 as amonth UNION ALL SELECT 2 UNION ALL SELECT 3 UNION ALL SELECT 4 
      UNION ALL SELECT 5 UNION ALL SELECT 6 UNION ALL SELECT 7
      UNION ALL SELECT 8 UNION ALL SELECT 9 UNION ALL SELECT 10 
      UNION ALL SELECT 11 UNION ALL SELECT 12) y
CROSS JOIN
     (SELECT 1 as a1year UNION ALL SELECT 2 UNION ALL SELECT 3 UNION ALL SELECT 4 
      UNION ALL SELECT 5 UNION ALL SELECT 6 UNION ALL SELECT 7 
      UNION ALL SELECT 8 UNION ALL SELECT 9 UNION ALL SELECT 10) x 
CROSS JOIN
     (SELECT 1 as a10year UNION ALL SELECT 2 UNION ALL SELECT 3) d
order by a10year, a1year, amonth
;      


@ECHO OFF

chcp 1251 >NUL
set MSG01=Выполняется резервное копирование в файл
set MSG02=, ждите завершения...
set MSG03=Ошибка резервного копирования!!! Проверте сообщения в журнале событий.
chcp 866 >NUL

echo Starting backup to file "C:\mySAT2\source\v2_84_trunk\bin\Log\2016_11_27.log"... >> "C:\mySAT2\source\v2_84_trunk\bin\Log\2016_11_27.log"
echo %MSG01% "C:\mySAT2\source\v2_84_trunk\bin\Log\2016_11_27.log" %MSG02%
"C:\Program Files\MySQL_for_Spootnik\bin\mysqldump.exe" -u root -proot --quick --verbose --databases debug_db_2__ > "C:\mySAT2\source\v2_84_trunk\bin\Spootnik_Backup_1.sql" 2>> "C:\mySAT2\source\v2_84_trunk\bin\Log\2016_11_27.log" && echo Backup done. >> "C:\mySAT2\source\v2_84_trunk\bin\Log\2016_11_27.log" || ( echo %MSG03% & pause )

/* ---
      TStartupInfo SI;
      TProcessInformation PI;

      memset(&SI, 0, sizeof(SI));
      SI.cb = sizeof(SI);
      SI.wShowWindow = SW_NORMAL;

      SI.dwFlags = STARTF_USESHOWWINDOW;// | STARTF_FORCEONFEEDBACK;
      SI.wShowWindow = SW_SHOWNORMAL;

      memset(&PI, 0, sizeof(PI));


      char cmdLineBuffer[1024];
      strcpy( cmdLineBuffer, batchFileName.c_str() );

//      ShowMessage( AnsiString( cmdLineBuffer ) );


      if( CreateProcess( 0,cmdLineBuffer,0, 0, false, 0, 0, 0, &SI, &PI ) )
      {
        //Æäåì çàâåðøåíèÿ èíèöèàëèçàöèè.
    //    WaitForInputIdle(PI.hProcess, INFINITE);
        //Æäåì çàâåðøåíèÿ ïðîöåññà.
        WaitForSingleObject(PI.hProcess, INFINITE);
        //Ïîëó÷àåì êîä çàâåðøåíèÿ.
    //    GetExitCodeProcess(PI.hProcess, ExitCode);
        //Çàêðûâàåì äåñêðèïòîð ïðîöåññà.
        CloseHandle(PI.hThread);
        //Çàêðûâàåì äåñêðèïòîð ïîòîêà.
        CloseHandle(PI.hProcess);
      }
      else
      {
        ShowMessage(SysErrorMessage(GetLastError()));
      }
--- */



void MoveToModule(TForm *Source, TDataModule *Dest)

{
  int I;

  TComponent *Temp;

  for (I = Source->ComponentCount - 1; I >= 0; I--)

  {
    Temp = Source->Components[I];
    // only move components that are not controls
    if (dynamic_cast<TControl *>(Temp) == NULL)
    {
      Source->RemoveComponent(Temp);
      Dest->InsertComponent(Temp);
    }
  }
}


void __fastcall TForm1::FormCreate(TObject *Sender)

{
  for (int i = 0; i < DataModule2->ComponentCount; i++)
  {
    if (DataModule2->Components[i]->ClassNameIs("TDataSource"))
      ListBox1->Items->AddObject(DataModule2->Components[i]->Name,
        (TObject *)DataModule2->Components[i]);
  }
}


C:\Program Files\Parallels\Parallels Tools\Applications;C:\PROGRA~1\Borland\CBUILD~1\Bin;C:\PROGRA~1\Borland\CBUILD~1\Projects\Bpl;%SystemRoot%\system32;%SystemRoot%;%SystemRoot%\System32\Wbem;C:\Program Files\CollabNet Subversion;C:\Program Files\cvsnt


Customer->InsertRecord(ARRAYOFCONST((CustNoEdit->Text,CoNameEdit->Text,AddrEdit->Text, Null, Null, Null, Null, Null, Null,DiscountEdit->Text)));


MySQL Server Instance Config Wizard

CASE  
WHEN LessonIsIndividual THEN  
	CASE  
	WHEN LessonHasTwoTeachers THEN  
	  LessonChargeSum * 40 / 100 
	ELSE 
	  LessonChargeSum * 80 / 100
	END
ELSE 
	CASE  
	WHEN LessonHasTwoTeachers THEN  
	  LessonChargeSum * 25 / 100 
	ELSE 
	  LessonChargeSum * 50 / 100
	END
END



CASE  
WHEN LessonIsIndividual THEN  
  LessonChargeSum * 80 / 100 
ELSE 
	CASE  
	WHEN LessonHasTwoTeachers THEN  
	  LessonChargeSum * 25 / 100 
	ELSE 
	  LessonChargeSum * 50 / 100
	END
END





TResultsForm *rf = new TResultsForm(this);	// rf is local form instance
 rf->ShowModal();
 delete rf;						





function Login  :Boolean;
begin
  LoginForm := TLoginForm.Create(nil);
  if LoginForm.ShowModal = mrOk
  then Result := true
  else Result := false;
  LoginForm.Free;
end;

begin
 Application.Initialize;

 if Login then
 begin

  Application.CreateForm(TBroker, Broker);
  count := Broker.GetFormsCount;
  Application.CreateForm(TMainForm, MainForm);
  Broker.BuildSystem;

  Application.Run;
 end;
 Broker.KillSystem;
end.



Form1.Visible := true;
Application.ShowMainForm := true;


void __fastcall TForm1::FormCreate(TObject *Sender)

{
  Application->OnException = AppException;
}

void __fastcall TForm1::AppException(TObject *Sender, SysUtils::Exception *E)

{
  Application->ShowException(E);
  Application->Terminate();
}



TDBGrid * pGrid = dynamic_cast<TDBGrid *>(Sender);
  TRect r = Rect;

  if (pGrid)
  {


canvas->TextWidth( str )	


CustTable->DisableControls();

try
{
  CustTable->First();
  while (!CustTable->Eof)
  {
    // Process each record here
    CustTable->Next();
  }
__finally
{
  CustTable->EnableControls();
}
}


if (Source->InheritsFrom(__classid(TFileListBox)))
...

if Source->ClassNameIs("TLabel") )
...

TDragObjectEx

TDragImageList


try
      {
        AlphaPrimaryForm->ShowOver( MainForm );
        modalResult = TForm::ShowModal();
      }
      __finally
      {
        AlphaPrimaryForm->Hide();
      }


    
    
    try
    {
      AlphaForm->ShowOver( MainForm );
      modalResult = SelectDatesForm->ShowModal();
    }
    __finally
    {
      AlphaForm->Hide();
    }




   $00EBE5DE

$00AF8B6C


$006B6154 заголовок



$006B6154 шрифт

$00EBE5DE фон

, "..."

 $00ABD5E0 коричн

SHOW_PROGRESS(  );
PROGRESS( 1, "Помечаем в кэше дату, требующую пересчёта..." );

PROGRESS( 2, "Сохраняем изменения в абонементе в базу данных..." );

PROGRESS( 3, "Пересчитываем кэш за эту дату..." );

PROGRESS( , "Обновляем список клиентов..." );

PROGRESS( , "Обновляем список абонементов..." );

PROGRESS( , "Обновляем список занятий..." );

PROGRESS( , "Обновляем список финансовых операций..." );

HIDE_PROGRESS


#include "RegrProgressForm.h"

SHOW_PROGRESS( 2 );
PROGRESS( 1, "Готовим данные к печати..." );

HIDE_PROGRESS


unit UnitColorConstants; 
{----------------------------------------------------------------- 
    Unit Name: UnitColorConstants 
    Version: 2.0 
    Author: Stewart Moss 
    Creation Date: Jan 31 2002 11:54 pm 
    Modification Date: Feb 21 2002 
    Dependancies: 
    Description: 
-- This code is copyright (Jan 31 2002) by Stewart Moss 
-- All rights Reserved. 
-----------------------------------------------------------------} 
interface 
uses Graphics; 
const 
  clNicePaleGreen = TColor($CCFFCC); 
  clPaleRed = TColor($CCCCFF); 
  clNicePurple = TColor($00E1E100); 
  clKhaki = TColor($ADAE80); 
  clMonkeyGreen = TColor($00C0DCC0); 
  clSkyBlue = TColor($00F1CAA6); 
  clMedGray = TColor($00A4A0A0); 
  clCream = TColor($00EFFBFF); 
  clChocolate = TColor($17335C); 
  clDarkBrown = TColor($5C3340); 
  clDarkSlateGrey = TColor($4F4F2F); 
  clDarkTan = TColor($4F6997); 
  clDarkWood = TColor($425E85); 
  clLightWood = TColor($A6C2E9); 
  clMediumWood = TColor($6480A6); 
  clNewTan = TColor($9EC7EB); 
  clSemiSweetChocolate = TColor($26426B); 
  clSienna = TColor($236B8E); 
  clWheat = TColor($BFD8D8); 
  clBrass = TColor($42A6B5); 
  clBronze = TColor($53788C); 
  clBronzeII = TColor($3D7DA6); 
  clCoolCopper = TColor($1987D9); 
  clCopper = TColor($3373B8); 
  clQuartz = TColor($F3D9D9); 
  clFieldSpar = TColor($7592D1); 
  clGoldenrod = TColor($70DBDB); 
  clMediumGoldenrod = TColor($AEEAEA); 
  clBrightGold = TColor($19D9D9); 
  clGold = TColor($327FCD); 
  clOldGold = TColor($3BB5CF); 
  clCoral = TColor($007FFF); 
  clFirebrick = TColor($23238E); 
  clIndianRed = TColor($2F2F4E); 
  clMandarianOrange = TColor($3378E4); 
  clMediumVioletRed = TColor($9370DB); 
  clNeonPink = TColor($C76EFF); 
  clOrangeRed = TColor($0024FF); 
  clScarlet = TColor($17178C); 
  clSpicyPink = TColor($AE1CFF); 
  clThistle = TColor($D8BFD8); 
  clVioletRed = TColor($9932CC); 
  clDarkOliveGreen = TColor($2F4F4F); 
  clForestGreen = TColor($238E23); 
  clHunterGreen = TColor($215E21); 
  clMediumForestGreen = TColor($238E6B); 
  clMediumSeaGreen = TColor($426F42); 
  clMediumSpringGreen = TColor($00FF7F); 
  clPaleGreen = TColor($8FBC8F); 
  clSeaGreen = TColor($688E23); 
  clSpringGreen = TColor($7FFF00); 
  clYellowGreen = TColor($32CC99); 
  clAquamarine = TColor($93DB70); 
  clCadetBlue = TColor($9F9F5F); 
  clCornFlowerBlue = TColor($6F4242); 
  clDarkTurquoise = TColor($DB9370); 
  clLightBlue = TColor($D9D9C0); 
  clLightSteelBlue = TColor($BD8F8F); 
  clMediumAquamarine = TColor($99CD32); 
  clMediumBlue = TColor($CD3232); 
  clMediumTurquoise = TColor($DBDB70); 
  clMidnightBlue = TColor($4F2F2F); 
  clNeonBlue = TColor($FF4D4D); 
  clNewMidnightBlue = TColor($9C0000); 
  clRichBlue = TColor($AB5959); 
  clSlateBlue = TColor($FF7F00); 
  clSteelBlue = TColor($8E6B23); 
  clSummerSky = TColor($DEB038); 
  clTurquoise = TColor($EAEAAD); 
  clBlueViolet = TColor($9F5F9F); 
  clOrchid = TColor($DB70DB); 
  clDarkPurple = TColor($781F87); 
  clViolet = TColor($4F2F4F); 
  clDarkOrchid = TColor($CD3299); 
  clMediumSlateBlue = TColor($007FFF); 
  clDarkSlateBlue = TColor($8E236B); 
  clMediumOrchid = TColor($DB7093); 
implementation 
end.




select a1.val | a2.val*16 | a3.val*256 | a4.val*4096 | a5.val*65536 + @a
from @numbers a1,@numbers a2,@numbers a3,@numbers a4,@numbers a5 
where a5.val<=@n/65536 
	and a4.val<=(@n-a5.val*65536)/4096 
	and a3.val<=(@n-a5.val*65536-a4.val*4096)
	and a1.val+a2.val*16<=@n-(a3.val*256+a4.val*4096+a5.val*65535)
order by a1.val | a2.val*16 | a3.val*256 | a4.val*4096 | a5.val*65536


select
  t1.n + t2.n*10 + t3.n*100
from
  (select 0 as n union all select 1 union all select 2 union all select 3 union all select 4 union all select 5 union all select 6 
union all select 7 union all select 8 union all select 9) t1
  cross join
  (select 0 as n union all select 1 union all select 2 union all select 3 union all select 4 union all select 5 union all select 6 
union all select 7 union all select 8 union all select 9) t2
  cross join
  (select 0 as n union all select 1 union all select 2 union all select 3 union all select 4 union all select 5 union all select 6 
union all select 7 union all select 8 union all select 9) t3
where
  t1.n + t2.n*10 + t3.n*100 < 666
order by
  1


* A [INNER] JOIN B ON A.Field1 = B.Field2 - внутренее соединение, наиболее частая операция, выражается также без JOIN'а через WHERE:
SELECT ... FROM A,B WHERE A.Field1 = B.Field2

Если для какой-то записи из A не найдется записей из B, удовлетворяющих заданному условию соединения — то в результате таких записей из A не будет.

* A LEFT [OUTER] JOIN B ON A.Field1 = B.Field2 - левое внешнее соединение. Тоже очень частая операция. Все то же самое, что и внутренее, но если для записи из A не нашлось ни одной записи из B, то в результат уйдет ОДНА запись, у которой поля A — из записи таблицы A, а поля B — NULL

* A RIGHT [OUTER] JOIN B ON A.Field1 = B.Field2 эквивалентно 
B LEFT [OUTER] JOIN A ON B.Field2 = A.Field1, только столбцы местами обменяются. 

* A FULL [OUTER] JOIN B ON A.Field1 = B.Field2 - полное внешнее соединение.
Ну, тут уже пора самому догадаться, что это такое.
Все пары записей, удовлетворяющие условию — в результат. Для тех записей из A, для которых не нашлось пары — в результате одна запись с NULL в полях B.Для тех записей из B, для которых не нашлось пары — в результате одна запись с NULL в полях A.

   ---

Посмотрим на один пример. Дана таблица с ценами продуктов, нужно выполнить ежемесячное обновление цен; новые цены хранятся в другой таблице.
UPDATE ProductPrices
SET price = (SELECT N.price
             FROM NewPrices AS N
             WHERE N.sku = ProductPrices.sku),
    effective_start_date = CURRENT_TIMESTAMP
WHERE EXISTS(SELECT *
             FROM NewPrices AS N
             WHERE N.sku = ProductPrices.sku);


SELECT C.color
FROM Colors AS C
WHERE NOT EXISTS(SELECT * 
                 FROM Products AS P
                 WHERE C.color = P.color);

SELECT C.color
  FROM Colors AS C
    LEFT OUTER JOIN Products AS P
      ON C.color = P.color
    WHERE P.color IS NULL;

Logger.Log( Str( "" ) );
 
 RichEdit1.SelStart:=200;
  RichEdit1.Perform(EM_SCROLLCARET,0,0);
  RichEdit1.SetFocus;  
  SendMessage(RichEdit1.Handle,WM_KEYDOWN,VK_RIGHT,0);
  SendMessage(RichEdit1.Handle,WM_KEYDOWN,VK_LEFT,0);



mysqldump --opt db_name | mysql --host=remote_host -C db_name



SELECT a,b,a+b INTO OUTFILE '/tmp/result.text'
FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '"'
LINES TERMINATED BY '\n'
FROM test_table;