Languages
[Edit]
EN

MySQL - Create view

0 points
Created by:
Emrys-Li
580

In this article, we would like to show you how to create a view in MySQL.

Quick solution:

CREATE VIEW `view_name` AS
SELECT `column1`, `column2`, ...
FROM `table_name`
WHERE condition;

Practical example

To show how the CREATE VIEW statement works, we will use the following table:

MySQL - example data used with CREATE VIEW statement
MySQL - example data used with CREATE VIEW statement

Note:

At the end of this article you can find database preparation SQL queries.

Example

In this example, we will create a view that shows all users from Spain.

Query:

CREATE VIEW `Spain Users` AS
SELECT `name`, `email`
FROM `users`
WHERE `country` = 'Spain';

To see the view created with the query above simply use:

SELECT * FROM `Spain Users`;

Result:

MySQL - View created by CREATE VIEW (HeidiSQL) 
MySQL - View created by CREATE VIEW (HeidiSQL)

Popular error

If you try to create view that already exist with CREATE VIEW query you will get an error:

MySQL - SQL Error: Table 'view_name' already exists
MySQL - SQL Error: Table 'view_name' already exists

If you try to CREATE VIEW IF NOT EXISTS you will get a warning instead:

MySQL - Note: Table 'view_name' already exists
MySQL - Note: Table 'view_name' already exists

Note:

Go to this article to see a practical example: 

Database preparation

create_tables.sql file:

CREATE TABLE `users` (
	`id` INT(10) UNSIGNED NOT NULL AUTO_INCREMENT,
	`name` VARCHAR(100) NOT NULL,
	`email` VARCHAR(100) NOT NULL,
	`country` VARCHAR(15) NOT NULL,
	PRIMARY KEY (`id`)
)
ENGINE=InnoDB;

insert_data.sql file:

INSERT INTO `users`
	(`name`, `email`, `country`)
VALUES
	('Tom', 'tom01@email.com', 'Poland'),
	('Chris','chris123@email.com', 'Spain'),
	('Jack','jack32@email.com', 'Spain'),
   ('Kim','kim103@email.com', 'Vietnam'),
   ('Marco','marco942@email.com', 'Italy'),
	('Kate','kate227@email.com', 'Spain'),
	('Nam','nam393@email.com', 'Vietnam');
Donate to Dirask
Our content is created by volunteers - like Wikipedia. If you think, the things we do are good, donate us. Thanks!
Join to our subscribers to be up to date with content, news and offers.

Cross technology - Create view

Native Advertising
🚀
Get your tech brand or product in front of software developers.
For more information Contact us
Dirask - we help you to
solve coding problems.
Ask question.

❤️💻 🙂

Join