---
title: "DROP ROLE"
url: "https://docs.yugabyte.com/stable/api/ycql/ddl_drop_role/"
---

# DROP ROLE

Use the DROP ROLE statement to delete an existing role.

## Synopsis

Use the `DROP ROLE` statement to delete an existing role.

This statement is enabled by setting the YB-TServer flag [`use_cassandra_authentication`](/stable/reference/configuration/yb-tserver/#use-cassandra-authentication "use_cassandra_authentication") to `true`.

## Syntax

### Diagram

### drop\_role

DROPROLEIFEXISTS[role\_name](/stable/api/ycql/grammar_diagrams#role-name)

### Grammar

```ebnf
drop_role ::=  DROP ROLE [ IF EXISTS ] role_name
```

Where

- `role_name` is a text identifier.

## Semantics

- An error is raised if `role_name` does not exist unless IF EXISTS option is present.
- Only a role with the `SUPERUSER` status can delete another `SUPERUSER` role.
- Only a client with the permission `DROP` on `ALL ROLES` or on the specified `role_name`, or with the `SUPERUSER` status can delete another role.

## Examples

```sql
ycqlsh:example> DROP ROLE role1;
```

```sql
ycqlsh:example> DROP ROLE IF EXISTS role2;
```

## See also

- [ALTER ROLE](/stable/api/ycql/ddl_alter_role "ALTER ROLE")
- [CREATE ROLE](/stable/api/ycql/ddl_drop_role "CREATE ROLE")
- [GRANT ROLE](/stable/api/ycql/ddl_grant_role "GRANT ROLE")
- [REVOKE ROLE](/stable/api/ycql/ddl_revoke_role "REVOKE ROLE")
- [GRANT PERMISSION](/stable/api/ycql/ddl_grant_permission "GRANT PERMISSION")
- [REVOKE PERMISSION](/stable/api/ycql/ddl_revoke_permission "REVOKE PERMISSION")
