Главная страница
Навигация по странице:

  • Тип данных Описание

  • Введение в Mysql


    Скачать 39 Kb.
    НазваниеВведение в Mysql
    Дата08.09.2022
    Размер39 Kb.
    Формат файлаdoc
    Имя файлаmysql-lec.doc
    ТипДокументы
    #667780

    Введение в 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

    Строки

    Тип данных

    Описание

    CHAR(size)

    Строки фиксированной длиной (могут содержать буквы, цифры и специальные символы). Фиксированный размер указан в скобках. Можно записать до 255 символов

    VARCHAR(size)

    Может хранить не более 255 символов.

    TINYTEXT

    Может хранить не более 255 символов.

    TEXT

    Может хранить не более 65 535 символов.

    BLOB

    Может хранить не более 65 535 символов.

    MEDIUMTEXT

    Может хранить не более 16 777 215 символов.

    MEDIUMBLOB

    Может хранить не более 16 777 215 символов.

    LONGTEXT

    Может хранить не более 4 294 967 295 символов.

    LONGBLOB

    Может хранить не более 4 294 967 295 символов.

    ENUM(x,y,z,etc.)

    Позволяет вводить список допустимых значений. Можно ввести до 65535 значений в ENUM список.Если при вставке значения не будет присутствовать в списке ENUM, то мы получим пустое значение. Ввести возможные значения можно в таком формате: ENUM ( 'X', 'Y', 'Z')

    SET

    Напоминает ENUM за исключением того, что SET может содержать до 64 значений.

    Числа

    Тип данных

    Описание

    TINYINT(size)

    Может хранить числа от -128 до 127

    SMALLINT(size)

    Диапазон от -32 768 до 32 767

    MEDIUMINT(size)

    Диапазон от -8 388 608 до 8 388 607

    INT(size)

    Диапазон от -2 147 483 648 до 2 147 483 647

    BIGINT(size)

    Диапазон от -9 223 372 036 854 775 808 до 9 223 372 036 854 775 807

    FLOAT(size,d)

    Число с плавающей точкой небольшой точности.

    DOUBLE(size,d)

    Число с плавающей точкой двойной точности.

    DECIMAL(size,d)

    Дробное число, хранящееся в виде строки.

    Дата и время

    Тип данных

    Описание

    DATE()

    Дата в формате ГГГГ-ММ-ДД

    DATETIME()

    Дата и время в формате ГГГГ-ММ-ДД ЧЧ:ММ:СС

    TIMESTAMP()

    Дата и время в формате timestamp. Однако при получении значения поля оно отображается не в формате timestamp, а в виде ГГГГ-ММ-ДД ЧЧ:ММ:СС

    TIME()

    Время в формате ЧЧ:ММ:СС

    YEAR()

    Год в двух значной или в четырехзначном формате.

    Использование MySQL в пакетном режиме


    mysql < batch-file

    или так:

    mysql -h host -u user -p < batch-file

    или так:

    mysql < batch-file > mysql.out


    написать администратору сайта