Generate Slug URL in MySQL

A slug is a short name using human-readable keywords to identify a web page. For example, in the following URL

http://www.example.com/schools/play-school

the slug is play-school. This post shows how to automatically generate slug using SQL in MySQL.

Suppose we have a table schools a field name, and we wish to generate a slug for each school using the name. First, add one field for the slug.

Then, generate slugs using school names.

Use the following to double-check the slug has only alphabets, numbers or dashes

The following query helps to replace special characters like dots, quotes, etc. Sometimes its necessary to run multiple times to remove dashes.

Finally, add unique key to the slug field.