Меню

Mysql названия полей таблиц



Типы полей в MySQL

Типы полей в MySQL

В этой статье мы освятим очень важный вопрос, связанный с тем, какие типы полей в таблицах предоставляет нам MySQL. Ведь не секрет, что записи в таблицах должны соответствовать этим типам. И каждая ячейка записи должна удовлетворять определённым условиям, которые как раз и задаются типом поля в MySQL.

Давайте с Вами по порядку разберём все типы полей в MySQL

1. VARCHAR. Это тип является строковым, причём строкой переменной длины от 0 до 255 символов.

2. TINYINT. Это тип целых чисел. Диапазон значений от -127 до 128, либо 0 до 255, в зависимости от того, может ли это поле быть отрицательным. О том, как это задавать, я расскажу ниже.

3. TEXT (BLOB). Это обычный строковый тип, в котором максимальная длина составляет 65535 символов. Идеальный вариант для хранения текстов статей.

4. DATE. Этот тип отвечает за дату. Формат следующий: «YYYY-MM-DD«. Например, такое значение будет удовлетворять этому полю: «2011-01-02«.

5. SMALLINT. Также, как и TINYINT — это целый тип данных, но диапазон значений уже побольше: -32768 до 32767, либо от 0 до 65535.

6. MEDIUMINT. Ещё один целый тип, но диапазон значений ещё больше: от -8388608 до 8388607, либо от 0 до 16777215.

7. INT. Самый часто используемый целый тип данных. Его диапазон: от -2147483648 до 2147483647, либо от 0 до 4294967295.

8. BIGINT. Последний целый тип, который используется достаточно редко, так как его диапазон значений особо не востребован: от -9223372036854775808 до 9223372036854775807, либо от 0 до 18446744073709551615.

9. FLOAT. Вещественный тип данных. Точность одинарная, то есть число знаков после запятой может быть не более 24-х. Диапазон значений: от -3,402823466E+38 до -1,175494351E-38, , и от 1,175494351E-38 до 3,402823466E+38.

10. DOUBLE. Тот же FLOAT, но с двойной точностью. Количество знаков после запятой может составлять до 53-х. Допустимые значения: от -1,7976931348623157E+308 до -2,2250738585072014E-308, , и от 2,2250738585072014E-308 до 1,7976931348623157E+308. В общем, если Вам нужны действительно огромные числа, то DOUBLE — это наилучший выбор.

11. DECIMAL. Редко используемый тип даных, но тем не менее. Это число, похожее на тип DOUBLE, но хранится оно в виде строки. И, фактически, интервал допустимых значений определяется наличием знака «» и «.«. Если эти знаки отсутсвуют, то допустимый интервал такой же, как и у DOUBLE.

12. DATETIME. Тип данных, отвечающих за хранение даты и времени. Формат следующий: «YYYY-MM-DD HH:MM:SS«.

13. TIMESTAMP. Определённая временная метка, которая может иметь один из следующих форматов: «YYYYMMDDHHMMSS«, «YYMMDDHHMMSS«, «YYYYMMDD«, «YYMMDD«.

14. TIME. Простой тип, отвечающий за время в формате: «HH:MM:SS«.

15. YEAR. Тип, отвечающий за год в одном из двух форматов: «YY«, «YYYY«.

16. CHAR. Строка фиксированной длины. Диапазон состовляет от 0 до 255 символов. При хранении данный тип добавляет к концу строки количество пробелов до заданного размера.

17. TINYTEXT (TINYBLOB). Текст с длиной от 0 до 255 символов.

18. MEDIUMTEXT (MEDIUMBLOB). Текст с длиной от 0 до 16777215 символов.

19. LONGTEXT (LONGBLOB). Текст с длиной от 0 до 4294967295 символов.

20. ENUM. Этот тип содержит список значений. Другими словами, значение соответствующей ячейки записи должно быть выбрано из списка допустимых строковых значений (аналог radiobutton). Максимальное количество значений 65535.

21. SET. Набор значений. Если в ENUM должно быть выбрано только одно, то тут может быть выбрано сразу несколько значений (аналог checkbox). Максимальное количество значений, хранимых в SET64.

Вот мы и познакомились со всеми типами полей в MySQL. Как и обещал, рассказываю, как выбрать, какое число будет использоваться: положительное или отрицательное. Для этого есть специальный атрибут UNSIGNED, который если стоит, то число положительное, а если его нет, то число может быть как положительным, так и отрицательным. Впрочем, потом Вы всё поймёте, а пока просто примите это к сведению.

