> For the complete documentation index, see [llms.txt](https://mariadb.com/docs/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://mariadb.com/docs/server/server-usage/user-defined-functions/drop-function-udf.md).

# DROP FUNCTION UDF

## Syntax

```bnf
DROP FUNCTION [IF EXISTS] function_name
```

## Description

This statement drops the [user-defined function](/docs/server/server-usage/user-defined-functions.md) (UDF) named `function_name`.

To drop a function, you must have the [DELETE privilege](/docs/server/reference/sql-statements/account-management-sql-statements/grant.md) for the mysql database. This is because `DROP FUNCTION` removes the row from the [mysql.func](/docs/server/reference/system-tables/the-mysql-database-tables/mysql-func-table.md) system table that records the function's name, type and shared library name.

For dropping a stored function, see [DROP FUNCTION](/docs/server/server-usage/stored-routines/stored-functions/drop-function.md).

### Upgrading a UDF

To upgrade the UDF's shared library, first run a [DROP FUNCTION](/docs/server/server-usage/stored-routines/stored-functions/drop-function.md) statement, then upgrade the shared library and finally run the CREATE FUNCTION statement. If you upgrade without following this process, you may crash the server.

## Examples

```sql
DROP FUNCTION jsoncontains_path;
```

IF EXISTS:

```sql
DROP FUNCTION jsoncontains_path;
ERROR 1305 (42000): FUNCTION test.jsoncontains_path does not exist

DROP FUNCTION IF EXISTS jsoncontains_path;
Query OK, 0 rows affected, 1 warning (0.00 sec)

SHOW WARNINGS;
+-------+------+------------------------------------------------+
| Level | Code | Message                                        |
+-------+------+------------------------------------------------+
| Note  | 1305 | FUNCTION test.jsoncontains_path does not exist |
+-------+------+------------------------------------------------+
```

<sub>*This page is licensed: GPLv2, originally from*</sub> [<sub>*fill\_help\_tables.sql*</sub>](https://github.com/MariaDB/server/blob/main/scripts/fill_help_tables.sql)

{% @marketo/form formId="4316" %}
