Главная | Обратная связь | Поможем написать вашу работу!
МегаЛекции

Терминология SQL-команд. Что мы можем сделать с самого начала?. Дружим с SELECT




Терминология SQL-команд

Оператор – это отдельная команда, которая производит какое-то действие.

Ключевое слово – зарегистрированные слова SQL (их немного)

ID Name Age RegDate
Петр 28. 06. 2014
Василий 13. 06. 2014
Григорий 18. 06. 2014
Валентина 02. 03. 2014
Елена 19. 03. 2014

 

SELECT [1] Name, Age, RegDate FROM Clients WHERE Name = 'Петр';

Name Age RegDate
Петр 28. 06. 2014

 

Что мы можем сделать с самого начала?

mysql> SHOW databases;

 

Database
information_schema
mysql
performance_schema
subs_db
test

 

mysql> SELECT название_аргументов FROM название таблицы;

mysql> CREATE DATABASE new; //СОЗДАНИЕ БАЗЫ ДАННЫХ
mysql> DROP DATABASE new; //УДАЛЕНИЕ БАЗЫ ДАННЫХ
mysql> CREATE DATABASE clients; //СОЗДАЕМ БД clients
mysql> USE clients; //Database changed - После этого, все действия, которые мы здесь делаем будут относиться к БД, которую мы выбрали.  
mysql> CREATE TABLE people ( id INT, fname VARCHAR(30), lname VARCHAR(30), email VARCHAR(30) ); //В нашей БД создана первая таблица
mysql> DROP TABLE people; //УДАЛЕНИЕ ТАБЛИЦЫ
mysql> CREATE TABLE subscribers ( id INT, fname VARCHAR(30), lname VARCHAR(30), email VARCHAR(30) );  

 

mysql> DESC subscribers; //Если я хочу посмотреть структуру моей таблицы, то вы можете написать такую команду

 

Field Type Null Key Default Extra
id INT(11) YES   NULL  
fname VARCHAR(30) YES   NULL  
lname VARCHAR(30) YES   NULL  
email VARCHAR(30) YES   NULL  

 

mysql> INSERT INTO subscribers VALUES(1, 'Petr', 'Radko', 'test@mail. ru'); //ЗАНЕСЕМ ИНФОРМАЦИЮ В ТАБЛИЦУ OK, добавлена одна запись
mysql> INSERT INTO subscribers(email, fname) VALUES('newnew@inbox. ru', 'Roger'); Можно добавлять инфу еще вот так
mysql> SELECT * FROM subscribers; //Выбрать все записи в таблице, где «*» - означает «все записи»

 

id fname lname email
Petr Radko test@mail. ru
NULL Roger NULL newnew@inbox. ru

 

mysql> SELECT fname, email FROM subscribers;  

 

fname email
Petr test@mail. ru
Roger newnew@inbox. ru

 

Дружим с SELECT

В этом уроке мы с вами постепенно изучим достаточно широкий диапазон различных применений SELECT. Позже вы поймете, насколько это сложный оператор.

 

mysql> SHOW databases; //Показать все базы данных
mysql> USE shop_db; //используем выбранную БД
mysql> SELECT * FROM products; //Извлекаем все записи из таблицы products из БД shop_db

 

name shop_name price rate
Apples Dicsi
Pie Perecrestok
Coca-Cola Dicsi
Tomatoes Dicsi
Milk Perecrestok
Melon Dicsi
Diary Dicsi
Bread Perecrestok
Cheese Perecrestok

 

mysql> SELECT name, price FROM products; //Давайте попробуем выделить только имена и цену из этой таблички

 

name price
Apples
Pie
Coca-Cola
Tomatoes
Milk
Melon
Diary
Bread
Cheese

 

mysql> SELECT name, price FROM products WHERE rate = 7; //Нам нужно найти все товары у которых популярность равна 7. Есть знаки: =, <, < =, > =, >, < >

 

name price
Apples
Tomatoes
Diary

 

mysql> SELECT name, price FROM products WHERE rate > = 7; //Такая же команда, но только с рейтингом товаров больше 7.

 

name price
Apples
Pie
Coca-Cola
Tomatoes
Milk
Melon
Diary
Bread

 

