09
kwietnia
2007
Ostatnio zainteresował mnie wynalazek zwany cheat sheet. Zaczęło się wszystko od tego, że znalazłem takowe tablice do Ruby on Rails, a potem zapragnąłem mieć ich więcej do innych popularnych narzędzi z których korzystam na codzień. I tak oto kolejnym dla mnie problemem okazały się braki w obsłudze MySQL. Postanowiłem zatem poszukach cheatów do tego, jednak nic nie zadowalało mnie w pełni. Cóż mi pozostało? Napisać własne cheat sheet do tego co potrzebuję. I oto one: MySQL cheat sheet. (Być może w przyszłości zamieszczę także wersję PDF.)
mysql> USE database;
mysql> SHOW DATABASES;
mysql> SHOW TABLES;
mysql> SHOW TABLES FROM database;
mysql> DESCRIBE table; lub mysql> SHOW columns FROM database;
mysql> CREATE DATABASE db_name;
mysql> CREATE TABLE table_name (field1_name TYPE(SIZE), field2_name TYPE(SIZE));Przykład: mysql> CREATE TABLE pet (name VARCHAR(20), sex CHAR(1), birth DATE);
mysql> LOAD DATA LOCAL INFILE “file.txt” INTO TABLE table_name;
mysql> ALTER TABLE table ADD COLUMN [składnia nowej kolumny] (AFTER|BEFORE) col_name;
mysql> INSERT INTO table_name (name, owner, date, wife) VALUES (’MyName’, ‘MyOwner’, ‘2002-08-31′,
NULL);mysql> mysql> CREATE TABLE table (number INT NOT NULL AUTO_INCREMENT, name CHAR(10) NOT NULL);
mysql> UPDATE table SET column_name1 = "new_value", column_name2 = "new_value2" WHERE record_name = "value";
mysql> SELECT from_columns FROM table WHERE warunki;
mysql> SELECT * FROM table;
mysql> SELECT * FROM table WHERE sth_name = "value";
mysql> SELECT * FROM table WHERE rec1 = "value1" AND rec2 = "value2";
mysql> SELECT some_column FROM table;
mysql> SELECT col1,col2 FROM table ORDER BY
col2
[ASC|DESC];
SELECT DISTINCT col_name FROM table;
mysql> SELECT field1,field2,COUNT(*) FROM table;
mysql> SELECT COUNT(*) FROM table;
mysql> SELECT * FROM table WHERE sth LIKE "bla,b_a,bl_%";
Znak % zastępuje dowolny ciąg niebiałych znaków.mysql> SELECT * FROM table WHERE sth (RLIKE|REGEXP) "^regular expression$";
BINARY
mysql> SELECT DATABASE();
mysql> ALTER TABLE table_name RENAME AS new_table_name;
mysql> ALTER TABLE table_name CHANGE COLUMN col_name new_col_name new_col_type;
mysql> DELETE FROM table_name;
mysql> mysql> ALTER TABLE table DROP COLUMN col;
mysql> DROP TABLE table_name;
mysql> DROP DATABASE db_name;
# mysqldump --opt -u username -p database > database_backup.sql
(Użyj 'mysqldump --opt --all-databases > all_backup.sql' aby zrobić backup wszystkiego.)
| Numeryczne typy danych MySQL | ||
|---|---|---|
| Typ | Rozmiar | Opis |
| TINYINT[długość] | 1 bajt | Liczba z zakresu od –128 do 127 lub od 0 do 255, jeżeli jest typu UNSIGNED. |
| SMALLINT[Długość] | 2 bajty | Liczba z zakresu od –32 768 do 32 767 lub od 0 do 65 535, jeżeli jest typu UNSIGNED. |
| MEDIUMINT[Długość] | 3 bajty | Liczba z zakresu od –8 388 608 do 8 388 607 lub od 0 do 16 777 215, jeżeli jest typu UNSIGNED. |
| INT[Długość] | 4 bajty | Liczba z zakresu od –2 147 483 648 do 2 147 483 647 lub od 0 do 4 294 967 295, jeżeli jest typu UNSIGNED. |
| BIGINT[Długość] | 8 bajtów | Liczba z zakresu od –9 223 372 036 854 775 808 do 9 223 372 036 854 775 807 lub od 0 do 18 446 744 073 709 551 615, jeżeli jest typu UNSIGNED. |
| FLOAT[Długość,Pozycje] | 4 bajty | Mała wartość zmiennoprzecinkowa. |
| DOUBLE[Długość,Pozycje] | 8 bajtów | Duża wartość zmiennoprzecinkowa. |
| DECIMAL[Długość,Pozycje] |
Długość + 1 lub Długość + 2 bajty | Wartość typu DOUBLE ze stałą liczbą cyfr po przecinku. |
| Tekstowe typy danych MySQL | ||
| CHAR[Długość] | Liczba bajtów | Pole o stałej długości; długość od 0 do 255 znaków. |
| VARCHAR(Długość) | Długość ciągu + 1 bajt | Pole o stałej długości; długość od 0 do 255 znaków (od MySQL 5.0.3 65 535 znaków). |
| TINYTEXT | Długość ciągu + 1 bajt | Ciąg tekstowy o maksymalnej długości 255 znaków. |
| TEXT | Długość ciągu + 2 bajty | Ciąg tekstowy o maksymalnej długości 65 536 znaków. |
| MEDIUMTEXT | Długość ciągu + 3 bajty | Ciąg tekstowy o maksymalnej długości 16 777 215 znaków. |
| LONGTEXT | Długość ciągu + 4 bajty | Ciąg tekstowy o maksymalnej długości 4 294 967 295 znaków. |
| BINARY[Długość] | Długość bajtów | Podobny do CHAR, ale przechowuje dane binarne. |
| VARBINARY[Długość] | Długość danych + 1 bajt | Podobny do VARCHAR, ale przechowuje dane binarne. |
| TINYBLOB | Długość danych + 1 bajt | Przechowuje dane binarne o maksymalnej długości 255 bajtów. |
| BLOB | Długość danych + 2 bajty | Przechowuje dane binarne o maksymalnej długości 65 535 bajtów. |
| MEDIUMBLOB | Długość danych + 3 bajty | Przechowuje dane binarne o maksymalnej długości 16 777 215 bajtów. |
| LONGBLOB | Długość danych + 4 bajty | Przechowuje dane binarne o maksymalnej długości 4 294 697 295 bajtów. |
| ENUM | 1 lub 2 bajty | Wyliczenie, które pozwala na to, by każda kolumna posiadała jedną z kilku możliwych wartości. |
| SET | 1,2,3,4 lub 8 bajtów | Typ podobny do ENUM z tą różnicą, że może posiadać więcej niż jedną z dopuszczalnych wartości. |
| Dostępne w MySQL typy daty i czasu | ||
| DATE | 3 bajty |
Data w formacie: RRRR-MM-DD. |
| DATETIME | 8 bajtów |
Data i czas w formacie: RRRR-MM-DD GG:MM:SS. |
| TIMESTAMP | 4 bajty |
Znacznik czasowy
w formacie: GG:MM:SS; zakres wartości kończy się w roku 2037. |
| TIME | 3 bajty | Znacznik czasowy w formacie GG:MM:SS. |
| YEAR | 1 bajt |
Rok w formacie RRRR i zakresie od 1901 do 2155. |
no takie coś może się przydać :]
Popracuj nad wersją PDF :-)
Ups, bardzo przepraszam, pośpieszyłem się z komentarzem. Nie musisz już robić wersji pdf, ona juz istnieje. MySQL cheat sheet
Dzięki, że miałeś chęci to zebrać, ale jak widać coś takiego już jest. Mokrego dnia ;-)
Seban:
Ta wersja od ilovejackdaniels.com mnie właśnie nie satysfakcjonowała. Brakowało mi tam wielu rzeczy. A do PDFa wrzucę... Niedługo. :-)
RaVbaker: kiedy ten pdf? :>
Pewnie kiedyś. Obecnie znalazłem sobie pracę i to mnie pochłania bez reszty…
№ 7
15 lutego 2010, 20:45:10
Anonim
a ja mam inne pytanie co to za czcionka którą pisane są numery kolejnych komentarzy :) ? w moim przypadki No 7
a co do poradnika to bardzo fachowy.