MySQL de base Guide d'utilisation

les données du journal
mysql -uroot -proot

Sortir de la base de données de
sortie
quitter
Ctrl + d

Voir la version de base de données
sélectionner la version ();

temps d'affichage
maintenant sélectionner ();

Voir la base de données actuelle à l' aide des
bases de données de sélection ();

Voir toutes les bases de données
montrent des bases de données;

Créer une base de données
créer la base de données python charset = UTF8;

Utiliser la base de données
utilisation python;

Supprimer la base de données
python base goutte;

Voir toutes les tables de la base de données actuelles
show tables;

创建表
créer des étudiants de table (
id unsigned int auto_increment clé primaire,
nom varchar (20) non nulle,
tinyint d'âge (1),
décimal élevé (3,2),
dender enum ( 'M', 'W'),
cls_id unsigned int
);

Voir le tableau de données Structure des
classes desc;

Voir structure de la table pour créer un
spectacle créer des étudiants de table de G;

Ajouter le nom du champ
ALTER Table étudiants DateTime Ajouter un anniversaire,.
. ALTER élèves auxquels la Ajouter is_delete 0 'default bit // 0' valeur binaire

Renommer le nom du champ
alter élèves de table changement anniversaire datetime de naissance;

Modifier le type de champ
étudiants alter table modify date de naissance non nulle ;

terrain Supprimer les
étudiants alter table drop naissance;

Drop table
élèves de table de baisse;

Les données de requête
SELECT de classes;
SELECT
. Les élèves de WHERE nom = 'sima3';

select id, nom des étudiants,
au champ aliasing
select id comme « Non », le nom comme « nom » de étudiants .;
SELECT âge, nom étudiants .;

L' insertion de données de
valeurs INSERT INTO classes (1, 'python20', 70.); Les
classes INSERT INTO valeurs (NULL, 'python19', 60);

insertion à l' unité
. Les valeurs INSERT INTO élèves (null, 'de sima2', 18 est, 1,74, 'M' 1 ,.) des
valeurs INSERT INTO élèves (ID, nom) (null, 'sima3 . ');

Insertion d' une pluralité d'
insertion dans les valeurs des élèves (null, ' Oyang', 18, 1,74, 'M', 1), (null, 'oyang1', 18, 1,74, 'M', 1);

修改Métadonnées
élèves de mise à jour = 38 ans fixé;
les étudiants de mise à jour = 88 ans mis où name = 'sima3';
les étudiants de mise à jour 1.2 = niveau haut, le sexe = 'M' où name = 'sima3';

Supprimer les données
supprimer des élèves où id = 2;

Sauvegarde de données
la -uroot mysqldump - Proot Python> python.sql
MySQL -uroot - Proot Python <python.sql

Alias dans la table
SELECT s.id, les étudiants de S.name AS S;.
SELECT students.id, les étudiants Students.name de AS S;. (Erreur)

Pour re -
sélectionner le genre distinct des étudiants;

比较运算符
choisir des élèves dont l' âge> 18;
sélectionner
des élèves dont l' âge = <18;
select * des élèves où l' âge = 18!;

逻辑运算
sélectionner des étudiants où l' âge> 18 ans et <20;
sélectionner
des élèves dont l' âge <18 ans> 20;
select * des étudiants ou non l' âge> 18;

requête floue
SELECT de la WHERE nom comme de wang% d' étudiants; (le début)
SELECT
du WHERE nom comme de wang %% 'étudiants; (contiennent)
SELECT du nom WHERE comme les étudiants « __ »; (deux mots du nom)
SELECT
de étudiants où le nom comme « __% » , ( plus grand que le nom de mot)

范围查询
sélectionner des étudiants où id dans (1,3);
sélectionner
des étudiants où id entre 1 et 3; (包含1 3)
sélectionner * des étudiants où id pas compris entre 1 et 3; (包含1 3)

空值判断
sélectionner des étudiants où la hauteur est nulle;
sélectionner
des étudiants où la hauteur est non nulle;

