Base de données Mysql ----- statistiques, tri, pagination, ajout, suppression, modification, requête + base de données d'opération dans Node

Trois façons d'entrer MySQL

1. outil interactif de commande mysql
Insérez la description de l'image ici
Entrez le mot de passe et appuyez sur Entrée
* Le mot de passe doit être en anglais lors de la saisie du mot de passe, sinon un flashback se produira
Insérez la description de l'image ici

2.cmd pour appeler la console
Il existe deux types, l'un nécessite un mot de passe, l'autre n'a pas besoin de
saisir mysql en 2.1, et ne nécessite pas de mot de passe de compte.Il s'agit de deux bibliothèques différentes et n'est pas couramment utilisée.
Insérez la description de l'image ici

2.2 Entrez mysql- uroot -p et appuyez sur Entrée. Notez que l'espace
* -u représente le nom d'utilisateur, et le nom d'utilisateur root par défaut est généralement utilisé plus tard, et -p représente le mot de passe
Insérez la description de l'image ici

Si l'erreur suivante se produit, la variable d'environnement n'est pas définie.
Insérez la description de l'image ici
Ouvrez Panneau de configuration> Paramètres système
Insérez la description de l'image ici
Insérez la description de l'image ici
Insérez la description de l'image ici

3. Base de données des opérations visualisées Navicat

Insérez la description de l'image ici

Cliquez sur la connexion, une nouvelle fenêtre apparaîtra, d'autres valeurs par défaut appuyez sur OK
Insérez la description de l'image ici

On les appelle bibliothèques. Un
ordinateur peut avoir de nombreuses bibliothèques,
une base de données a plusieurs tables et
une table a plusieurs champs (colonnes).
Insérez la description de l'image ici

Nouvelle base de données
Insérez la description de l'image ici

Le nom de la base de données est le meilleur en anglais et le jeu de caractères est préférable de choisir utf-8 afin d'analyser le chinois.
Insérez la description de l'image ici

Double-cliquez sur la bibliothèque pour l'agrandir, cliquez sur la table, créez une nouvelle table de base de données,
Insérez la description de l'image ici

Exemple:
Nom de la table: nom, type est facultatif, VARCHAR:
Table de caractères variables représentative : id, type int,
permettant vide: voir leurs propres besoins
clés à droite représente la clé primaire , au nom de la valeur de la ligne de balise id unique, non répétée,
peut être incrémenté
lors du maintien de la clé primaire, car la clé primaire ne peut pas être répétée, maintenez plus de problèmes, de sorte que vous pouvez utiliser la fonction d'incrémentation automatique permet au système d'aider à maintenir
Insérez la description de l'image ici
le nouveau bien après l'ouverture, essayez d'entrer le même identifiant provoquera une erreur
Insérez la description de l'image ici

Quel problème la base de données est-elle utilisée pour résoudre?

Fonction: organiser en fonction de la structure des données. Le
nœud d' entrepôt qui stocke / gère les données peut également écrire des fichiers avec writeFile pour atteindre l'objectif de stockage des données, mais il sera très difficile de manipuler les données de cette manière. S'il s'agit d'un grand site Web, la complexité des données est très élevée , Donc, il n'est pas affiché avec de simples opérations sur les fichiers.Le
stockage des données est dispersé et ne peut pas être une gestion centralisée.

Classification de base de données commune

Base de données relationnelle (base de données SQL)

Caractéristiques: l'instruction SQL peut être exécutée
MySQL: base de données open source, généralement utilisée par les sociétés Internet, le taux d'utilisation est très élevé.
Oracle: grande base de données commerciale, de nombreux grands systèmes bancaires de projets utiliseront Oracle, l'autorisation commerciale est très coûteuse.
Serveur Microsoft SQL: base de données développée par Microsoft, Les frais de source fermée sont moins chers.

Base de données non relationnelle ( base de données No-SQL)

Fonctionnalités: les instructions SQL ne peuvent pas être exécutées
Mongodlb: une base de données non relationnelle largement utilisée et les projets nodejs utilisent cette base de données
Redis: base de données en mémoire, le stockage est très rapide.

Connectez et exploitez la base de données

Instruction SQL

Query database list
mysql control window: afficher les bases de données; afficher toutes les listes de bases de données
* Un point-virgule doit être ajouté pour représenter la fin de l'instruction pour
Insérez la description de l'image ici
créer une table de base de données
Nom de la table: heros

