1. Constantes y variables
1. constante
- Constante de cadena : una constante de cadena se refiere a una secuencia de caracteres encerrados entre comillas simples o dobles. Se recomiendan comillas simples en MySQL
- Constantes numéricas : las constantes numéricas se pueden dividir en constantes enteras y constantes decimales.
- Constantes de fecha y hora : las constantes de fecha y hora se representan mediante valores de fecha de caracteres en un formato específico, entre comillas simples.
- Constantes booleanas : los valores booleanos solo tienen dos valores, verdadero y falso. El resultado de la ejecución del comando SQL usa 1 para representar verdadero y 0 para representar falso.
- Valor NULL : Aplicable a varios tipos de campo, generalmente significa "valor incierto", la operación de participación de valor NULL, el resultado sigue siendo valor NULL
[Ejemplo 3-1] Información del empleado con el valor ename de SCOTT en la tabla de consulta emp.
SELECT * FROM emp WHERE ename='SCOTT';
[Ejemplo 3-2] Cambie el valor de comunicación de los empleados de SCOTT en la tabla emp a 1250 (requerido para usar notación científica).
UPDATE emp SET COMM=1.25E+3 WHERE ename='SCOTT';
[Ejemplo 3-3] La información de ename y fecha de contratación de los empleados contratados después de 1981 en la tabla de consulta emp.
SELECT ename,hiredate FROM emp WHERE hiredate>'1981/12/31';
[Ejemplo 3-4] Pregunte si el nombre ename y el salario de todos los empleados en la tabla emp es mayor o igual a 2000.
SELECT ename,sal>2000 FROM emp;
2. Variables
1. Variables locales
(1) Definición y asignación de variables locales.
SET @ variable local nombre = expresión 1
[, @ Nombre de la variable local = expresión 2, ...]
(2) Visualización de variables locales
SELECCIONE @ nombre de variable local [, @ nombre de variable local, ......]
[Ejemplo 3-7] El trabajo y los valores contratados del empleado 'SMITH' en la tabla de consulta emp se asignan a las variables job_v y hired_v, y se muestran los valores de las dos variables
SELECT job,hiredate INTO @job_v,@hiredate_v
FROM emp WHERE ename='SMITH';
#查看变量
SELECT @job_v,@hiredate_v;
[Ejemplo 3-8] Consulte la información del empleado especificado en función del valor dado por la variable de nombre.
#定义变量并赋值
SET @name='SCOTT';
#变量@name的调用
SELECT * FROM emp WHERE ename=@name;
2. Variables globales
Las variables globales son variables proporcionadas y asignadas por el sistema MySQL. Los usuarios no pueden definir variables globales, solo pueden usarlas.
Segundo, funciones del sistema de uso común
1. Funciones de cadena
1) Función para calcular el número de caracteres en una cadena y función para la longitud de una cadena
CHAR_LENGTH (str) devuelve el número de caracteres contenidos en la cadena str.
El valor de retorno de LENGTH (str) es la longitud en bytes de la cadena. Un carácter chino tiene 3 bytes y un número o letra es 1 byte.
SELECT CHAR_LENGTH('中国') 字符数,LENGTH('中国') 字符串长度;
El resultado:
2) Combinar función de cadena
CONCAT (s1, s2, ...) devuelve el resultado es la cadena generada por los parámetros de conexión, si algún parámetro es NULL, el valor de retorno es NULL.
[Ejemplo 3-11] Ejemplos.
SELECT CONCAT('MySQL版本:',@@version) 版本号;
El resultado:
3) Función de conversión de mayúsculas y minúsculas
INFERIOR (str) es convertir todos los caracteres alfabéticos de la cadena str a letras minúsculas.
UPPER (str) es convertir todos los caracteres alfabéticos de la cadena str a letras mayúsculas.
SET @name='alice';
SELECT * FROM emp WHERE UPPER(ename)=UPPER(@name);
El resultado:
4) Eliminar la función de espacio
LTRIM (str) devuelve la cadena str con los espacios iniciales eliminados;
RTRIM (str) devuelve la cadena str con los espacios finales eliminados;
TRIM (str) devuelve la cadena str que elimina espacios en ambos lados.
SET @name=' alice ';
SELECT * FROM emp WHERE UPPER(ename)=TRIM(UPPER(@name));
El resultado:
5) Tomar la función de subcadena
SUBSTRING (str, start, length) devuelve una subcadena de longitud str de inicio a longitud.
[Ejemplo 3-14] Devuelve la información del empleado cuyo valor de ename comienza con 'A' en emp.
#第一种写法
SELECT * FROM emp WHERE SUBSTRING(ename,1,1)='A';
#第二种写法
SELECT * FROM emp WHERE ename LIKE 'A%';
El resultado:
2. Funciones matemáticas.
ABS (x) devuelve el valor absoluto de x.
PI () devuelve el valor de pi.
SQRT () devuelve la raíz cuadrada de un número no negativo.
MOD (m, n) devuelve el resto después de que m se divide por n.
ROUND (x, y) devuelve x redondeado a la precisión especificada por y. Si y es negativo, el valor de x se retendrá al dígito y a la izquierda del punto decimal.
3. Funciones de fecha y hora
1) Obtenga la fecha actual del sistema y las funciones de fecha, mes y día
CURDATE () devuelve la fecha actual del sistema en el formato 'AAAA-MM-DD'.
AÑO (d), MES (d) y DÍA (d) devuelven los valores de año, mes y día de la fecha o fecha y hora d, respectivamente.
SELECT CURDATE() 当前日期,YEAR(CURDATE()) 年,MONTH(CURDATE()月,DAY(CURDATE()) 日;
El resultado:
2) Obtener la función actual de fecha y hora del sistema
La corriente _ marca de tiempo (), LOCALTIME (), el AHORA acción (), SYSDATE () de las mismas cuatro funciones, tanto la rentabilidad como la fecha actual del sistema y el formato de la hora 'AAAA-MM-DD HH: MM: SS'.
4. Función de información del sistema
USER () devuelve el nombre de usuario actualmente conectado.
BASE DE DATOS () devuelve el nombre de la base de datos utilizada actualmente.
VERSION () devuelve el número de versión del servidor MySQL.
SELECT CONCAT('当前数据库:',DATABASE(),';用户:',USER()) AS 登录信息;
El resultado:
5. Función de control condicional
1) función IF ()
IF (expresión condicional, v1, v2) Si la expresión condicional es verdadera, la función devuelve el valor de v1; de lo contrario, devuelve el valor de v2.
2) función CASE ()
Expresión CASO
CUANDO v1 ENTONCES r1
CUANDO v2 ENTONCES r2
......
[ELSE rn]
FIN
SELECT ename 姓名,
CASE deptno
WHEN 10 THEN 'ACCOUNTING'
WHEN 20 THEN 'RESEARCH'
WHEN 30 THEN 'SALES'
WHEN 40 THEN 'OPERATIONS'
ELSE 'DESIGN'
END 部门名称
FROM emp
WHERE ename='Alice';
6. Función de conversión de tipo de datos
Las dos funciones de CAST (x AS new type) y CONVERT (x new type) tienen el mismo efecto, convirtiendo el valor de un tipo en el valor de otro tipo.
SELECT ename,sal INTO @empname,@salary FROM emp WHERE ename='Alice';
SELECT CONCAT(@empname,'的工资是',
CAST(@salary AS CHAR(7))) 信息;
El resultado: