Gestión de bases de datos y alta disponibilidad Capítulo 5 Funciones de bases de datos y proceso de creación de bases de datos
Uno: funciones de base de datos
1.1: Funciones matemáticas
Funcion matematica | descripción | |
---|---|---|
abs (x) | Devuelve el valor absoluto de x | Valor absoluto |
rand () | Devuelve un número aleatorio de 0 a 1. | borde rand |
mod (x, y) | Devuelve el resto de x dividido por y | Toma el resto |
power(x,y) | Devuelve x elevado a y | poder avance rápido |
redondo (x) | Devuelve el número entero más cercano a x | entero redondo |
redondo (x, y) | Mantenga el lugar decimal y de x después de redondear | |
sqrt (x) | Devuelve la raíz cuadrada de x | raíz cuadrada sqrt |
truncar (x, y) | Devuelve el valor del número x truncado ay decimales | truncar intercepción |
techo (x) | Devuelve el número entero más pequeño mayor o igual que x | Techo montado en el techo |
piso (x) | Devuelve el entero más grande menor o igual que x | suelo |
mayor (x1, x2 ...) | Devuelve el valor más grande de la colección. | |
mínimo (x1, x2 ...) | Devuelve el valor más pequeño del conjunto |
1.2: Funciones agregadas
Función agregada | descripción | |
---|---|---|
avg () | Devuelve el valor promedio de la columna especificada. | promedio promedio |
contar() | Devuelve el número de valores no NULL en la columna especificada | contar contar |
min () | Devuelve el valor mínimo de la columna especificada. | |
max () | Devuelve el valor máximo de la columna especificada. | |
suma (x) | Devuelve la suma de todos los valores en la columna especificada |
1.3: Funciones de cadena
Función de cadena | descripción | |
---|---|---|
longitud (x) | Devuelve la longitud de la cadena x | longitud |
podar() | Devuelve el valor sin el formato especificado | recortar recortar, cortar, eliminar espacios solo puede eliminar los espacios en ambos extremos |
concat (x, y) | Concatenar los parámetros proporcionados xey en una cadena | fusión de concat |
superior (x) | Cambie todas las letras de la cadena x a letras mayúsculas | Superior |
inferior (x) | Cambie todas las letras de la cadena x a letras minúsculas | inferior |
izquierda (x, y) | Devuelve los primeros caracteres y de la cadena x | Valor a la izquierda |
derecha (x, y) | Devuelve los últimos y caracteres de la cadena x | Valor a la derecha |
repeat(x,y) | Repite la cuerda x y veces | repetir repetir |
espacio (x) | Se devuelven los espacios X | espacio espacio |
reemplazar (x, y, z) | Reemplace la cadena z con la cadena y en la cadena x | reemplazar |
strcmp (x, y) | Comparando xey, el valor devuelto puede ser -1,0,1 y convertido a comparación de código ASCII | strcmp compara cadenas |
subcadena (x, y, z) | Obtenga una cadena de longitud z a partir de la posición y en la cadena x | cadena de intercepción de subcadena |
reverso (x) | Cuerda inversa x | reverso, reverso |
1.4: Funciones de fecha y hora
Función de cadena | descripción | |
---|---|---|
curdate () | Devuelve el año, mes y día de la hora actual. | Obtener la fecha actual |
curtime () | Devuelve la hora, minuto y segundo de la hora actual. | Obtener la hora actual |
ahora() | Devuelve la fecha y hora de la hora actual. | Qué hora es en este momento |
mes (x) | Devuelve el valor del mes en la fecha x | |
semana (x) | La fecha de devolución x corresponde a las primeras semanas del año | |
hora (x) | Devuelve el valor de la hora en x | |
minuto (x) | Devuelve el valor de los minutos en x | |
segundo (x) | Devuelve el valor de los segundos en x | |
día de la semana (x) | Devolver x es el día de la semana, 1 domingo, 2 lunes | |
día del mes (x) | La fecha de cálculo x es el día del mes | |
día del año (x) | La fecha de cálculo x es el día del año |
1.5: Procedimientos almacenados
// Formatear
# definir procedimiento almacenado
delimiter $$
create procedure存储过程名(in 参数名 参数类型)
begin
#定义变量
declare变量名变量类型
#变量赋值
set 变量名 = 值
sql语句1;
sql语句2;
..
sql语句n;
end $$
delimiter ;
#
Llamar al procedimiento almacenado llamar al nombre del procedimiento almacenado (parámetros reales);
# Consultar el procedimiento almacenado
mostrar el estado del procedimiento donde db = 'base de datos';
# Eliminar procedimiento almacenado
eliminar el procedimiento almacenado nombre del procedimiento;
Ejemplo 1
mysql> delimiter $$
mysql> create procedure myrole() //创建存储过程,名字为myrole
-> begin
-> select name,score from accp;
-> end $$
Query OK, 0 rows affected (0.00 sec)
mysql> delimiter ;
mysql> call myrole();
Ejemplo: 2
mysql> delimiter $$
mysql> create procedure myschool(in my_name varchar(10))
-> begin
-> select name score from accp where name=my_name;
-> end$$
Query OK, 0 rows affected (0.01 sec)
mysql> delimiter ;
mysql> show procedure status where db='school';
Ejemplo 3:
mysql> delimiter $$
mysql> create procedure myupdate(in my_score decimal(5,2))
-> begin
-> declare hob int(3);
-> if my_score >= 80 then
-> set hob = 1;
-> else
-> set hob = 2;
-> end if;
-> update accp set score=my_score,hobby=hob where name='zhangsan';
-> end$$
Query OK, 0 rows affected (0.06 sec)
//修改名为张三的分数和hobby,修改zhangsan的hobby=2,score=75
mysql> delimiter ;
mysql> call myupdate(75);