Урок 8: Изменяем поля ALTER. Урок 9: Изменяем поля – строковые функции
Урок 8: Изменяем поля ALTER В этом уроке мы поговорим о том, как же нам изменять структуру нашей таблицы. Достаточно просто это делается. Есть несколько путей. О втором пути, который задействует функции и еще к тому же влияет на записи мы поговорим в следующем уроке, а в этом уроке мы поговорим о командах ALTER TABLE. Итак, если мы взглянем на общий вид синтаксиса нашего простейшего запроса, то он выглядит так: ALTER TABLE имя таблицы. После этого я должен произвести действия, заканчивая запрос точкой с запятой. В прошлом уроке мы познакомились с ключевым словом ADD COLUMN, ADD PRIMARY KEY. Я буду использовать БД users_db;
Я думаю, что вы поняли, что для содержания пользователей на сайте, только одних имен не требуется. Поэтому нам нужно прокачать нашу таблицу.
Итак, давайте сначала добавим самое важное – это добавим поле с первичным ключом. Для этого мы вводим команду ALTER TABLE, выбираем таблицу users и теперь можем добавить либо колонку, либо первичный ключ.
Как видим, у нас test заполняется значениями NULL, т. е. значениями буквально хранящими «ничего». Теперь нам поле test не нужно. Мы хотим его удалить. Для этого используются ключевые слова DROP COLUMN.
Смотрим на таблицу…
Идем дальше… Следующее ключевое слово – это RENAME TO.
Теперь переименуем все обратно, как было.
Следующее – это CHANGE COLUMN (изменить колонку). Здесь мы можем изменить как имя, так и его тип. Попробуем расширить количество доступных символов у нас в поле name. Сейчас доступно 20 символов.
Сократим количество символов, выделяемых под имя до 15. Для этого мы пишем:
Выведем таблицу users.
Также, если мы выведем описание нашей таблицы, то VARCHAR также изменится до 15.
Вопрос: Почему мы должны писать имя для нашего поля, если мы не хотим добавлять новое имя в наше поле? Мы хотим изменить его тип, а еще хорошо бы изменить его позицию! Для этого мы используем ключевые слова MODIFY COLUMN.
А теперь давайте одной командой прокачаем эту таблицу.
Урок 9: Изменяем поля – строковые функции SQL-функция – блок действий с названием. Функция может производить действия, а также возвращать значения на место вызова. Я буду использовать БД users_db
В прошлом уроке мы научились добавлять новые столбцы, удалять поля, модифицировать их типы, переименовывать. Но в каких-то случаях, этого может быть недостаточно. И поэтому здесь мы будем использовать строковые функции. Почему строковые? Функции, которые я покажу – они работают со строками.
Например, когда мы создаем таблицу, мы также открываем скобочки CREATE TABLE(). Тоже самое и с функцией. У нас есть функция UPPER (и сюда мы можем ввести столбец). Следовательно, все значения этого поля сделаются с заглавных букв. NB: Строковые функции в SQL не изменяют данные непосредственно в вашей таблице, а лишь выводят результат. Они берут значение какой-то записи, предположим Peter Yan, увеличивают его, и не вставляют его обратно на место, а выводят его в то место, где они вызывались.
#Пример:
Идем дальше… У меня есть задача. Дело в том, что мне не очень удобно использовать имена вместе. Мне хотелось бы как-то по отдельности иметь имя и фамилию. Почему? Потому что иногда мне приходится для некоторых людей брать только имена, для некоторых только фамилии. А когда у тебя и имя и фамилия, достаточно сложные запросы получаются. И это на самом деле не очень круто. Поэтому, лучше сразу на небольших этапах роста таблицы нашей БД все сделать по атомарности данных. Мне удобно, чтобы были отдельно имена и отдельно фамилии. Что для этого сделаем? Для этого сначала мы используем тему прошлого урока…
Теперь SUBSTRING_INDEX – позволяет вам выбрать весь текст до, либо после разделителя. Давайте посмотрим на структуру нашего поля. Как мы видим, во всех трех записях у нас сохраняется следующая структура имя, пробел, фамилия. И это позволяет нам выбрать, предположим, пробел в качестве разделителя. И когда у нас так все красиво оформлено, выбрав пробел в качестве разделителя, мы можем выделить только имена, либо только фамилию. И сейчас вы увидите, как это делается.
Идем дальше…
А теперь давайте поиграемся с LOWER.
По поводу RTRIM / LTRIM Допустим у нас есть таблица где хранится логин и пароль. Предположим, что в логине у нас встречаются имена с пробелами, стоящими как перед, так и после слова. Нам нужно их удалить. Пример, символ нижнего подчеркивания «_» за пробел.
А теперь удалим ненужное поле names_list
Воспользуйтесь поиском по сайту: ©2015 - 2025 megalektsii.ru Все авторские права принадлежат авторам лекционных материалов. Обратная связь с нами...
|