SQL

De drev
Aller à : navigation, rechercher

Les types

TYPE peut prendre les valeurs suivantes :

  • BOOLEAN
  • TINYINT
  • TEXT
  • VARCHAR
  • CHAR
  • DATE

LIMIT

Limite le nombre de résultat.

Se place à la fin de la requête

exemple:

 SELECT * FROM articles WHERE name LIKE "%new" LIMIT 10;

On peut aussi utiliser deux arguments :

Par exemple, afficher les résultat entre le 5ième et 15ième rang.

 SELECT * FROM articles WHERE name LIKE "%new" LIMIT 5,15;

Opérations sur la structure

Utiliser une base de données

 USE <database_name>;

Créer une base de données

 CREATE DATABASE <database_name>;

Créer une table

CREATE TABLE tablename
(
 column_name_1 TYPE(999) NOT NULL AUTO_INCREMENT, 
 column_name_2 TYPE(999) NOT NULL, 
 PRIMARY KEY (column_name1)
);


ou

CREATE TABLE tablename
(
 column_name_1 TYPE(999) NOT NULL AUTO_INCREMENT PRIMARY KEY, 
 column_name_2 TYPE(999) NOT NULL, 
)

Renommer une table

RENAME TABLE nom_de_table TO nouveau_nom_de_table[, nom_de_table2 TO nouveau_nom_de_table2,...]

Renommer un champ

ALTER TABLE tablename CHANGE old_column_name new_column_name VARCHAR( 35 ) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL 

Ajouter un ou plusieurs champs

ALTER TABLE `tablename` ADD `column_name_1` TYPE(999) NOT NULL DEFAULT '0', 
                        ADD `column_name_2` TYPE(999) NOT NULL DEFAULT '0';

Modifier un champ

ALTER TABLE table_name MODIFY column_name datatype

Supprimer un champ

ALTER TABLE table_name DROP COLUMN column_name


Décrire une table

SHOW COLUMNS from <table_name>;

Filtre sur les noms de columns

SHOW COLUMNS from TABLE_NAME WHERE Field LIKE "i%"

Opérations sur les données

Recherche

SELECT * from <table_name>;

Les noms de champs sont séparés par des virgules

SELECT a, b, c from <table_name>;

WHERE

SELECT <nom_champs> FROM <nom_table> WHERE <condition>

exemple :

 SELECT content FROM articles WHERE id = '42';

LIKE

Le charactere 'Jocker' est %

exemple: tous les champs de articles dont le nom contient ia

SELECT * FROM articles WHERE name LIKE "%ia%";

HAVING

Condition après in GROUP BY

Insertion de données

Insertion simple

INSERT INTO table_name VALUES ('A', 'B', 'C');

Insertion multiple

INSERT INTO table_name VALUES 
('A', 1),
('B', 2),
('C', 3);

Insertion depuis une autre table

INSERT INTO Store_Information (store_name, Sales, Date)
SELECT store_name, Sales, Date
FROM Sales_Information
WHERE Year(Date) = 1998

Mise à jour

UPDATE <table_name> SET <field_name> = "new_value" WHERE id=42;

Index

Un index est un catalogue pour accelerer la recherche.

...
INDEX (column_name1)

Clé primaire composée

Dans un PRIMARY KEY, écrire la liste des champs

 PRIMARY KEY (column_name1, column_name2)

Jointure

inner join

Se place avant une clause WHERE

INNER JOIN left_table ON <CONDITION>

Manipulation de chaînes

Remplacer ou supprimer des caractères

Exemple : supprimer les espaces et les deux points d'un champ.

UPDATE TABLE_NAME SET `hour` = REPLACE (`hour`, ' ', '');
UPDATE TABLE_NAMESET `hour` = REPLACE (`hour`, ':', '');

Référence

http://dev.mysql.com/doc/refman/5.0/en/string-functions.html