mysql> SELECT name FROM products WHERE shop_name = 'Dicsi'; //

 

name
Apples
Coca-Cola
Tomatoes
Melon
Diary

 

mysql> SELECT name FROM products WHERE shop_name = 'Dicsi' AND rate = 7; //Теперь давайте усложним наш запрос: Мы можем добавить команды AND или OR. Я хочу узнать, какие товары с рейтингом 7 я могу приобрести в магазине Dicsi?

 

name price
Apples
Tomatoes
Diary

 

mysql> SELECT name FROM products WHERE shop_name = 'Dicsi' OR rate > 8; //Теперь давайте усложним наш запрос: Мы можем добавить команды AND или OR. Я хочу узнать, какие товары я могу приобрести в магазине Dicsi ИЛИ с рейтингом больше 8? Кстати, совсем неважно сколько AND или OR у меня будет.

 

name price
Apples
Pie
Coca-Cola
Tomatoes
Melon
Diary
Bread

 

А мы идем дальше, и переходим к изучению ключевого слова LIKE. Это достаточно интересная конструкция, которая помогает вам проверять значения самих полей.

Предположим, нам нужно вывести только те записи у которых предположим какое-то количество букв есть до буквы 'c' и какое-то количество букв после нее. Проверим это на примере:

 

mysql> SELECT name FROM products WHERE shop_name LIKE '%ok'; //Давайте попробуем выделить только имена и цену из этой таблички И дальше мы вводим какие-то критерии. Для нас критично, чтобы последние две буквы заканчивались на ok.

 

name
Pie
Bread
Cheese

 

mysql> SELECT name FROM products WHERE shop_name LIKE '%re%'; В этот раз давайте возьмем в середине: %re% - т. е. мы взяли последовательность ‘re’ и любое количество букв до и после.

 

name
Pie
Bread
Cheese

 

mysql> SELECT name FROM products WHERE shop_name LIKE 'Dics_'; Также помимо ‘%’, у нас есть символ нижнего подчеркивания ‘_’. Этот оператор тоже достаточно простой. Он подразумевает только 1 символ. Давайте посмотрим, как это выглядит.

 

name
Apples
Coca-Cola
Tomatoes
Melon
Diary

 

mysql> SELECT name FROM products WHERE shop_name LIKE '_ere%' AND rate < 7; А можно сделать так.

 

name
Cheese

 

Следующий на очереди оператор – это оператор IN. Это тоже достаточно интересная вещь. Давайте представим себе ситуацию, что нам нужно в одном поле выделить большое количество значений, т. е. у нас есть поле, у нас есть записи и для каждой записи в этом поле есть свое значение и нам нужно выделить достаточно большое их количество. Чтобы мы сделали? Мы бы написали « Выделить что-то, где в поле содержится что-то AND какое-то поле содержит то-то и т. д. ». И так бы мы повторяли конструкцию AND очень много раз. Например:

 

mysql> SELECT name, rate FROM products WHERE rate = 7 AND rate = 8 AND rate = 9; mysql> SELECT name, rate FROM products WHERE rate IN(7, 8, 9);

 

name rate
Apples
Pie
Tomatoes
Milk
Melon
Diary
Bread

 

Переходим к ключевому слову BETWEEN.

mysql> SELECT name, price FROM products WHERE price BETWEEN 50 AND 100;   А можно сделать так.

 

name price
Pie
Tomatoes
Cheese

 

Мы подходим к концу урока, и изучим еще ключевое слово «NOT». Оно меняет результат в обратную сторону.

 

mysql> SELECT name, price FROM products WHERE NOT price BETWEEN 50 AND 100;   Таким образом, он выдаст нам все запросы, которые не соответствуют данному предложению

 

name price
Apples
Coca-Cola
Milk
Melon
Diary
Bread

 

Давайте попробуем проделать то же самое с IN. NOT можно ставить и спереди, и сзади.

mysql> SELECT name FROM products WHERE NOT rate > 8; mysql> SELECT name FROM products WHERE rate NOT > 8;

 

Поделиться:





Воспользуйтесь поиском по сайту:



©2015 - 2024 megalektsii.ru Все авторские права принадлежат авторам лекционных материалов. Обратная связь с нами...