Разумеется, всё это запоминать не нужно. И давайте я сейчас Вам перечислю типы, которые используются очень часто и которые многократно использовал я сам:

  • VARCHAR — идеальный тип данных для всяких логинов, паролей, заголовков статей, имён, фамилий и прочего.
  • TINYINT — используется для всяких «флагов». Например, активирован пользователь на сайте или нет, заблокирован пользователь на сайте или нет. Также используется для численной оценки прав пользователя. Например, «1» — это Гость, «2» — Зарегистрированный, «3» — Администратор и так далее.
  • TEXT — используется для хранения текста, разумеется, используется очень часто.
  • INT — самый популярный вариант использования этого типа — это ID (уникального идентификатора), который уникален для каждой записи в таблице.
  • DATETIME — используется для хранения даты и времени. Например, можно хранить дату и время отправки сообщения на форуме, дату и время регистрации пользователя и так далее.
  • ENUM — используется реже тех, которые я описал выше, но тем не менее. Самый простой пример использования этого типа — это словесное описание прав пользователя: «Гость«, «Зарегистрированный«, «Администратор«.
Читайте также:  Синтез ирнк таблица как использовать

Как видите, типов полей в MySQL очень много, но используются активно всего 5-6, поэтому всё очень и очень просто.

Создано 02.01.2011 21:09:18

  • Михаил Русаков
  • Источник

    MySQL список таблиц и их структура

    Команды для работы со списком таблиц и их структурой.

    список баз данных

    список таблиц в базе

    список столбцов в таблице

    показать структуру таблицы в формате «CREATE TABLE»

    привилегии для пользователя.

    значения системных переменных

    статистика по mysqld процессам

    статистика по всем таблицам в базе

    статистика по всем таблицам wp_ в базе

    Проверка настроек кодировки

    Проверка настроек кодировки

    Проверка кодировки текущей базы данных

    Для настройки кодировки utf8 по умолчанию
    Необходимо внести следующие изменения в файл my.cnf (my.ini):

    [mysqld]

    [client]
    default-character-set = utf8

    Информация об установленной версии pkg_info | grep mysql (FreeBSD)

    добавить столбец в таблице в базе mysql

    переименование столбцов в таблице

    внести изменения в столбцы таблицы

    В будущем, если включите innodb_file_per_table, сможете уменьшать объем tablespace путем
    пересоздания таблиц сразу в InnoDB (т.к. в режиме файл-на-таблицу файл при удалении таблицы
    стирается) командой

    Определение размера таблицы

    Показывает обьем и количество строк в таблицах MySQL.

    Перемещение таблицы MySQL в другую базу

    Копирование таблицы MySQL в другую базу

    Копирование таблицы MySQL в другую базу с условием

    Копирование необходимых столбцов таблицы MySQL в другую базу

    database1— база из которой копируем

    database2 — база в которую копируем
    table — название таблицы

    Текущее состояние кэша

    Посмотреть состояние кэша можно с помощью запроса:

    • Qcache_free_memory — объем свободной памяти, отведенной под кэш.
    • Qcache_hits — количество запросов, отработанных из кэша.
    • Qcache_inserts — количество вставок запросов в кэш.
    • Qcache_lowmem_prunes — количество высвобождений памяти из-за наполненности кэша.
    • Qcache_not_cached — количество запросов, не подлежащих кэшированию.
    • Qcache_queries_in_cache — количество запросов, находящихся в кэше в настоящее время.

    Мерой эффективности кэша может служить отношение Qcache_hits / (Qcache_inserts + Qcache_not_cached).

    Читайте другие интересные статьи

    Понравилась статья, расскажи о ней друзьям, нажми кнопку!

    Источник

    Урок 2. Типы полей MySQL

    В предыдущем уроке мы рассмотрели основные составляющие MySQL. Напомню, в базу данных входят таблицы, которые состоят из записей, а записи, в свою очередь, состоят из полей. Поле подразумевает два атрибута — имя и тип. Имя может быть любое, удобное Вам, а состоять должно из латинских букв и нижнего подчёркивания.


    Имя: id, name, age, sex
    Типы: INT, VARCHAR, INT, VARCHAR
    Поля могут быть разного типа — с числами (разных величин), текстом, датой и так далее. Логично, если под определённые данные будет точно выбран тип поля.

    Тип поля может быть:

    1. Целым
    2. Вещественным
    3. Строковым
    4. Бинарным
    5. Дата и время
    6. Перечисления и множества

    Типы полей мы примерно сгруппировали. Теперь давайте приступим к знакомству с ними.

    Типы полей в MySQL

    Целочисленные типы данных

    TINYINT — тип целых чисел. Диапазон значений от -127 до 128 (если может быть отрицательным), либо 0 до 255 (если не может быть отрицательным).

    SMALLINT — тип целых чисел, В отличие от TINYINT диапазон значений значительно больше: -32 768 до 32 767 (если значение может быть отрицательным), либо от 0 до 65 535.

    MEDIUMINT — тип целых чисел, однако диапазон значений ещё больше: от -8 388 608 до 8 388 607 (если возможны отрицательные), либо от до 16 777 215.

    INT — тип целых чисел. Самый распространённый тип данных. Диапазон: от -2 147 483 648 до 2 147 483 647, либо от до 4 294 967 295.

    BIGINT — ещё один тип целых чисел, с самым широким диапазоном значений. Используется редко, так как подобные масштабы значений бывают задействованы крайне редко. От -9 223 372 036 854 775 808 до 9 223 372 036 854 775 807, либо от до 18 446 744 073 709 551 615.

    Вещественные числа

    FLOAT — вещественные числа. Точность одинарная. Число знаков после запятой может составлять не более 24-х. Диапазон значений: от -3,402823466E+38 до -1,175494351E-38, , и от 1,175494351E-38 до 3,402823466E+38.

    DOUBLE — вещественный тип данных. Похож на FLOAT, но знаков после запятой больше в два раза. Количество знаков после запятой может составлять до 53-х. Допустимые значения: от -1,7976931348623157E+308 до -2,2250738585072014E-308, , и от 2,2250738585072014E-308 до 1,7976931348623157E+308.

    DECIMAL — вещественный тип данных, хранится в виде строки. Используется редко. При отсутствии знаков и . диапазон значений такой же как у DOUBLE.

    Строки

    TEXT (BLOB) — стандартный строковый тип данных. Максимальная длина 65 535 символов. Самый используемый вариант при хранении текстовых данных.

    Читайте также:  Таблица excel с выбором ответа

    TINYTEXT (TINYBLOB) — строковый тип. Текст с длиной от до 255 символов.

    MEDIUMTEXT (MEDIUMBLOB) — строковый тип. Текст с длиной от до 16 777 215 символов.

    LONGTEXT (LONGBLOB) — строковый тип. Текст с длиной от до 4 294 967 295 символов.

    VARCHAR — ещё один строковый тип данных, причём строкой переменной длины от 0 до 255 символов. Чаще всего используется для сохранения переменных с логином, паролем и прочими пользовательскими данными.

    CHAR — строковый тип данных. Длина фиксированная (независимо от количества переданных символов). Диапазон составляет от 0 до 255 символов. При передаче данных меньше 255 символов в конце к данным дописываются пробелы, чтобы длина строки достигла заданного размера.

    Бинарные типы данных

    TINYBLOB — бинарный тип данных. Максимум 255 символов.

    BLOB — бинарный тип. Максимум 65535 символов.

    MEDIUMBLOB — бинарный тип данных. Максимум 16 777 215 символов.

    LONGBLOB — бинарный тип данных. Максимум 4 294 967 295 символов.

    Дата и время

    DATE — тип данных, хранящий дату. Формат следующий: YYYY-MM-DD (год, месяц, день). Например, такое значение будет удовлетворять этому полю: 2011-01-02.

    DATETIME — тип данных, хранящий дату и время. Формат следующий: YYYY-MM-DD HH:MM:SS (год-месяц-день час-минута-секунда). Например: 2011-01-21 09:41:22

    TIMESTAMP — тип данных, хранящий дату и время. Имеет следующие форматы: YYYYMMDDHHMMSS, YYMMDDHHMMSS, YYYYMMDD, YYMMDD.

    TIME — тип данных, хранящий время. Формат: HH:MM:SS. Например: 09:21:55.

    YEAR — тип данных, хранящий дату (год). Форматы: YY, YYYY.

    Списки значений

    ENUM — тип данных, содержащий список значений. Значение данного типа должно быть из списка допустимых строковых значений (аналог radiobutton). Максимальное количество значений 65535.

    SET — тип данных, содержащий список значений. В отличие от ENUM может быть выбрано несколько значений (аналог checkbox). Максимальное количество значений, хранимых в SET — 64.

    Атрибуты полей

    Атрибут AUTO_INCREMENT — генерирует новое порядковое значение для строк.
    Атрибут UNSIGNED — данное числовое значение будет неотрицательным.

    Теперь вы ознакомлены с основными типами полей в MySQL. Все поля не за чем использовать, пригодятся в работе максимум 10 из них, поэтому не старайтесь запомнить всю информацию по ним.

    Часто используемые типы полей MySQL

    INT — по праву самый распространённый тип. Практически в каждой таблице есть поле ID (уникального идентификатора), автоматически назначаемый для каждой записи.

    VARCHAR — популярен для сохранения данных пользователей — логинов, паролей, имён, фамилий и других подобных полей.

    TINYINT — используется для активации пользователей (например, 0 не активирован, 1 — активирован), статей, объявлений и прочих данных. Также используется в других ситуациях, где используются так называемые флаги. Например, 1 — Гость, 2 — Зарегистрированный, 3 — Модератор, 4 — Администратор.

    TEXT — текстовый тип данных. Очень часто используется для хранения статей, сообщений и прочих записей.

    DATETIME — у каждого сообщения, статьи, записи, регистрации пользователя, в конце концов, есть время создания, последнего редактирования и так далее. Для это часто используют данный тип.

    ENUM — используется в сочетании с другими типами данных. Для словесного описания какого-либо функционала или сохранения версии ресурса на другом языке (английский и тд). Меню — Menu и так далее.

    Источник

    mysql_list_fields

    mysql_list_fields — Возвращает список колонок таблицы

    Данная функция объявлена устаревшей в PHP 5.4.0, и, вместе с модулем MySQL, удалена PHP в 7.0.0. Вместо неё используйте активно развивающиеся модули MySQLi или PDO_MySQL. Так же смотрите раздел MySQL: выбор API. Альтернативы для этой функции:

    • SQL запрос: SHOW COLUMNS FROM sometable

    Описание

    Возвращает информацию о таблице с переданным именем.

    Эта функция устарела. Вместо неё рекомендуется использовать mysql_query() с SQL-запросом SHOW COLUMNS FROM table [LIKE ‘name’] .

    Список параметров

    Имя опрашиваемой базы данных.

    Имя опрашиваемой таблицы.

    Соединение MySQL. Если идентификатор соединения не был указан, используется последнее соединение, открытое mysql_connect() . Если такое соединение не было найдено, функция попытается создать таковое, как если бы mysql_connect() была вызвана без параметров. Если соединение не было найдено и не смогло быть создано, генерируется ошибка уровня E_WARNING .

    Возвращаемые значения

    Дескриптор результата ( resource ) в случае успеха, или false в случае ошибки.

    Возвращаемый результат может быть обработан с помощью следующих функций: mysql_field_flags() , mysql_field_len() , mysql_field_name() и mysql_field_type() .

    Примеры

    Пример #1 Пример использования mysql_list_fields()

    Результатом выполнения данного примера будет что-то подобное:

    Примечания

    Замечание:

    Для обратной совместимости может быть использован следующий устаревший псевдоним: mysql_listfields()

    Смотрите также

    • mysql_field_flags() — Возвращает флаги, связанные с указанным полем результата запроса
    • mysql_info() — Возвращает информацию о последнем запросе

    User Contributed Notes 7 notes

    If you’re willing to use a lot of functions to get a little information about fields in a table, this function is for you. If you just want to get all the information you can find, you can use this:

    Читайте также:  Основные способы словообразования и примеры таблица

    // Taken from: http://ca.php.net/manual/en/function.mysql-field-flags.php
    // Original by: amir at scrounch dot com
    // Returns the name of the fields in the primary key for a table.
    // Also keeps the fields in KEY order. Handy.
    function getPrimaryKeyOf ( $table ) <
    $keys = Array();

    $query = sprintf ( «SHOW KEYS FROM `%s`» , $table );
    $result = mysql_query ( $query ) or die( mysql_error ());

    while ( $row = mysql_fetch_assoc ( $result )) <
    if ( $row [ ‘Key_name’ ] == ‘PRIMARY’ )
    $keys [ $row [ ‘Seq_in_index’ ] — 1 ] = $row [ ‘Column_name’ ];
    >

    // Returns a bunch of information about a table.
    // The name of the auto-increment field, if any, fields in the
    // primary key (using the function above), and all information
    // about all fields.
    function getTableInformationOf ( $table ) <
    $information = array(
    «auto» => «» ,
    «primary» => array(),
    «fields» => array()
    );

    $information [ ‘primary’ ] = $this -> getPrimaryKeyOf ( $table );

    $result = mysql_query ( «DESC ` $table `» );
    while ( $field = mysql_fetch_assoc ( $result ) ) <
    $information [ ‘fields’ ][] = $field ;
    if ( $field [ ‘Extra’ ] == «auto_increment» )
    $information [ ‘auto’ ] = $field [ ‘Field’ ];
    >

    To make an array containing the names of a column from a table, you use the following simple script: (Note: using table1 with three columns)

    = mysql_query ( «SHOW COLUMNS FROM table1» , $db ) or die( «mysql error» );
    $numColumns = mysql_num_rows ( $qColumnNames );
    $x = 0 ;
    while ( $x $numColumns )
    <
    $colname = mysql_fetch_row ( $qColumnNames );
    $col [ $colname [ 0 ]] = $colname [ 0 ];
    $x ++;
    >

    /* it will have the following output
    Array (
    [firstcolumn] => firstcolumn
    [secondcolumn] => secondcolumn
    [thirdcolumn] => thirdcolumn
    )
    */
    ?>

    Or you can number the columns from zero. This help when using it in conjunction with mysql_fetch_row to get an array. You don’t have to remember which number of the array a certain column is.

    = mysql_query ( «SHOW COLUMNS FROM table1» , $db ) or die( «mysql error» );
    $numColumns = mysql_num_rows ( $qColumnNames );
    $x = 0 ;
    while ( $x $numColumns )
    <
    $colname = mysql_fetch_row ( $qColumnNames );
    $col [ $colname [ 0 ]] = $x ;
    $x ++;
    >

    /* it will have the following output
    Array (
    [firstcolumn] => 0
    [secondcolumn] => 1
    [thirdcolumn] => 2
    )
    */
    ?>

    To use it in conjuction with mysql_fetch_row:

    = mysql_fetch_row ( «SELECT * from table1» , $db ) or die( «mysql error» );
    ?>

    You can now call $row[col[firstcolumn]]. This becomes useful when you have a lot of columns.

    Below script is used to get all coloumn indormation of an table.When we are working custome ORM then we need to match the coloumn name with array keys.

    function getColoumn ( $table ) <
    $result = mysql_query ( «SHOW COLUMNS FROM » . $table );
    if (! $result ) <
    echo ‘Could not run query: ‘ . mysql_error ();
    >
    $fieldnames =array();
    if ( mysql_num_rows ( $result ) > 0 ) <
    while ( $row = mysql_fetch_assoc ( $result )) <
    $fieldnames [] = $row [ ‘Field’ ];
    >
    >

    Every my html table output begins with heading row containing the field names. For that purpose I accepted the short combination of MySQL function, giving me a result similar to the mysql_fetch_array() for the row of values. The following example shows the basic idea. It should be adapted for the specific use:

    //.
    $field_names = array_keys ( mysql_fetch_array ( mysql_query ( $query , $link ), MYSQL_ASSOC ));
    //.
    ?>

    The advantage of this is, that it gives the names of the result, neither the field names of the whole table.
    Please read the discussion about duplicate field names in SQL result carefully. The use, as shown in the example above, increments the pointer, hence some regular function, which does not, could be more useful 🙂

    Источник

    Вывод названий полей

    Помощь в написании контрольных, курсовых и дипломных работ здесь.

    Вывод названий городов вместо внешних ключей
    Ребят, не сильно знаком с базами, подскажите пожалуйста как составить запрос. Нужно вместо внешних.

    Сделать таблицу из 3 полей и вывод
    В таблице нужно сделать 3 поля Дата(DATE), Выходной(логическое да\нет или 1\0 (незнаю какой тип.

    Запрос на вывод двух полей по разным идентификаторам
    Имеется три таблицы «страна», «город», «тур». В таблице «тур»- поля: «город вылета».

    Подстановка названий по их id
    Имеется следующие таблицы.

    выводят информацию о столбцах. Что в эти запросы добавить, чтобы выводились только названия столбцов?

    Кстати, нашёл как я это раньше делал:

    Помощь в написании контрольных, курсовых и дипломных работ здесь.

    Чтение названий всех папок из папки «Profiles» и вывод этих названий в ListBox
    Мне надо устроить выбор профиля для загрузки игры. Все файлы одного профиля хранятся в папке с.

    Выборка названий полей
    Добрый вечер! Есть код: $query_table=$mysqli->query(«SHOW COLUMNS FROM `users`»);.

    Как сделать подписи названий полей таблиц
    БД access. В самом access подписи полей в таблицах стоят, а в Delphi выводятся названия таблиц на.

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

    Источник

    Adblock
    detector