<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="pl">
	<id>http://brain.fuw.edu.pl/edu/index.php?action=history&amp;feed=atom&amp;title=%2FDefinicjaDanych</id>
	<title>/DefinicjaDanych - Historia wersji</title>
	<link rel="self" type="application/atom+xml" href="http://brain.fuw.edu.pl/edu/index.php?action=history&amp;feed=atom&amp;title=%2FDefinicjaDanych"/>
	<link rel="alternate" type="text/html" href="http://brain.fuw.edu.pl/edu/index.php?title=/DefinicjaDanych&amp;action=history"/>
	<updated>2026-04-18T15:56:48Z</updated>
	<subtitle>Historia wersji tej strony wiki</subtitle>
	<generator>MediaWiki 1.34.1</generator>
	<entry>
		<id>http://brain.fuw.edu.pl/edu/index.php?title=/DefinicjaDanych&amp;diff=2022&amp;oldid=prev</id>
		<title>Jarekz: Utworzono nową stronę &quot;= TI:WTBD/DefinicjaDanych = ;CREATE TABLE .. :CREATE TABLE [IF NOT EXISTS] ''nazwa''  ::(''kol1 typ1 opcje1'', ::''kol2 typ2 opcje2'', .. ::''opcje_tabeli''); :::opc...&quot;</title>
		<link rel="alternate" type="text/html" href="http://brain.fuw.edu.pl/edu/index.php?title=/DefinicjaDanych&amp;diff=2022&amp;oldid=prev"/>
		<updated>2015-05-23T14:42:16Z</updated>

		<summary type="html">&lt;p&gt;Utworzono nową stronę &amp;quot;= &lt;a href=&quot;/edu/index.php/TI:WTBD&quot; title=&quot;TI:WTBD&quot;&gt;TI:WTBD&lt;/a&gt;/DefinicjaDanych = ;CREATE TABLE .. :CREATE TABLE [IF NOT EXISTS] &amp;#039;&amp;#039;nazwa&amp;#039;&amp;#039;  ::(&amp;#039;&amp;#039;kol1 typ1 opcje1&amp;#039;&amp;#039;, ::&amp;#039;&amp;#039;kol2 typ2 opcje2&amp;#039;&amp;#039;, .. ::&amp;#039;&amp;#039;opcje_tabeli&amp;#039;&amp;#039;); :::opc...&amp;quot;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Nowa strona&lt;/b&gt;&lt;/p&gt;&lt;div&gt;= [[TI:WTBD]]/DefinicjaDanych =&lt;br /&gt;
;CREATE TABLE ..&lt;br /&gt;
:CREATE TABLE [IF NOT EXISTS] ''nazwa'' &lt;br /&gt;
::(''kol1 typ1 opcje1'',&lt;br /&gt;
::''kol2 typ2 opcje2'', ..&lt;br /&gt;
::''opcje_tabeli'');&lt;br /&gt;
:::opcje kolumn (ogólne): &lt;br /&gt;
:::*PRIMARY KEY&lt;br /&gt;
:::*DEFAULT ''wartość''&lt;br /&gt;
:::*NOT NULL | NULL&lt;br /&gt;
:::*REFERENCES ''tabela2(kol2i)'' ''reguła referencyjna''&lt;br /&gt;
:::opcje kolumn (niektórych typów):&lt;br /&gt;
:::*UNSIGNED&lt;br /&gt;
:::*BINARY&lt;br /&gt;
:::*ZEROFILL&lt;br /&gt;
:::opcje tabeli:&lt;br /&gt;
:::*PRIMARY KEY(''kol1, kol2, ...'')&lt;br /&gt;
:::*INDEX [''nazwa''] (''kol1, kol2, ...'')&lt;br /&gt;
:::*UNIQUE [''nazwa''](''kol1, kol2, ...'')&lt;br /&gt;
:::*FOREIGN KEY [''nazwa''](''kol1, kol2, ...'') REFERENCES ''tabela2(kol21,kol22, ...)'' [ON DELETE RESTRICT|CASCADE|SET NULL] [ON UPDATE RESTRICT|CASCADE|SET NULL]&lt;br /&gt;
;ALTER TABLE ..&lt;br /&gt;
;DROP TABLE [IF EXISTS] ''nazwa'';&lt;br /&gt;
:wiąże się z usunięciem wszystkich danych z tabeli, co może mieć dalsze konsekwencje w przypadku istnienia więzów integralności referencyjnej&lt;br /&gt;
;Nazwy&lt;br /&gt;
:W większości systemów tabele przypisane są do ''baz'' (zbiorów tabel, i zresztą nie tylko), w większości instrukcji nazwa tabeli może (lecz nie musi) być poprzedzona nazwą bazy, oddzieloną kropką:&lt;br /&gt;
::''nazwa_bazy.nazwa_tabeli''&lt;br /&gt;
:jeśli nazwa bazy nie występuje, przyjmowana jest baza domyślna (aktualna).&lt;br /&gt;
&lt;br /&gt;
== Typy danych ==&lt;br /&gt;
#napisowe (''String''): CHAR, VARCHAR, TEXT, ...&lt;br /&gt;
#liczbowe (''Numeric''): INT, BIGINT, FLOAT, DECIMAL, ...&lt;br /&gt;
#data i godzina (''Datetime''): DATE, TIME, TIMESTAMP, ...&lt;br /&gt;
#przedział czasu (''Interval'')&lt;br /&gt;
Wiele typów dopuszcza modyfikatory określające jakoś ,,rozmiar&amp;quot; -- np. CHAR(10).&lt;br /&gt;
Powszechnie stosowanym rozszerzeniem jest typ BLOB i jego warianty.&lt;br /&gt;
Wartość NULL pasuje do każdego typu.&lt;br /&gt;
''Nie'' przewidziano typu BOOLEAN czy analogicznego (dwuwartościowego, który mógłby służyć za typ wartości wyrażeń logicznych).&lt;br /&gt;
&lt;br /&gt;
'''UWAGA:''' ''SQLite'' (będziemy używać na ćwiczeniach) ma ''mocno'' niestandardowe podejście do typów danych: deklarowanie typów jest ''opcjonalne''. Kolumny tabel charakteryzują się tzw. afinicznością typu (''type affinity''). Afiniczność prowadzi w szeregu sytuacji do automatycznej konwersji typu danych przy wstawianiu do tabeli danych odmiennych typów. Nie wyklucza jednak możliwości wstawiania danych ze względu na niezgodność typu.&lt;br /&gt;
&lt;br /&gt;
== Modyfikacja (edycja) danych -- elementarz ==&lt;br /&gt;
;INSERT -- wstawianie&lt;br /&gt;
:INSERT INTO ''nazwa'' [(''kol1, ...'')] VALUES (''war1, ...'');&lt;br /&gt;
::wiele systemów dopuszcza więcej niż jedną listę wartości w jednym INSERT; SQLite akurat nie.&lt;br /&gt;
;DELETE -- usuwanie&lt;br /&gt;
:DELETE FROM ''tabela'' WHERE ''warunek'';&lt;br /&gt;
::''warunek'' jest opcjonalny, ale jeżeli go nie ma -- usunięte zostaną '''wszystkie''' wiersze&lt;/div&gt;</summary>
		<author><name>Jarekz</name></author>
		
	</entry>
</feed>