Базы данных для начинающих. Внутренние индексы SQL таблицы. Таблицы WITHOUT ROWID в SQLite.

Опубликовано: 26.03.2017

видео Базы данных для начинающих. Внутренние индексы SQL таблицы. Таблицы WITHOUT ROWID в SQLite.

Access 2003-29: перемещение данных из таблицы в таблицу

Эта заметка возможно окажется полезной для тех, кто только начинает воспользоваться СУБД MySQL. Всё бывает впервой. К примеру, вы устроились на работу, либо захотели работать в проекте, где употребляется эта система.



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

Ну а с чего начать? Вот пред нами окошко консоли (линуксовой либо cmd в Windows). И мы знаем, что кто-то уже установил и настроил MySQL сервер, и даже положил туда различные базы и таблицы. И даже сделал вам юзера и сказал пароль. Поглядим, что там есть.


Кардинальность в базе данных

Поначалу выполним подключение к mysql-серверу, запущенному на этом компьютере, откроем сеанс, так сказать:
mysql -u username --password=passwd
Тут usename - имя вашего юзера, passwd - пароль. Я это пишу всегда в таком сочетании: -u для имени юзера и --password= для пароля. По идее, можно делать --user=username либо -ppasswd, но тогда нужно держать в голове, что пароль пишется без пробела после ключа -p. Можно и после ключа -u не делать пробел. В общем, вариантов много.

При вводе команд помним про ; в конце, по другому масик (так нежно именуют MySQL) выведет значок ->, требуя продолжения банкета, т.е. команды. Если вы все таки поспешили и нажали Enter, сможете поставить символ препинания ; и после значка -> и опять надавить Enter.

Дальше поглядим, какие базы данных у нас имеются (вывод перечня доступных баз данных на сервере).
show databases;
Этот запрос выведет перечень всех баз, доступных вашему юзеру вот в таком виде: +-----------------+ | Database | +-----------------+ | db_test | | db_test_1 | | db_not_test | +-----------------+

Избрать базу данных mysql можно командой use db_test;. В ответ получим Database changed. Таковой же командой можно поменять базу с текущей, на какую-то другую.

Пока не забыла, избрать базу можно сходу при открытии сеанса, добавив в конце имя базы. Это будет смотреться так:
mysql -u username --password=passwd db_test

Узнаем, какие таблицы есть в базе. Зачем запускаем show tables;. Эта команда выводит перечень таблиц в текущей базе данных mysql. +--------------------+ | Tables_in_db_test | +--------------------+ | person | | address | | interests | +--------------------+

Поглядим описание таблицы - какие в ней есть поля, какого они типа, какие из полей проиндексированы (для новичков: индексация значит, что операции вроде поиска по этим полям будут резвее). Команда desc person; выведет нам информацию. Поле Key как раз и значит индексацию. +------------+--------------+------+-----+---------------------+----------------+ | Field | Type | Null | Key | Default | Extra | +------------+--------------+------+-----+---------------------+----------------+ | person_no | int(7) | | PRI | NULL | auto_increment | | name | varchar(25) | | | | | | last name | varchar(50) | | | | | | age | int(3) | | | | | | 0address_no | int(7) | | | | | +0------------+--------------+------+-----+---------------------+----------------+

Сейчас мы знаем, какие поля есть в наших таблицах и можем делать различные запросы. Далее я приведу несколько примеров запросов с коротким пояснением:

rss