Champs de la table: id (identifiant unique), nom (nom, ne peut pas être vide), gender (gender), img (avatar), isdelete (à supprimer, la valeur par défaut est 0, la suppression est 1)

//因为id是唯一值,我们设置它为主键,同时我们希望没
//插入一条数据,id值会自动增加1,所以把它设置为自动递增auto_increment
create table heros(
	id int not null primary key auto_increment, 
	name varchar(255) not null, 
	gender varchar(255),
	img varchar(255),
	isdelete tinyint default 0)
	character set utf8;

Entrez dans la base de données

use 数据库名字;

Commande de suppression de bibliothèque

drop database 删除的库名;

Créer une base de données

create database 数据库名字;

Lors de la création d'une table, vous devez d'abord indiquer à la base de données quelle bibliothèque utiliser

user 数据库名字

Si aucune base de données n'est sélectionnée, elle apparaîtra
Insérez la description de l'image ici

Commande de création de structure de table

create table heros(
	id int not null primary key auto_increment, 
	name varchar(255) not null, 
	gender varchar(255),
	img varchar(255),
	isdelete tinyint default 0)
	character set utf8;

Afficher la structure de la
table desc nom de la table
Insérez la description de l'image ici

Insérer une opération de données

语法:insert into 表名(字段1,字段2...)value(1,2...);

exemple:
Insérez la description de l'image ici

Modifier la base de données

//语法:UPDATE 表名 set 字段1=值1,字段2=值2....where 条件
UPDATE heros set gender = '男'; // 如果后面没有跟条件的话,则表示将表中所有的数据中的gender都改成了男
UPDATE heros set gender = '女' WHERE id = 3; //  将id为3的那条数据中的gender修改为“女”
UPDATE heros set gender = '女' WHERE name = '花木兰'; // 将数据表中名字叫"李四"

Suprimmer les données

//语法:DELETE FROM 表名 where 条件
DELETE FROM heros where id = 7;
DELETE FROM heros where id = 2 or id = 8;
DELETE FROM heros where id in (4,5,10);
DELETE FROM heros WHERE gender ='男' AND name = '兰陵王';  // 通过多条件来删除数据  and 在这里表示并且的关系 
DELETE FROM heros WHERE id > 10; // 还可以根据id的特性

Rechercher des phrases

//语法:  select * from 表名 where 条件 
select * from  heros;  // 表示查询所有的数据信息
select id,name,gender from heros; // 根据指定的字段来查询
select * from heros where id = 2; //查询id为2的那一条数据
select name,gender from heros where id = 3; // 查询id为3的那条数据中的name gender id
select * from heros where id =3 or id= 5; // 查询id为3 和5 的那两条数据
select * from heros where id = 2 or id = 3 or id = 4;
select * from heros where id in (2,3,4,5,7);  // 查询id为 2  3  4  5  7 的那些数据

Fonctions communes

SQL fournit des fonctions pratiques pour les statistiques, le tri, etc.


Méthode de comptage statistique : utilisée pour compter le nombre de données de requête. Notez que les données statistiques ne sont pas une barre de données vide.
MAX: interroge la plus grande valeur
MIN: interroge la plus petite valeur
moy: la moyenne de la requête
* représente toutes les données

SELECT count(字段) FROM 表名;
SELECT MAX(字段) FROM 表名;
SELECT MIN(字段) FROM 表名;
SELECT avg(字段) FROM 表名;

Tri (ordre par)
tri croissant par défaut, décroissant plus desc

SELECT * FROM 表名 order by 字段;//默认
SELECT * FROM 表名 order by 字段 desc;


Fonction de pagination : lorsque vous avez beaucoup de bases de données, vous ne pouvez pas tout obtenir en même temps. Vous pouvez interroger les données par lots via la pagination.
Limite: indique le nombre de pièces prises.
Décalage: Décalage, combien de pièces sont prises à partir du point de départ

select * from 表名 limit 数量
select * from 表名 order by limit 3 offset 2;

Base de données d'exploitation dans Node

Node doit faire fonctionner la base de données et doit s'appuyer sur la bibliothèque tierce mysql

1. L'installation de l'environnement
Créer un dossier, ne peut pas chinois
Appelez la console, entrez l'initialisation du projet npm init

