- Requêtes MySQL de base
CREATE DATABASE IF NOT EXISTS nom_base;
USE nom_base;
Types de champs https://www.w3schools.com/sql/sql_datatypes.asp
CREATE TABLE IF NOT EXISTS Animal (
id SMALLINT UNSIGNED NOT NULL AUTO_INCREMENT,
espece VARCHAR(40) NOT NULL,
sexe CHAR(1),
birthdate DATETIME NOT NULL,
nom VARCHAR(30),
commentaires TEXT,
PRIMARY KEY (id)
)
ENGINE=INNODB;
SHOW TABLES;
DESCRIBE tableName;
ALTER TABLE Test
CHANGE prenom nom VARCHAR(30) NOT NULL; -- Changement du type + changement du nom
ALTER TABLE Test
CHANGE id id BIGINT NOT NULL; -- Changement du type sans renommer
ALTER TABLE Test
MODIFY id BIGINT NOT NULL AUTO_INCREMENT; -- Ajout de l'auto-incrémentation
ALTER TABLE Test
MODIFY nom VARCHAR(30) NOT NULL DEFAULT 'Blabla'; -- Changement de la description (même type mais ajout d'une valeur par défaut)
SELECT *
FROM tableName
SELECT champ1, champ2
FROM tableName
SELECT champ1, champ2, champ3 as "Nom du champ renommé"
FROM tableName
SELECT *
FROM tableName
WHERE champ3 > 10
SELECT *
FROM tableName
WHERE champ3 > 10
AND champ2 = 'value'
OR champ1 LIKE 'value'
SELECT *
FROM tableName
WHERE champ1 = 'value' # Exactement 'value'
OR champ2 LIKE 'value' # Exactement 'value'
OR champ3 LIKE '%value' # Finit par '...value'
OR champ4 LIKE 'value%' # Commence par 'value...'
OR champ5 LIKE 'va%ue' # Commence par 'va...' et finit par '..ue'
OR champ6 LIKE '_alue' # 1 caractère avant '..alue'
OR champ7 LIKE 'va_ue' # 1 caractère entre 'va' et 'ue'
SELECT *
FROM tableName
WHERE champ1 BETWEEN 10 AND 20
SELECT *
FROM tableName
WHERE champ1 IS NULL
SELECT *
FROM tableName
WHERE champ1 IS NOT NULL
Par exemple, dans une table d'adresses, tous les codes postaux distincts sans doublon
SELECT DISTINCT champ1
FROM tableName
Par exemple dans une table de jeux vidéos, tous les ensemble "catégorie de jeux + classification", exemple :
- "Action - PEGI 12"
- "Action - PEGI 18"
- "Stratégie - PEGI 3"
- "Stratégie - PEGI 12"
SELECT DISTINCT champ1, champ2
FROM tableName
Ces fonctions retournent une valeur unique et non une liste d'entrées.
SELECT count(*)
FROM tableName
SELECT count(champ1)
FROM tableName
SELECT count(champ1)
FROM tableName
SELECT avg(champ1)
FROM tableName
SELECT sum(champ1)
FROM tableName
Par exemple, combien d'entrées pour chaque code postal
SELECT champ1, count(*) as 'Nombre de résultats'
FROM tableName
GROUP BY champ1
SELECT *
FROM tableName
ORDER BY champ1 ASC # Classement ascendant
SELECT *
FROM tableName
ORDER BY champ1 DESC # Classement descendant
SELECT *
FROM tableName
ORDER BY champ1 DESC champ2 ASC # classement par champ1 descendant puis au sein de même valeurs de champ1, classement par champ2 ascendant
INSERT INTO TableName (champ1, champ3, champ4)
VALUES (valueA, valueB, valueC);
INSERT INTO TableName (champ1, champ3, champ4)
VALUES (valueA, valueB, valueC),
(valueA, valueB, valueC),
(valueA, valueB, valueC);
ATTENTION : n'oubliez pas la clause WHERE lors d'un delete ou d'un update !
UPDATE tableName
SET champ1 = 'value', champ2 = 'value', champ8 = 'value'
WHERE id = 12
ATTENTION : n'oubliez pas la clause WHERE lors d'un delete ou d'un update !
DELETE FROM tableName
WHERE id = 13