Простейшие команды 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;
Определение таблицы и все данные после вышеописанной команды будут удалены. Будьте осторожны с этой командой.