Resolver problemas comunes de SQL (1)

1. Consultar datos de la tabla

(1) Especifique la fila y la columna
en la cláusula where de la consulta
(2) Especifique el alias de la columna en el resultado de la consulta
como
Nota: el alias de la columna no se puede utilizar en la cláusula where
(3) El resultado de la consulta se ordena
en orden descendente y
el campo de clasificación es seguido por DESC
Clasificación personalizada: use field() para asignar valores de columna en una secuencia que se puede asignar por orden de campo (nombre, 'Henry', 'Suzi', 'Ben') de acuerdo con el deseado clasificación (4)
filtro Contar el número de resultados únicos en recuento
distinto (distinto A) (5) Manejar valores NULL es nulo, no es nulo, <=>, <> (6) Unión de consulta de varias tablas . ..en... (7) Intercepte el comienzo del resultado de la consulta, el final o el límite de la parte media, y utilícelo en combinación con order by según sea necesario. Primero ordenar por y luego limitar, ordenar por puede usar alias de columna. Para seleccionar algunas filas en medio del conjunto de resultados, puede usar limit con dos parámetros, de modo que pueda seleccionar cualquier fila, indicando el número de filas omitidas y el número de filas devueltas, como limit2,1 significa saltar dos filas y volver a la fila siguiente Se pueden realizar consultas como "el tercer valor más pequeño o el tercero más grande", lo que no se puede hacer con min() o max()








2. Gestión de mesas

(1) Clonar la tabla
crear tabla... como clonar la estructura de la tabla, copiar algunos o todos los datos de la tabla original a la nueva tabla, puede usar insertar en... seleccionar para hacer que la nueva tabla tenga la misma estructura
que la tabla original, y la nueva tabla no tiene datos: create table new_table like original_table
La nueva tabla tiene los mismos datos que la tabla original (cree la tabla new_table primero y luego insértela): insert into new_table select * from original_table
(2) Usar la tabla temporal
temporal

3. Cuerda

(1) Convierta el caso de la
función de cadena superior () o inferior ()
Si superior () o inferior () no funciona, la cadena puede ser una cadena binaria y debe convertirse en una cadena no binaria
Solo escriba en mayúscula el primera letra: concat(upper(left(str,1)),mid(str,2))
(2) Use expresiones regulares para la coincidencia de patrones Cadenas que comiencen con
una subcadena específica : seleccione el nombre de metal donde el nombre regexp '^me' a cadena que termina con una subcadena específica : select name from metal where name regexp 'd$' una cadena que contiene una subcadena específica en cualquier lugar: select name from metal where name regexp ' in Una cadena que contiene una subcadena en una posición específica : select name from metal donde nombre expresión regular '^...at' (3) Dividir o conectar cadenas Conexión: concat(A,'@',B) Extracción: contar desde la izquierda, comenzando desde la cadena inicial devuelve todo a la izquierda (incluido el inicio string): left(A,4) cuenta desde la derecha y devuelve todo lo que está a la derecha comenzando desde la cadena inicial (incluida la cadena inicial): right(A,2) cuenta desde la izquierda, todo lo que está a la derecha de la cadena cadena de inicio (incluida la cadena de inicio): subcadena (A,6) o mid (A,6)









Contando desde la izquierda, especifique el número de cadenas a la derecha de la cadena inicial (incluida la cadena inicial):
subcadena(s,n,len) o mid(s,n,len)
subcadena(A,6,2) o mid(A,6,2)
devuelve todo el contenido del lado izquierdo o derecho de la cadena especificada: substring_index(str,c,n) la enésima aparición del carácter c en la cadena str
substring(str,'@',1) Todo el contenido en el lado izquierdo de
la subcadena '@' (str,'@',-1) Todo el contenido en el lado derecho de '@'
(4) La búsqueda de subcadena
localizar() o la coincidencia de patrones
devuelve la posición donde aparece la subcadena, si no existe, devuelva 0 :locate('in',name)
El tercer parámetro opcional indica dónde empezar a buscar en la cadena: locate('in',name,3)

4. Fecha y hora

(1) Seleccione el tipo de datos de hora Fecha
: date()
valor de hora: time()
valor combinado de fecha y hora: datetime(), timestamp()
(2) Cambie el formato de fecha de MySQL date_format
(d,'%M % d, %Y')
dos parámetros, el primero es un valor de fecha, fecha y hora, tipo de marca de tiempo, y el otro es una cadena que muestra el formato.
time_format(dt,'%r') tiene
dos parámetros, el primero es un valor de fecha, fecha y hora, tipo de marca de tiempo, y el otro es una cadena que muestra el formato, pero solo se procesa la parte relacionada con la hora de la cadena de formato