排序où之后
sélectionner des étudiants par ordre de hauteur;
sélectionner
des étudiants ordre par la hauteur desc;
select * des étudiants par ordre âge desc, hauteur desc;

Agrégation fonction
select count (*) comme nombre d' étudiants, ( enregistrer le nombre total d'enregistrements)
SELECT max (Age) à partir étudiants .; (âge maximum)
SELECT min (Age) à partir étudiants .; (Plus jeune)
SELECT SUM (Age) à partir étudiants .; (somme)
SELECT AVG (Age) à partir .; étudiants (moyenne)
SELECT ronde (AVG (Age), 2) à partir étudiants .; (fonctions arrondi, rond non agrégées)

groupe分组
sélectionner le sexe des étudiants groupe selon le sexe; (查询年龄类别)
sélectionner le genre, le nombre ( ) des étudiants groupe selon le sexe;
sélectionner le sexe, max (âge) des étudiants où le sexe = « M » ou le sexe = « W » groupe selon le sexe;
sélectionner le genre, group_concat (nom) des étudiants groupe par sexe; (group_concat对应的名字连接)
genre de sélection, avg (âge) des étudiants groupe selon le sexe;
sélectionner le genre, avg (âge) comme moyen d'étudiants par groupe moyen ayant des genres> 19; (分组后的年龄大于19岁)
sélectionner le genre, avg (âge), group_concat (nom) des étudiants groupe selon le sexe;
sélectionner le sexe, count (
) comme c, group_concat (nom) des étudiants selon le sexe groupe ayant c> 2;
sélectionner le genre, COUNT (*) des étudiants groupe par sexe avec Rollup; (总计)

restrictions de limites enregistrées (écrites dans la dernière sql)
SELECT de 0,2 élèves limite;. (0 début, après 2 enregistrements)
SELECT
de 2 étudiants limite.

Standard SQL:
champ SELECT de table [où] [groupe par] [ ordre par] [limite]

