Views are virtual tables that allow selective portions of data from one or more tables to be seen without containing data themselves. They are used to restrict access or hide complexity by storing a SELECT statement that defines which columns and rows to display from the underlying table. A view is created using the CREATE VIEW statement followed by a SELECT query to define the columns from the table and can be used to perform DML operations that affect the original table data.