Базы данных - MySQL - статьи

   ЛДСП 16мм СПб цена |       

Простейшие команды MySQL


Давайте быстро "пробежим" по простейшим командам MySQL. Вы уже занете команду create. create table users ( id int auto_increment not null, nickname varchar(16) not null, password varchar(16) not null, socks int, favorite_number int, primary key (user_id), unique (nickname) );

А что же делать, если хотим увидеть только прозвища и любимые числа пользователей?select nickname, favorite_number from users;

Данная команда даст нам: +----------+-----------------+ | nickname | favorite_number | +----------+-----------------+ | GdayMate | 42 | +----------+-----------------+ | Javier | 945 | +----------+-----------------+ | Rolo | 8 | +----------+-----------------+

А если хотим вывести прозвища пользователей, но с условием, что носков у них меньше, чем 10 пар и их любимое число больше, чем 100?select nickname from users where socks < 10 and favorite_number > 100;

+----------+ | nickname | +----------+ | Javier | +----------+

Как же ввести данные в таблицу? Это просто. insert into users (nickname, socks) values ('Cowlick', 0);

Да , но мы забыли добавить поле пароля в таблицу!

create table users ( ... password varchar(16) not null, ... );

Под NOT NULL понимается то, что поле должно нести в себе какие-либо данные. Поэтому в заданном выше примере MySQL выдаст ошибку. Поэтому следует сделать так: insert into users (nickname, password, socks) values ('Cowlick', 'udder', 0);

Результат будет следующим: +----+----------+----------+-------+-----------------+ | id | nickname | password | socks | favorite_number | +----+----------+----------+-------+-----------------+ | 4 | Cowlick | udder | 0 | NULL | +----+----------+----------+-------+-----------------+

Но подождите! Мы не определили id! Оно также not null. create table users ( id int auto_increment not null, ... );

В этом случае колонку id мы определили как auto_increment и MySQL сама создаёт значения для нас, добавляя 1 к наибольшему значению, которое найдёт в таблице (Rolo имеет id == 3).

Мы забыли ввести любимое число пользователя Cowlick. Которое, между прочим, -1. Для этого мы будем использовать команду update. update users set favorite_number = -1 where id = 4;


Также можем выполнить это следующим образом: update users set favorite_number = -1 where nickname = 'Cowlick';

Но вдруг у нас появится больше чем один пользователь с прозвищем Cowlick? В нашем примере этого быть не может, т.к. в командеcreate table мы определили: create tables users ( ... unique (nickname) );

Если мы попробуем ввести ещё одного пользователя с прозвищем Cowlick, то мы получим ошибку от MySQL.

Предположим Вы имеете проблемы с пользователем Javier. Длугие члены вашего общества также считают, что этому пользователю не место среди них, Вы можете сделать следующее

delete from users where nickname = 'Javier';

Если же Вы хотите удалить всю таблицу, то необходимо будет сделать следующее. drop table users;

Определение таблицы и все данные после вышеописанной команды будут удалены. Будьте осторожны с этой командой.


Содержание раздела