Base de datos mysql ----- estadísticas, clasificación, paginación, adición, eliminación, modificación, consulta + base de datos de operaciones en el nodo

Tres formas de ingresar a mysql

1. Herramienta interactiva del comando mysql
Inserte la descripción de la imagen aquí
Ingrese la contraseña y presione Enter
* La contraseña debe estar en inglés al ingresar la contraseña, de lo contrario, se producirá un flashback
Inserte la descripción de la imagen aquí

2.cmd para llamar a la consola
Hay dos tipos, uno requiere una contraseña, el otro no necesita
ingresar mysql en 2.1 y no requiere una contraseña de cuenta Estas son dos bibliotecas diferentes y no se usan comúnmente.
Inserte la descripción de la imagen aquí

2.2 Ingrese mysql- uroot -p y presione Enter. Tenga en cuenta que el espacio
* -u representa el nombre de usuario, y el nombre de usuario raíz predeterminado generalmente se usa más adelante, y -p representa la contraseña
Inserte la descripción de la imagen aquí

Si se produce el siguiente error, la variable de entorno no está configurada.
Inserte la descripción de la imagen aquí
Abra Panel de control> Configuración del sistema
Inserte la descripción de la imagen aquí
Inserte la descripción de la imagen aquí
Inserte la descripción de la imagen aquí

3. Base de datos de operaciones visualizada de Navicat

Inserte la descripción de la imagen aquí

Haga clic en la conexión, aparecerá una nueva ventana, otros valores predeterminados presione Aceptar
Inserte la descripción de la imagen aquí

Estas se denominan bibliotecas. Una
computadora puede tener muchas bibliotecas,
una base de datos tiene varias tablas y
una tabla tiene varios campos (columnas).
Inserte la descripción de la imagen aquí

Nueva base de datos
Inserte la descripción de la imagen aquí

El nombre de la base de datos está mejor en inglés y el conjunto de caracteres es mejor elegir utf-8 para analizar chino.
Inserte la descripción de la imagen aquí

Haga doble clic en la biblioteca para expandir, haga clic en la tabla, cree una nueva tabla de base de datos,
Inserte la descripción de la imagen aquí

Ejemplo:
Nombre de la tabla: nombre, el tipo es opcional, VARCHAR:
Tabla representativa de caracteres variables : id, tipo int,
permitiendo vacío: vea sus propias necesidades
claves a la derecha representa la clave primaria , en nombre de la etiqueta de identificación el valor único, no repetido,
puede ser se incrementa
cuando se mantiene la clave principal, debido a que la clave principal no se puede repetir, mantenga más problemas, por lo que puede usar la función de incremento automático que permite que el sistema ayude a mantener
Inserte la descripción de la imagen aquí
el nuevo bien después de la apertura, intente ingresar la misma identificación y aparecerá un error
Inserte la descripción de la imagen aquí

¿Qué problema se utiliza para resolver la base de datos?

Función: Organizar de acuerdo con la estructura de datos. El almacén
nodejs que almacena / administra datos también puede escribir archivos con writeFile para lograr el propósito de almacenar datos, pero será muy problemático manipular los datos de esta manera. Si es un sitio web grande, la complejidad de los datos es muy alta , Por lo tanto, no se muestra con operaciones de archivo simples.
El almacenamiento de datos está disperso y no se puede centralizar la administración.

Clasificación de base de datos común

Base de datos relacional (base de datos SQL)

Características: la declaración SQL se puede ejecutar
MySQL: base de datos de código abierto, generalmente utilizada por empresas de Internet, la tasa de uso es muy alta.
Oracle: gran base de datos comercial, muchos sistemas bancarios de proyectos grandes utilizarán Oracle, la autorización comercial es muy costosa.
Microsoft SQL Server: base de datos desarrollada por Microsoft, Los cargos de fuente cerrada son menos costosos.

Base de datos no relacional ( base de datos sin SQL)

Características: No se pueden ejecutar sentencias SQL.
Mongodlb: Una base de datos no relacional que se usa ampliamente, y los proyectos de nodejs usan esta base de datos.
Redis: Base de datos en memoria, el almacenamiento es muy rápido.

Conectar y operar la base de datos

Declaración SQL

Consultar la lista de la base de datos
Ventana de control de mysql: mostrar bases de datos; mostrar todas las listas de bases de datos
* Se debe agregar un punto y coma para representar el final de la declaración para
Inserte la descripción de la imagen aquí
crear una tabla de base de datos
Nombre de la tabla: heros

Campos de la tabla: id (id único), nombre (nombre, no puede estar vacío), género (género), img (avatar), isdelete (si se debe eliminar, el valor predeterminado es 0, eliminar es 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;

Entrar en la base de datos

use 数据库名字;

Eliminar comando de biblioteca

drop database 删除的库名;

Crear base de datos

create database 数据库名字;

Al crear una tabla, primero debe decirle a la base de datos qué biblioteca usar

user 数据库名字

Si no se selecciona ninguna base de datos, aparecerá
Inserte la descripción de la imagen aquí

Comando de creación de estructura de tabla

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;

Ver estructura de
tabla nombre de tabla descriptiva
Inserte la descripción de la imagen aquí

Insertar operación de datos

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

ejemplo:
Inserte la descripción de la imagen aquí

Modificar la base de datos

//语法: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 = '花木兰'; // 将数据表中名字叫"李四"

borrar datos

//语法: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的特性

Buscar frases

//语法:  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 的那些数据

Funciones comunes

SQL proporciona funciones convenientes para estadísticas, clasificación, etc.


Método de recuento estadístico : se utiliza para contar el número de datos de la consulta. Tenga en cuenta que los datos estadísticos no son una barra de datos vacía.
MAX: consulta el valor más grande
MIN: consulta el valor más pequeño
avg: promedio de la consulta
* representa todos los datos

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

Ordenar (ordenar por) orden
ascendente predeterminado, descendente más desc

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


Función de paginación : cuando tiene muchas bases de datos, no puede obtenerlas todas a la vez. Puede consultar los datos en lotes a través de la paginación.
Límite: indica cuántas piezas se toman.
Desplazamiento: Desplazamiento, cuántas piezas se toman desde dónde empezar

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

Base de datos operativa en Node

El nodo necesita operar la base de datos y necesita depender de bibliotecas de terceros mysql

1. La instalación del entorno
Cree una carpeta, no se puede chino
Llame a la consola, ingrese la inicialización del proyecto npm init

Ejemplo: después de que aparezca un fragmento de código grande, presione Entrar (también puede escribir) hasta que esté bien?
Inserte la descripción de la imagen aquí

Instalar mysql

npm install mysql

ejemplo:
Inserte la descripción de la imagen aquí

2. Utilice
2.1. Crear archivo js para importar mysql

const mysql=require('mysql');

2.2. Llame a mysql.createConnection (()) para obtener la instancia de Connection

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

La comparación es la siguiente
Inserte la descripción de la imagen aquí

2.3 Método de conexión de Call Connection para conectarse a la base de datos

connection.connect();

Ejemplo general:

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();

nodo ejecuta declaración SQL

Preguntar

Llamar a connection.query ('instrucción sql', función de devolución de llamada) El
parámetro de error se usa para indicar si la instrucción sql se ejecuta incorrectamente. Cuando no hay error, se obtiene el valor nulo; de lo contrario, el
resultado del mensaje de error indica el resultado de la consulta y se devuelve una matriz. Es un objeto de datos que representa una fila de datos.

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

Ctrl + `Llame al terminal e ingrese el nodo 'nombre de archivo' para ver los resultados del registro y
Inserte la descripción de la imagen aquí
agregar datos
. Después de la ejecución, puede consultar los datos en 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);

Modificar / reemplazar datos

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);

borrar datos

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);

Después de la ejecución, debe llamar al método end para finalizar el enlace

connection.end();

Supongo que te gusta

Origin blog.csdn.net/weixin_47886687/article/details/108747448
Recomendado
Clasificación