表重命名
RENAME TABLE old_table_name TO new_table_name;
如果你需要重命名多个表,可以在同一个RENAME TABLE
语句中指定它们,每个表的重命名之间用逗号分隔:
RENAME TABLE old_table_name1 TO new_table_name1,
old_table_name2 TO new_table_name2,
...;
创建视图
CREATE VIEW 视图名称 AS
SELECT 列名称
FROM 表名称
WHERE 条件;
删除视图
DROP VIEW IF EXISTS 视图名称;
修改视图
值得注意的是,从MySQL 5.7.6开始,CREATE OR REPLACE VIEW
语句被引入,这使得你能够在不删除现有视图的情况下替换它的定义。然而,在MySQL 5.7之前的版本中,你需要先删除再创建。
CREATE OR REPLACE VIEW 视图名称 AS
SELECT ...
FROM ...
WHERE ...;
创建函数
CREATE FUNCTION 函数名称(参数列表)
RETURNS 返回类型
[DETERMINISTIC | NOT DETERMINISTIC]
[CONTAINS SQL | NO SQL | READS SQL DATA | MODIFIES SQL DATA]
SQL 安全特征 [特性 ...]
BEGIN
-- 函数体,即一系列的SQL语句
RETURN 表达式;
END;
示例
DELIMITER
$$
CREATE FUNCTION GetEmployeeSalary(emp_id INT)
RETURNS DECIMAL(10, 2)
DETERMINISTIC
READS SQL DATA
BEGIN
DECLARE emp_salary DECIMAL(10, 2);
SELECT salary INTO emp_salary FROM employees WHERE id = emp_id;
RETURN emp_salary;
END
$$
DELIMITER ;
修改函数
MySQL不直接支持修改已存在的函数。如果你需要修改一个函数,你需要先删除它,然后使用新的定义重新创建它。
删除函数
DROP FUNCTION IF EXISTS 函数名称;