Directorio de artículos
-
- 1. Si quiero escribir una declaración sql para actualizar si existe, o insertar nuevos datos, ¿cómo resolverlo?
- 2. Consulta difusa + mayúsculas y minúsculas
- 3. Consulta si un campo pertenece a uno de múltiples valores, o filtra si es igual a uno de múltiples valores
- 4. Consulta de rango de tiempo
- 5. Cómo usar dbever para agregar campos por lotes y establecer el tipo en la base de datos de Postgres
- 6. Algunos comandos simples de Mysql de uso común
-
- Descartar la base de datos especificada, si existe
- crear nueva base de datos
- Ingrese a la base de datos tangdoudou
- crear mesa
- Insertar datos en la tabla
- Consultar todos los datos de la tabla
- cambiar los datos
- borrar datos
- Algunas castañas de uso común:
-
- Descartar la base de datos especificada tangdoudou, si existe
- crear una nueva base de datos
- Ingrese a la base de datos tangdoudou
- Cree una tabla que contenga los datos de los estudiantes (número, nombre, sexo, puntuación);
- Insertar datos en la tabla de estudiantes
- Cambie el puntaje del estudiante numerado 2 a 100, y el nombre es lucy;
- Eliminar los datos del alumno numerados 3
- Consultar el contenido de la tabla de alumnos
- para ser agregado
1. Si quiero escribir una declaración sql para actualizar si existe, o insertar nuevos datos, ¿cómo resolverlo?
Esquema de implementación de la base de datos MySQL: EN ACTUALIZACIÓN DE CLAVE DUPLICADA
En la base de datos MySQL, si la cláusula ON DUPLICATE KEY UPDATE va seguida de la declaración de inserción y la fila que se insertará
tiene un valor duplicado en el índice único o clave principal del registro existente en la tabla, entonces la actualización de la anterior Se producirá una fila; si los datos de la fila insertada
no son los mismos que el índice único o la clave principal registrada en la tabla existente, se insertará un nuevo registro.
En resumen: actualizar si existen datos, crear si no
fraseología
INSERT INTO 表名
(字段名1, 字段名2 )
VALUES
(字段值1, 字段值2)
ON DUPLICATE KEY UPDATE
字段名1 = VALUES(字段名1),
字段名2 = VALUES(字段名2)
Esquema de implementación de la base de datos Postgres:
Precauciones:
- ON CONFLICT solo está disponible desde PostgreSQL 9.5 en adelante.
- El campo a juzgar debe tener una restricción de índice. Por ejemplo, índice único único como restricción
plano 1:
Si tenemos esta tabla de aplicaciones, ahora configure uno de los nombres de columna como único
ALTER TABLE public.applications ADD CONSTRAINT applications_un UNIQUE (name);
Luego vamos a escribir el código
de esta declaración: Cuando los datos existen, no hacer nada (NO HACER NOTAR)
const insertApp = await client.query(`INSERT INTO applications
(app_name, details )
VALUES
('${appName}', '${appDetail}')
ON CONFLICT ON CONSTRAINT applications_un
DO NOTHING;
`);
Escenario 2:
La siguiente declaración tiene el mismo efecto, la diferencia es que se usa el campo de nombre en lugar del nombre de la restricción
INSERT INTO customers (app_name, details)
VALUES
(
'AAA',
'BBBBBB'
)
ON CONFLICT (name)
DO NOTHING;
Con respecto a la actualización: ¿cómo implementar, cuando existen los datos de app_name, actualizar los detalles? ?
INSERT INTO customers (app_name, details)
VALUES
(
'AAA',
'BBBBBB'
)
ON CONFLICT (name)
DO
UPDATE
SET email = 'CCCCCCCC';
upsert
Usando la misma variable y ejecutando esta lógica varias veces, encontraremos que solo se crea una, por lo que es exitosa ~~~
2. Consulta difusa + mayúsculas y minúsculas
Tome una castaña: consulte la información detallada y la información del nombre de usuario de la tabla de usuarios que contiene la letra 'xiaojin'
select * from users where lower(details) like '%xiaojin%' or lower(user_name) like '%xiaojin%'
3. Consulta si un campo pertenece a uno de múltiples valores, o filtra si es igual a uno de múltiples valores
Tome una castaña: consulte el tipo de tipo de la tabla de usuarios como administrador o superadministrador
select * from users where "type" in ('Admin', 'Super Admin')
4. Consulta de rango de tiempo
Por ejemplo: quiero consultar los datos en el campo created_at de la tabla de usuarios desde 2023-08-01 00:00:00.000 hasta 2023-08-10 00:00:00.000
select * from users where created_at between '2023-08-01 00:00:00.000' and '2023-08-10 00:00:00.000'
5. Cómo usar dbever para agregar campos por lotes y establecer el tipo en la base de datos de Postgres
1. Crear una nueva tabla
2. Abra un editor de SQL
3. Escriba declaraciones SQL, aquí hay algunas oraciones de referencia para usted
ALTER TABLE public.users ADD id serial4 NOT NULL;
ALTER TABLE public.users ADD "user_name" varchar(255) NULL;
ALTER TABLE public.users ADD description varchar(255) NULL;
ALTER TABLE public.users ADD "type" varchar(255) NULL;
ALTER TABLE public.users ADD created_at timestamp(6) NULL;
ALTER TABLE public.users ADD updated_at timestamp(6) NULL;
ALTER TABLE public.users ADD created_by varchar(255) NULL;
ALTER TABLE public.users ADD updated_by varchar(255) NULL;
4. Ejecutar declaración
5. Crear tabla con éxito
6. Algunos comandos simples de Mysql de uso común
Descartar la base de datos especificada, si existe
DROP DATABASE IF EXISTS tangdoudou;
crear nueva base de datos
CREATE DATABASE tangdoudou;
Ingrese a la base de datos tangdoudou
USE tangdoudou;
crear mesa
CREATE TABLE student (
sid INT, # integer 整形
name VARCHAR(8), # variable character可变字符
sex VARCHAR(1), # m->男 f->女
score INT
);
Insertar datos en la tabla
INSERT INTO student VALUES('1','tom','F','95');
Consultar todos los datos de la tabla
SELECT * FROM student;
cambiar los datos
UPDATE student SET name='lucy',score='100' WHERE sid='2';
borrar datos
DELETE FROM student WHERE sid='3';
Algunas castañas de uso común:
Descartar la base de datos especificada tangdoudou, si existe
DROP DATABASE IF EXISTS tangdoudou;
crear una nueva base de datos
CREATE DATABASE tangdoudou;
DROP DATABASE IF EXISTS tangdoudou;
Ingrese a la base de datos tangdoudou
USE tangdoudou;
Cree una tabla que contenga los datos de los estudiantes (número, nombre, sexo, puntuación);
DROP TABLE IF EXISTS student;
CREATE TABLE student (
sid INT, # integer 整形
name VARCHAR(8), # variable character可变字符
sex VARCHAR(1),# m->男 f->女
score INT
);
Insertar datos en la tabla de estudiantes
INSERT INTO student VALUES('1','tom','m','85');
INSERT INTO student VALUES('2','kate','f','92');
INSERT INTO student VALUES('3','king','m','74');
Cambie el puntaje del estudiante numerado 2 a 100, y el nombre es lucy;
UPDATE student SET name='lucy' WHERE sid='2';
UPDATE student SET score='100' WHERE sid='2';
Eliminar los datos del alumno numerados 3
DELETE FROM student WHERE sid='3';
Consultar el contenido de la tabla de alumnos
SELECT * FROM student;
para ser agregado
- Eso es todo por hoy~ Amigos, ( ̄ω ̄( ̄ω ̄〃 ( ̄ω ̄〃)ゝ Nos vemos mañana~~
- Todos sean felices todos los días
Todos son bienvenidos a señalar dónde se debe corregir el artículo ~
El aprendizaje es interminable, la cooperación es beneficiosa para todos.