Введение в Mysql
Скачать 39 Kb.
|
Введение в MySQLНа основе http://www.rldp.ru/mysql/mysqlcli/glava02.htm Общий обзорНа основе http://www.rldp.ru/mysql/mysqlcli/glava01.htm, http://ru.wikipedia.org/wiki/MySQL MySQL - свободная реляционная система управления базами данных. Разработку и поддержку осуществляет Oracle, получившая права на торговую марку вместе с поглощённой Sun Microsystems, которая ранее приобрела шведскую компанию MySQL AB. Лицензии: GNU General Public License и собственная коммерческая лицензия. MySQL подходит для малых и средних приложений. Обычно используется в качестве сервера, к которому обращаются локальные или удалённые клиенты. MySQL портирована на большое количество платформ: AIX, BSDi, FreeBSD, HP-UX, Linux, Mac OS X, NetBSD, OpenBSD, OS/2 Warp, SGI IRIX, Solaris, SunOS, SCO OpenServer, UnixWare, Tru64, Windows 95, Windows 98, Windows NT, Windows 2000, Windows XP, Windows Server 2003, WinCE, Windows Vista и Windows 7. MySQL имеет API для языков Delphi, C, C++, Эйфель, Java, Лисп, Perl, PHP, Python, Ruby, Smalltalk, Object Pascal и Tcl, библиотеки для языков платформы .NET, а также обеспечивает поддержку для ODBC посредством ODBC-драйвера MyODBC. Веб-сайт проекта: http://www.mysql.com/ Установка, вход, получение справки, выходsudo apt-get install mysql-server mysql mysql> help ? (\?) Synonym for `help'. clear (\c) Clear the current input statement. connect (\r) Reconnect to the server. Optional arguments are db and host. delimiter (\d) Set statement delimiter. edit (\e) Edit command with $EDITOR. ego (\G) Send command to mysql server, display result vertically. exit (\q) Exit mysql. Same as quit. go (\g) Send command to mysql server. help (\h) Display this help. nopager (\n) Disable pager, print to stdout. notee (\t) Don't write into outfile. pager (\P) Set PAGER [to_pager]. Print the query results via PAGER. print (\p) Print current command. prompt (\R) Change your mysql prompt. quit (\q) Quit mysql. rehash (\#) Rebuild completion hash. source (\.) Execute an SQL script file. Takes a file name as an argument. status (\s) Get status information from the server. system (\!) Execute a system shell command. tee (\T) Set outfile [to_outfile]. Append everything into given outfile. use (\u) Use another database. Takes database name as argument. charset (\C) Switch to another charset. Might be needed for processing binlog with multi-byte charsets. warnings (\W) Show warnings after every statement. nowarning (\w) Don't show warnings after every statement. mysql> quit Вход с указанием имени пользователя mysql -u root -p Enter password:******* Выполнение запросовmysql> select VERSION(); +-------------------------+ | VERSION() | +-------------------------+ | 5.5.29-0ubuntu0.12.04.2 | +-------------------------+ 1 row in set (0.00 sec) mysql> select NOW(); +---------------------+ | NOW() | +---------------------+ | 2013-04-11 08:20:31 | +---------------------+ 1 row in set (0.00 sec) Запрос в несколько строк: mysql> select user() -> , -> now(); +---------------------+---------------------+ | user() | now() | +---------------------+---------------------+ | alexpopov@localhost | 2013-04-11 08:22:56 | +---------------------+---------------------+ 1 row in set (0.00 sec) Работа с базой данныхПросмотр списка баз данныхmysql> show databases; +--------------------+ | Database | +--------------------+ | information_schema | | test | +--------------------+ 2 rows in set (0.00 sec) Если зайти как root, то результат будет другим mysql> show databases; +--------------------+ | Database | +--------------------+ | information_schema | | mysql | | performance_schema | | test | +--------------------+ 4 rows in set (0.00 sec) Создание базы данныхmysql> create database corp; Но для этого у пользователя должны быть соотвествующие привилегии! Это мы рассмотрим позже. Пока поработаем с базой данных test. Выбор текущей базы данныхmysql> use test; Database changed Узнать, какая база данных используется сейчас, можно следующим образом mysql> select database(); +------------+ | database() | +------------+ | test | +------------+ Создание, заполнение и вывод содержимого таблицыmysql> create table departments (id int, name char(100)); Query OK, 0 rows affected (0.15 sec) mysql> show tables +----------------+ | Tables_in_test | +----------------+ | departments | +----------------+ mysql> insert into departments (id,name) values (1,"administration"); mysql> insert into departments (id,name) values (2,"studio"); mysql> insert into departments (id,name) values (3,"workshop"); mysql> insert into departments (id,name) values (4,"callcenter"); mysql> select * from departments; +------+----------------+ | id | name | +------+----------------+ | 1 | administration | | 2 | studio | | 3 | workshop | | 4 | callcenter | +------+----------------+ Краткое описание типов данных MySQL приведено в соотвествующем разделе ниже. Извлечение структуры базы данныхmysql> describe departments; +-------+-----------+------+-----+---------+-------+ | Field | Type | Null | Key | Default | Extra | +-------+-----------+------+-----+---------+-------+ | id | int(11) | YES | | NULL | | | name | char(100) | YES | | NULL | | +-------+-----------+------+-----+---------+-------+ Типы данных mysqlНа основе http://phpclub.ru/mysql/doc/column-types.html и http://dimonchik.com/the-types-of-data-in-sql.html Строки
Числа
Дата и время
Использование MySQL в пакетном режимеmysql < batch-file или так: mysql -h host -u user -p < batch-file или так: mysql < batch-file > mysql.out |