Exemple: après l'apparition d'un gros morceau de code, appuyez sur Entrée (vous pouvez également écrire) jusqu'à ce que Est-ce que c'est OK?
Insérez la description de l'image ici

Installez mysql

npm install mysql

exemple:
Insérez la description de l'image ici

2. Utilisez
2.1. Créez un fichier js pour importer mysql

const mysql=require('mysql');

2.2. Appelez mysql.createConnection (()) pour obtenir l'instance de connexion

const connection = mysql.createConnection({
    
    
//连接的地址
host:'localhost',
//数据库连接用户名
user:'root',
//密码
password:'写上密码',
//连接的数据库名字
database:'数据库名'
})

La comparaison est la suivante
Insérez la description de l'image ici

2.3 Appeler la méthode de connexion de Connection pour se connecter à la base de données

connection.connect();

Exemple général:

const mysql = require('mysql');

const connection = mysql.createConnection({
    
    
    //连接的地址
    host: 'localhost',
    //数据库连接用户名
    user: 'root',
    //密码
    password: 'yinghua3464',
    //连接的数据库名字
    database: 'user'
});
connection.connect();
connection.query('select * from heros', (error, result, filed) => {
    
    
    // console.log(error);//语法是否错误
    console.log(result)//数据内容
    // console.log(filed)
});
//结束
connection.end();

le nœud exécute une instruction SQL

Renseigner

Appelez connection.query ('instruction sql', fonction de rappel) Le
paramètre d'erreur est utilisé pour indiquer si l'instruction sql est exécutée de manière incorrecte. Lorsqu'il n'y a pas d'erreur, la valeur nulle est obtenue, sinon le
résultat du message d'erreur indique le résultat de la requête et un tableau est renvoyé. Est un objet de données, représentant une ligne de données

connection.query('select * from heros',(error,result,filed)=>{
    
    
console.log(result)
})

Ctrl + `Appelez le terminal et entrez le nœud" nom de fichier "pour voir les résultats du journal et
Insérez la description de l'image ici
ajouter des données.
Après l'exécution, vous pouvez interroger les données dans MySQL

function addHero(id, name, gender, img, isdelete) {
    
    
    // 设置sql语句,添加数据
    //数字不需要''
    const sql = `insert into heros (id,name,gender,img,isdelete) values (${
      
      id},'${
      
      name}','${
      
      gender}','${
      
      img}',${
      
      isdelete})`;
    // 调用query方法query(sql语句,回调函数)
    console.log(sql);
    connection.query(sql, (error, result, filed) => {
    
    
        // 如果error为真则说明有错,则打印
        if (error) {
    
    
            console.log(error);
        } else {
    
    
            // 否则就打印数据
            console.log(result);
        }
    })
};
// 调用函数
addHero(null, '花木兰', '女', 'http://www.baidu.com', 1);

Modifier / remplacer des données

function updateHero(name, gender, img, id) {
    
    
    // 设置sql语句,替换数据
    const sql = `update heros set name='${
      
      name}',gender='${
      
      gender}',img='${
      
      img}' where id=${
      
      id}`;
    // 调用query方法query(sql语句,回调函数)
    console.log(sql);
    connection.query(sql, (error, result, filed) => {
    
    
        // 如果error为真则说明有错,则打印
        if (error) {
    
    
            console.log(error);
        } else {
    
    
            // 否则就打印数据
            console.log(result);
        }
    })
}
// 调用函数
updateHero('安其拉', '女', 'http://www.baidu.com', 4);

Suprimmer les données

function deleteHeroById(id) {
    
    
    // 设置sql语句,删除数据
    const sql = `DELETE FROM heros where id = ${
      
      id};`;
    // 调用query方法query(sql语句,回调函数)
    console.log(sql);
    connection.query(sql, (error, result, filed) => {
    
    
        // 如果error为真则说明有错,则打印
        if (error) {
    
    
            console.log(error);
        } else {
    
    
            // 否则就打印数据
            console.log(result);
        }
    })
}
// 调用函数
deleteHeroById(8);

Après l'exécution, vous devez appeler la méthode end pour terminer le lien

connection.end();

Je suppose que tu aimes

Origine blog.csdn.net/weixin_47886687/article/details/108747448
conseillé
Classement