Este artículo presenta las funciones comúnmente utilizadas en las declaraciones SQL de MySQL y las restricciones de los campos de la tabla.
Directorio de artículos
Clasificación de funciones
- funciones de cadena
- Función numérica
- función de fecha
- función de proceso
funciones de cadena
ejemplo:
-- 拼接
SELECT CONCAT('Hello', 'World');
-- 小写
SELECT LOWER('Hello');
-- 大写
SELECT UPPER('Hello');
-- 左填充
SELECT LPAD('01', 5, '-');
-- 右填充
SELECT RPAD('01', 5, '-');
-- 去除空格
SELECT TRIM(' Hello World ');
-- 切片(起始索引为1)
SELECT SUBSTRING('Hello World', 1, 5);
-- 由于业务需求变更,企业员工工号统一为5位数,不足5位数的全部在前面补0.
UPDATE emp SET workno = LPAD(workno,5,'0');
Función numérica
ejemplo:
#通过函数,生成一个六位数的随机验证码
SELECT LPAD(ROUND(RAND()*1000000,0),6,0);
función de fecha
ejemplo:
#查询所有员工的入职天数
SELECT name,DATEDIFF(CURDATE(),entrydate) AS entryday FROM EMP ORDER BY entryday DESC;
función de proceso
select
name,
(case when age > 30 then '中年' else '青年' end)
from employee;
select
name,
(case workaddress when '北京市' then '一线城市' when '上海市' then '一线城市' else '二线城市' end) as '工作地址'
from employee;
restricción
Concepto: Las restricciones son reglas que actúan sobre los campos de una tabla para limitar los datos almacenados en la tabla.
Finalidad: Garantizar la corrección, eficacia e integridad de los datos contenidos en la base de datos.
Aviso:
- Las restricciones se aplican a los campos de la tabla y se pueden agregar restricciones al crear/modificar tablas.
restricciones comunes
create table user(
id int primary key auto_increment,
name varchar(10) not null unique,
age int check(age > 0 and age < 120),
status char(1) default '1',
gender char(1)
);
restricciones de clave externa
Agregar clave externa:
CREATE TABLE 表名(
字段名 字段类型,
...
[CONSTRAINT] [外键名称] FOREIGN KEY(外键字段名) REFERENCES 主表(主表列名)
);
ALTER TABLE 表名 ADD CONSTRAINT 外键名称 FOREIGN KEY (外键字段名) REFERENCES 主表(主表列名);
-- 例子
alter table emp add constraint fk_emp_dept_id foreign key(dept_id) references dept(id);
Eliminar claves foráneas:
ALTER TABLE 表名 DROP FOREIGN KEY 外键名;
ejemplo:
#为emp表的dept_id字段添加外键,关联dept表的id字段。
ALTER TABLE emp ADD CONSTRAINT fk_emp_dept_id FOREIGN KEY(dept_id) REFERENCES dept(id);
#删除名为fk_emp_dept_id的外键
ALTER TABLE emp DROP FOREIGN KEY fk_emp_dept_id;
eliminar/actualizar comportamiento
Cambiar el comportamiento de eliminación/actualización:
ALTER TABLE 表名 ADD CONSTRAINT 外键名称 FOREIGN KEY (外键字段) REFERENCES 主表名(主表字段名) ON UPDATE 行为 ON DELETE 行为;