Onglet
SELECT de 0,2 élèves limite;.
SELECT
(le nombre d'onglets par requête, n est les premières pages, m), des étudiants limite ( n-1) * m, m

连接(sur关联表的条件où查询条件)
sélectionner des étudiants INNER JOIN classes; (笛卡尔积)
sélectionner
des étudiants INNER JOIN classes où students.cls_id = classes.id;
sélectionnez students.name, classes.name des étudiants jointure classes où students.cls_id = classes.id;
sélectionnez s.name, c.name des étudiants comme s jointure interne des classes comme c = où s.cls_id c.id;
sélectionnez s.name, c.name auprès des élèves, des classes s comme c = où s.cls_id c.id;
sélectionnez s. , c.name des étudiants comme s jointure interne des classes comme c sur s.cls_id = c.id;
sélectionner
des étudiants INNER JOIN classes où students.cls_id = classes.id ordre par classes.id;
sélectionner I.CODE, i.price, f.note_info d'infos i, foyer f où i.id = f.id;

Connexion externe: aucune donnée ne se trouve dans le tableau principal de la table, de la table qui correspond à la valeur NULL
Connecteur externe (tableau sur la table principale gauche, la table à droite de la table)
. SELECT * des inscrire à des cours gauche étudiants Students.cls_id = ON OÙ classes.id classes.name est nulle;

jointure externe droite (tableau basé sur la table droite, table de la table à gauche)
SELECT * de la jointure droite Students.cls_id étudiants ON = cours classes.id.

自连接
select * des zones comme la ville intérieure rejoindre les zones province city.pid = province.aid où province.title = '广西省';

Sous - requête
1, sous - requête renvoie seulement une de données, appelé sous - requête scalaire
SELECT d'élèves où hauteur> (SELECT AVG (en hauteur) de Students.).
2, le résultat est une, à savoir une pluralité de rangées, dite colonne sous - requête
SELECT
de étudiants où id dans (select id de classes);

去重
sélectionnez cate_name du groupe de marchandises par cate_name;
sélectionnez cate_name distinct des produits;

select * from marchandises où le prix> (select avg (prix) de produits) Classez par prix desc;

select * from produits
jointure
(select cate_name, max (prix) max_price du groupe de marchandises par cate_name) comme max_price_goods
sur goods.cate_name = max_price_goods.cate_name et goods.price = max_price_goods.max_price;

分组插入
insert dans goods_cates (nom) (select cate_name de groupe de marchandises par cate_name);
mise à jour des marchandises se joindre à goods_cates interne sur le plateau goods.cate_name = goods_cates.name goods.cate_name = goods_cates.id;

produits alter table changent cate_name cate_id unsigned int non nul;

contrainte de clé étrangère: la clé primaire d'une table dans une autre table se produit, la clé primaire est une autre clé étrangère d'une table, ne peut pas exister sans les données clé étrangère
ALTER Tableau marchandises Ajout clé étrangère (cate_id) Références goods_cates (ID);
ALTER Tableau marchandises Ajout étranger clés (brand_id) Références goods_brands (ID);
Créer une table goods_test (
ID unsigned int clé primaire AUTO_INCREMENT,
nom VARCHAR (150) Non null,
cate_id unsigned int Non null,
brand_id unsigned int Non null,
clé étrangère (cate_id) Références Les goods_cates (ID ),
clé étrangère (brand_id) Références goods_brands (ID)
);
ALTER table de clé étrangère goods_test drop nom de clé étrangère (montrer create table goods_test);

Vue: seule table de paquet virtuel types et les contraintes de terrain résultat d'exécution instruction de requête, le complexe Sql une
sélection goods.name gname, goods_cates.name GCName, goods_brands.name gbname de produits join goods_cates intérieure sur goods.cate_id = goods_cates.id intérieure rejoindre goods_brands sur goods.brand_id = goods_brands.id;
créer
le créer v_goods_info Voir AS
SELECT goods.name gname, goods_cates.name GCName, goods_brands.name gbname marchandises de
Inner goods.cate_id la jointure goods_cates ON = goods_cates.id
intérieur sur la jointure goods_brands marchandises. brand_id = goods_brands.id;
voir
afficher les tables,
SELECT * de v_goods_info,
suppression
drop view v_goods_info;

Index: (BTREE)
Prémisse 1: Pour un besoin régulier de mise à jour et insérer une table, où il n'y a pas besoin d'un indice de déclaration rarement utilisé seul
pour voir l'indice d'exposition de produits;
CREER CREER index idx_1 sur les produits (nom ( 150)) ,
supprimez l'index drop index idx_1 sur les biens;

profilage set = 1 (suivi du temps)
Afficher les profils, vue du temps

Gestion des utilisateurs:
Voir tous les utilisateurs: hôte choisi, l' utilisateur d' un utilisateur,
créer un utilisateur: créer l' utilisateur « wufj1 » @ « % » identifiés par « wufj1 »;
autorisé :. Grant sélectionner le jing_dong * à « wufj1 » @ « % »; ( plusieurs bases de données, exécuter plusieurs instructions)
privilèges: sélectionnez la mise à jour d'insertion goutte d'alerte Supprimer sélection => tous les privilèges

指定ip授权: accorder tous les privilèges sur . aux « root'@'10.3.32.61 » identifiés par « root » AVEC OPTION DE SUBVENTION ;;

所以 权限: accorder tout le wufj * à 'wufj' @ '%' identifiés par 'wufj' AVEC OPTION DE SUBVENTION ;;.

autorisations Refresh: flush privileges;
voir les autorisations utilisateur: subventions de spectacle pour 'wufj1' @ '%';

Modifier l'autorisation: sélectionnez subvention, mise à jour sur jing_dong * à « wufj1 » @ « % » avec option de subvention ;.

Modifier le mot de passe: alter user 'de wufj1' @ '%' identifiés par '123';

删除用户:
drop user 'de wufj1' @ '%';
supprimer de l' utilisateur où host = « % » et « = utilisateur wufj1 »

Copie des données entre les différentes tables de base de données
INSERT INTO sw_setname SELECT * FROM wangsunew.sw_setname;

Je suppose que tu aimes

Origine blog.51cto.com/13025012/2482112
conseillé
Classement