Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Ответы на билеты 3 курс БД.docx
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
59.91 Кб
Скачать

Часть2:

GRANT SELECT

ON base.*

TO user1@name1,

IDENTIFIED BY `pass22`;

GRANT ALL

ON base.*

TO user2@localhost(127.0.0.1)

IDENTIFIED BY `pass`

WITH GRANT OPTIONS;

GRANT USAGE

ON base.*

TO user3@localhost;

13) Оператор SELECT имеет следующую структуру:

SELECT [STRAIGHT_JOIN]

[SQL_SMALL_RESULT] [SQL_BIG_RESULT] [SQL_BUFFER_RESULT]

[SQL_CACHE | SQL_NO_CACHE] [SQL_CALC_FOUND_ROWS] [HIGH_PRIORITY]

[DISTINCT | DISTINCTROW | ALL]

select_expression,...

[INTO {OUTFILE | DUMPFILE} 'file_name' export_options]

[FROM table_references

[WHERE where_definition]

[GROUP BY {unsigned_integer | col_name | formula} [ASC | DESC], ...]

[HAVING where_definition]

[ORDER BY {unsigned_integer | col_name | formula} [ASC | DESC], ...]

[LIMIT [offset,] rows | rows OFFSET offset]

[PROCEDURE procedure_name(argument_list)]

[FOR UPDATE | LOCK IN SHARE MODE]]

SELECT применяется для извлечения строк, выбранных из одной или нескольких таблиц.

 select_expression задает столбцы, в которых необходимо проводить выборку.

При указании ключевых слов следует точно соблюдать порядок, указанный выше.

  • Используя ключевое слово AS, выражению в SELECT можно присвоить псевдоним. Псевдоним используется в качестве имени столбца в данном выражении и может применяться вORDER BY или HAVING

CONCAT-оператор объединения.

  • Псевдонимы столбцов нельзя использовать в выражении WHERE, поскольку находящиеся в столбцах величины на момент выполнения WHERE могут быть еще не определены.

  • Выражение FROM table_references задает таблицы, из которых надлежит извлекать строки.

  • Ссылки на столбцы могут задаваться в виде : col_name, tbl_name.col_name или db_name.tbl_name.col_name (имя­_столбца,имя_таблицы.имя_столбца(без пробелов) имя_БД.имя_таблицы.имя_столбца)

  • В выражениях ORDER BY и GROUP BY :

ORDER BY – используется для сортировки таблиц

ASC, DESC-порядок сортировки

ASC-от меньшего к большему(по алфавиту)

DESC-от большего к меньшему

При использовании выражения GROP BY строки вывода будут сортироваться в соответствии с порядком заданным GROP BY, так как если бы применялось выражение ORDER BY для всех полей указанных GROUP BY/

При указании параметра STRAIGHT_JOIN оптимизатор будет объединять таблицы в том порядке в котором они перечислены в выражении FROM.

  • LIMIT может использоваться для ограничения количества строк, возвращенных командой SELECT,  принимает один или два числовых аргумента.

LIMIT n (кол-во строк на которую нужно огран.)

LIMIT m,n (m- с каждой позиции начинать отсекать строки)

Часть 2:

CREAT DATABASE forum:

CREAT TABLE USERS(

Id INT unsigned auto_INCREMENT,

name CHAR(20) NOT NULL,

surname CHAR(30) NOT NULL,

city CHAR(30) NOT NULL,

PRIMARY KEY (id);

SELECT * FROM inventory WHERE price<10000

ORDER BY `buy_date`;

14) UPDATE [LOW_PRIORITY] [IGNORE] tbl_name

SET col_name1=expr1 [, col_name2=expr2 ...]

[WHERE where_definition]

[ORDER BY ...]

[LIMIT rows]

или

UPDATE [LOW_PRIORITY] [IGNORE] tbl_name [, tbl_name ...]

SET col_name1=expr1 [, col_name2=expr2 ...]

[WHERE where_definition]

В выражении SET указывается, какие именно столбцы следует модифицировать и какие величины должны быть в них установлены. 

 В выражении WHERE, если оно присутствует, задается, какие строки подлежат обновлению. В остальных случаях обновляются все строки.

 Если задано выражение ORDER BY, то строки будут обновляться в указанном в нем порядке.

Если доступ к столбцу из указанного выражения осуществляется по аргументу tbl_name, то команда UPDATE использует для этого столбца его текущее значение.

UPDATE persondata SET age=age+1;

Значения команда UPDATE присваивает слева направо. Команда UPDATE возвращает количество фактически измененных строк.

В MySQL начиная с 4 версии возможно задавать несколько таблиц для обновления.