formateo de caracteres significado
%Y año, cuatro dígitos
%y año, últimos dos dígitos
%METRO Nombre completo del mes (enero…diciembre)
%b Nombre del mes, primeras tres letras (enero…diciembre)
%metro Mes, dos dígitos (01…12)
%C mes (1...12)
%d Día del mes, dos dígitos (01…31)
%mi el número de días en el mes, (1...31)
%W El nombre de la semana (Domingo-Sábado)
%r Hora, en formato de 12 horas, terminando en AM o PM
%T tiempo, 24 horas
%H Hora, dos dígitos (00…23)
%i minuto, dos dígitos (00...59)
%s Segundos, dos dígitos (00...59)
%% carta"%"

(3) Obtener la fecha o la hora actual
Valor de la fecha o la hora actual: curdate(), curtime(), now()
Valor de la hora UTC: utc_date(), utc_time(), utc_timestamp()
(4) Seguimiento de la hora de modificación del fila Extraiga las partes de un valor de fecha u hora
usando las propiedades de inicialización automática y actualización automática (5) de los tipos de datos de marca de tiempo y fecha y hora Extraiga la función de valor de hora:

función valor devuelto
AÑO() año de regreso
MES() mes de regreso (1...12)
NOMBRE DEL MES() Devuelve el nombre completo del mes (enero…diciembre)
DIA DEL MES() Devuelve el número de días del mes (1...31)
NOMBRE DEL DÍA() Devuelve el nombre del día de la semana (Domingo...Sábado)
DÍA DE LA SEMANA Devuelve el día de la semana (1...7 para domingo...sábado respectivamente)
DÍA LABORABLE() Devuelve el día de la semana (0...6 para lunes...domingo respectivamente)
DÍA DEL AÑO() Devuelve el día del año (1...366)
HORA() hora de regreso (00...23)
MINUTO() minutos de retorno (00...59)
SEGUNDO() volver segundos (00...59)
EXTRACTO() Devuelve la parte correspondiente de la fecha (año, mes, día, etc. todo el trabajo)

Las funciones relacionadas con la fecha aplican fecha, fecha y hora, marca de tiempo
Las funciones relacionadas con la hora aplican hora, fecha y hora, marca de tiempo
Funciones de formato:
formato fecha: formato_fecha(dt,'%Y-%m-%d')
formato hora: formato_hora (dt,'% H')
(6) Valor de fecha u hora compuesto
Valor de tiempo compuesto basado en horas, minutos y segundos: maketime(10,30,58) devuelve 10:30:58
usando el valor existente, más querer Las partes reemplazadas juntas forman una nueva fecha u hora:
date_format(d,'%Y-%m-01')
time_format(t1,'%H:%i:00')
Use la función de extracción de fecha para extraer la parte requerida y luego vuelva a ensamblar con concat() :
concat(año(d),'-',lpad(mes(d),2,'0'),'-01') (la función lpad se usa para llenar 0, garantiza El mes se muestra en dos dígitos)
( 7) Conversión entre valor de tiempo y unidad básica Conversión entre
valor de tiempo y segundo: time_to_sec(), sec_to_time()
Conversión entre valor de fecha y día: to_days(), from_days()
tiempo Conversión entre valores y segundos: unix_timestamp(), from_unixtime()
(8) Calcular el intervalo entre fechas u horas
Función de diferencia horaria: fechadoiff(d1,d2) d1-d2
fechadoiff(d2,d1) d2-d1
Convierta el valor de tiempo en la unidad básica y luego calcule la diferencia: la unidad timestampdiff (unidad, val1, val2) es la unidad de intervalo, val1 y val2 son los valores val1-val2 del intervalo de cálculo, y la unidad se puede especificar como microsegundo, segundo, minuto, hora, día, semana, mes, trimestre o año
(9) Suma de valores de fecha u hora
① Use la función de suma de tiempo:
la suma de dos valores de hora u hora y fecha y hora ( no se pueden agregar fechas):
addtime (t1, t2) t1 + t2
addtime (dt, t) dt + t
hora y fecha, la suma de los valores de hora y fecha y hora (se puede agregar fecha):
marca de tiempo (d, t) d +t
timestamp(dt,t) dt+t
②Use +interval o -interval La
unidad del operador es una unidad de intervalo, ¿cuántas unidades tiene val
? Agregue: date_add(d, intervalo val unidad) Menos
: date_sub(d, intervalo val unidad)

Supongo que te gusta

Origin blog.csdn.net/weixin_47970003/article/details/123670683
Recomendado
Clasificación