Что такое код ini_alter

Содержание

Linux.yaroslavl.ru

Учебник РНР
Назад Вперёд

ini_alter — изменяет значение опции конфигурации.

Описание

string ini_alter (string varname, string newvalue)

Изменяет значение опции конфигурации, возвращая FALSE при неудаче и предыдущее значение опции конфигурации — при успехе.

Gtd.ini

Основной файл с настройками пользователя для программы Альта-ГТД.

По умолчанию файл находится в профиле пользователя %userprofile%\AppData\Local\Alta\GTD\gtd.ini , однако может быть перенаправлен в другое место в окне «Настройка/Каталоги» или ключом /i. Возможность явного назначения расположения gtd.ini параметром командной строки, позволяет сделать на одном рабочем месте несколько ярлыков c разными настройками.

Смена расположения файла

  • Расположение и имя Gtd.ini можно поменять через интерфейс программы в окне Каталоги. .

Путь к файлу физически хранится в реестре w:Windows, поэтому, независимо от того, где запущен GTDW.EXE, работать он будет с рабочим каталогом и gtd.ini, указанными в реестре.

  • Имя и путь к gtd.ini можно принудительно задать через параметры командной строки при помощи ключа -i

Интересные факты

  • В самом начале файла программа пишет свою текущую версию.

Поэтому высылая файл в тех.поддержку можно уже не указывать свою версию из Помощь->О программе.

SQL ALTER TABLE

Команда ALTER TABLE используется для добавления, удаления или модификации колонки в уже существующей таблице.

Команда ALTER TABLE

Команда ALTER TABLE изменяет определение таблицы одним из следующих способов:

  • добавляет столбец
  • добавляет ограничение целостности
  • переопределяет столбец (тип данных, размер, умалчиваемое значение)
  • удаляет столбец
  • модифицирует характеристики памяти или иные параметры
  • включает, выключает или удаляет ограничение целостности или триггер.

Условие: Таблица должна быть в схеме пользователя, или пользователь должен иметь системную привилегию ALTER ANY TABLE.

Добавляя столбец с ограничением NOT NULL, разработчик или администратор БД должны учесть ряд обстоятельств. Сначала нужно создать столбец без ограничения, а затем ввести значения во все его строки. После того как все значения столбца станут не NULL-значениями, к нему можно применить ограничение NOT NULL. Если столбец с ограничением NOT NULL пытается добавить пользователь, возвращается сообщение об ошибке, говорящее о том, что либо таблица должна быть пустой, либо в столбце должны содержаться значения для каждой существующей строки (напомним, что после наложения на столбец ограничения NOT NULL в нем не могут присутствовать NULL-значения ни в одной из существующих строк). В СУБД Oracle, начиная с версии 8i, можно удалять столбцы.

Изменяя типы данных существующих столбцов или добавляя столбцы в таблицу базы данных, нужно соблюдать ряд условий. Общепринято, что увеличение – это хорошо, а уменьшение, как правило, — не очень. Допустимые увеличения:

  • Увеличение размера столбца CHAR или VARCHAR2
  • Увеличение размера столбца NUMBER
  • Добавление новых столбцов в таблицу

Уменьшение различных характеристик таблицы, в том числе некоторых типов данных столбцов и реального числа столбцов таблицы, требует особых действий. Часто перед внесением изменения нужно убедиться в том, что в соответствующем столбце или столбцах все значения являются NULL-значениями. Для выполнения подобных операций над столбцами таблицы, содержащими данные, разработчик должен найти или создать какую-то область для временного хранения этих данных. Например, создать таблицу с помощью команды CREATE TABLE AS SELECT, в которой извлекаются данные из первичного ключа и изменяемого столбца или столбцов. Допустимые изменения:

  • Уменьшение размера столбца NUMBER (только при пустом столбце для всех строк)
  • Уменьшение размера столбца CHAR или VARCHAR2 (только при пустом столбце для всех строк)
  • Изменение типа данных столбца (только при пустом столбце для всех строк)

ALTER TABLE Пример 1

Добавление столбца в таблицу:

ALTER TABLE t1(pole1 char(10));

ALTER TABLE Пример 2

Изменение размера столбца таблицы:

ALTER TABLE t1 MODIFY (pole1 char(20));

ALTER TABLE Пример 3

Удаление столбца таблицы:

ALTER TABLE t1 DROP COLUMN pole1;

С помощью команды ALTER TABLE можно изменить имя таблицы без реального переноса физической информации в БД:

ALTER TABLE t1 RENAME TO t2;

Аналогичную операцию можно выполнить с помощью команды RENAME:

RENAME t1 TO t2;

Ограничения целостности столбцов и таблиц БД можно изменять, а также запрещать, разрешать и удалять. Это дает разработчику возможность создавать, модифицировать и удалять бизнес-правила, ограничивающие данные. Рассмотрим добавление ограничений в БД. Простота или сложность этого процесса зависит от определенных обстоятельств. Если вместе с БД создать ограничение нельзя, проще всего добавить его перед вводом данных:

ALTER TABLE Пример 4

Модификация структуры таблицы

ALTER TABLE t1 MODIFY (pole1 NOT NULL);

CREATE TABLE t2

(pole1 CHAR(10) PRIMARY KEY);

ALTER TABLE t1 ADD

(CONSTRAINT fk_t1 FOREIGN KEY (pole1)

REFERENCES t2 (pole1));

ALTER TABLE t1 ADD (UNIQUE (p_name));

ALTER TABLE t1 ADD (p_size CHAR(4) CHECK

В первой из приведенных выше команд для добавления ограничения NOT NULL для столбца используется конструкция MODIFY, а для добавления всех табличных ограничений целостности других типов – конструкция ADD. Столбец, для которого добавляется ограничение, должен уже существовать в таблице БД; в противном случае создать ограничение не удастся.

ALTER TABLE Пример 5

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

ALTER TABLE t1 ADD FOREIGN KEY (pole1) REFERENCES t2 (pole1);

Существует ряд условий создания ограничений:

  • Первичные ключи: в столбцах не могут содержаться NULL-значения, и все значения должны быть уникальны.
  • Внешние ключи: в тех столбцах других таблиц, на которые производятся ссылки, должны содержаться значения, соответствующие всем значениям ссылающихся столбцов, либо значения этих последних должны быть NULL-значениями.
  • Ограничения UNIQUE: все значения столбцов должны быть уникальными или NULL-значениями.
  • Ограничения CHECK: новое ограничение будет применяться только по отношению к данным, добавляемым или модифицируемым после его создания.
  • NOT NULL: NULL-значения в столбцах запрещены.

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

ALTER TABLE Пример 6

ALTER TABLE t1 DISABLE PRIMARY KEY;
ALTER TABLE t1 DISABLE UNIQUE (p_name);

ALTER TABLE Пример 7

В некоторых случаях запрещение первичного ключа, от которого зависят внешние ключи, может вызвать определенные сложности, например:

ALTER TABLE t2 DISABLE PRIMARY KEY;

Error at line 1: Cannot disable constraint …. – dependencies exist (невозможно запретить ограничение – существуют зависимости)

Для удаления первичного ключа при наличии зависящих от него внешних ключей в команде ALTER TABLE DISABLE обязательна конструкция CASCADE:

ALTER TABLE t2 DISABLE PRIMARY KEY CASCADE;

ALTER TABLE Пример 8

Запрещенное ограничение разрешается следующим образом:

ALTER TABLE t1 ENABLE PRIMARY KEY;

ALTER TABLE t1 ENABLE UNIQUE (p_name);

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

Ограничение, процесс создания которого завершился неудачей, не будет существовать в запрещенном виде, ожидая своего разрешения после устранения ошибки. Как правило, владелец таблицы или тот, кому предоставлены соответствующие права, может удалить ограничение:

ALTER TABLE t1 DROP UNIQUE (p_name);

Вы должны войти, чтобы оставить комментарий.

SQL ALTER TABLE — sql запрос на модификацию таблицы базы данных

Вступление

Для модификации (изменения) отдельных объектов базы данных в SQL языке есть команды и основанные на них sql запросы: SQL ALTER TABLE. Применяется эта команда (запрос), когда нужно сохранить данные в таблицы, и лишь исправить (модифицировать) некоторые из них.

В прошлой статье, мы разбирали команду CREATE и sql запрос CREATE TABLE, применяемый для создания новой таблицы базы данных. Сегодня посмотрим, как изменить отдельные данные в таблице базы данных на основе запроса sql ALTER TABLE.

Примечание. Команда ALTER относится к подмножеству SQL, языку DDL, — языку определения данных. С её помощью можно модифицировать не только таблицы, но и процедуры, пользователей, представления, табличные области. Есть целое семейство таких команд: ALTER TABLE, ALTER VIEW, ALTER PROCEDURE, ALTER TRIGGER, ALTER USER, ALTER ROLE.

Что может выполнить команда ALTER

С помощью использования команды ALTER можно:

  • Добавить столбец в таблицу;
  • Добавить ограничение целостности;
  • Изменить тип данных в столбце таблицы, его размер, значение по умолчанию (переопределить столбец);
  • Удалить столбец;
  • Включить, выключить, удалить триггер или ограничение целостности.

Примечание. Целостность БД- любое отношение должно иметь первичный ключ и для каждого внешнего ключа должен существовать первичный ключ.

Важно! Для использования команды ALTER пользователь должен иметь привилегии ALTER, INSERT и CREATE для этой таблицы.

Урок 8, Серии уроков «Язык SQL»

Команда SQL ALTER TABLE, синтаксис команды

Посмотрим на синтаксис команды ALTER TABLE.

ALTER TABLE [IGNORE] имя_таблицы опции_модификации_таблицы

IGNORE необязательная опция для защиты первичного ключа.

Примеры использования команды ALTER TABLE

№ 1 Добавляем столбец в таблицу

№ 2 Меняем размер поля столбца

№ 3 Меняем размер поля столбца с использованием modify

№ 4 Добавляем столбец, после определенного столбца

Конфликт инструкции ALTER TABLE

25.09.2014, 22:34

Конфликт инструкции ALTER TABLE с ограничением FOREIGN KEY
Имеется 2 таблицы. Одна должна быть связана с другой посредством столбца и ID. Каким то.

Ошибка синтаксиса ALTER TABLE
Здравствуйте! Я не силен в SQL, не могли бы Вы подсказать как сделать связь между готовыми.

ALTER TABLE для нескольких столбцов
Здравствуйте! нужно добавить насколько столбцов в уже существующую таблицу, один добавил без.

390.000 строк. В ней есть поле типа VARCHAR(6000), тип нужно поменять на.

Использование инструкций DDL Alter table в MS SQL
Добрый день. Пытаюсь апдейтнуть поле и выдает ошибку. Подскажите, как-таки апдейтнуть ? Ошибка.

Шпаргалка по переходу на UTF-8

Узелок по UTF-8: есть сайт в кодировке X, нужно перевести в UTF-8
Излогаю краткий список того, что нада переводить в UTF-8, чтоб сайт работал корректно.

  1. База MySQL в часности
  2. Инсталляция mbstring
  3. Конфигурация mbstring
  4. Дело с небезопасными мультибайтовыми функциями в PHP
  5. htmlentities() для мультибайтных строк
  6. Проверка content-type хэдэров
  7. Проверте бинарные файлы и строки

1. База MySQL в часности

CREATE DATABASE db_name
CHARACTER SET utf8
DEFAULT CHARACTER SET utf8
COLLATE utf8_general_ci
DEFAULT COLLATE utf8_general_ci
;

ALTER DATABASE db_name
CHARACTER SET utf8
DEFAULT CHARACTER SET utf8
COLLATE utf8_general_ci
DEFAULT COLLATE utf8_general_ci
;

ALTER TABLE tbl_name
DEFAULT CHARACTER SET utf8
COLLATE utf8_general_ci
;

2. Инсталляция mbstring

Windows
Линукс (Дебиан в часности):# aptitude install php-mbstring

3. Конфигурация mbstring

mbstring.language = Neutral ; Set default language to Neutral(UTF-8) (default)
mbstring.internal_encoding = UTF-8 ; Set default internal encoding to UTF-8
mbstring.encoding_translation = On ; HTTP input encoding translation is enabled
mbstring.http_input = auto ; Set HTTP input character set dectection to auto
mbstring.http_output = UTF-8 ; Set HTTP output encoding to UTF-8
mbstring.detect_order = auto ; Set default character encoding detection order to auto
mbstring.substitute_character = none ; Do not print invalid characters
default_charset = UTF-8 ; Default character set for auto content type header

4. Дело с небезопасными мультибайтовыми функциями в PHP

Наведу список функций, которыми нада пользоватся для правильной роботы вашего сценария:

mail() mb_send_mail()
strlen() mb_strlen()
strpos() mb_strpos()
strrpos() mb_strrpos()
substr() mb_substr()
strtolower() mb_strtolower()
strtoupper() mb_strtoupper()
substr_count() mb_substr_count()
ereg() mb_ereg()
eregi() mb_eregi()
ereg_replace() mb_ereg_replace()
eregi_replace() mb_eregi_replace()
split() mb_split()

5. htmlentities() для мультибайтных строк

Простая функция-заменитель с php.net. Для простых текстов должно хватить.
/**
* Multibyte equivalent for htmlentities() [lite version :)]
*
* @param string $str
* @param string $encoding
* @return string
**/
function mb_htmlentities($str, $encoding = ‘utf-8’) <
mb_regex_encoding($encoding);
$pattern = array(‘ ‘, ‘»‘, ‘\»);
$replacement = array(‘ ‘, ‘»‘, »’);
for ($i=0; $i

6. Проверка content-type хэдэров

Все просто. Меняем любой на:
header(‘Content-Type: text/html; charset=UTF-8’);

7. Проверить бинарные файлы и строки

Вам прийдется пересмостеть все-все-все и ничего не забыть =)

Файлы игры

Внимание! Информация в данной статье написана для ОС семейства Windows!

В Undertale используются различные файлы для игрового процесса. Ниже представлен список основных файлов, влияющих на игровой процесс.

Undertale.ini

Undertale.ini — это один из файлов Undertale, содержащий информацию о действиях и характеристиках персонажа и игрока в текущем и предыдущих прохождениях игры.

Этот файл находится в папке . /*пользователь*/AppData/Local/Undertale (также туда можно попасть введя: %localappdata%\UNDERTALE):

Содержимое файла

Данные в файле находятся в виде переменных.

GameMaker: Studio — программа, с помощью которой создавалась игра, классифицирует данные по следующим типам:

  • string — строка, состоящая из символов;
  • real — вещественное число;
  • boolean — тип, принимающий значения true или false (в undertale.ini может также быть задано десятичной дробью — если она меньше 0.000011, то это приравнивается к false; в данном файле значение для true желательно выставлять как 1.000000);
  • undefined — неизвестное значение переменной.

Нельзя путать «boolean» и «real», так как «boolean» значит true при 1.000000, что может навести на мысль, что это действительное число.

Undertale.ini — это часть «памяти» игры, чтобы понять, как файл работает, нужно понимать, что такое триггеры и события, они находятся в коде игры, а не в undertale.ini, когда триггер активирован, запускается событие.

Например, если Папирус убит, когда его HP достигает нуля, триггер (HP Папируса равно нулю) будет активирован. Это событие меняет переменную «PK» [1] на 1.000000 (true) в undertale.ini. По сути, это ничего не делает, но позже, когда Папирус должен будет позвонить протагонисту, это случится, только если переменная PK=0, а переменная PS=1 [2] . Если PK=1, он не позвонит.

Так работает данное событие:

  1. Триггер1 — HP Папируса равно нулю;
  2. Событие1 — Переменная PK меняется на 1.000000;
  3. Триггер2 — Случайный триггер (Если PK=0.000000, PS=1.000000) (Допустим, мы убили Папируса, PK=1.000000);
  4. Отсутствие события звонка Папируса.

Редактировать файл нужно с осторожностью, например, если поставить такое значение, что оно не подходит ни к одному триггеру, например, если и PK=1 и PS=1, то есть Папирус и убит, и пощажён одновременно, игра не будет работать.

Также, если создавать какие-то лишние переменные, ничего не произойдёт, так как они ни на что не будут влиять и ни к чему не будут принадлежать.

Главная секция [General]

  • Room (String): > Секция перезапусков [reset]
  • Reset (Boolean): использован ли истинный перезапуск хоть раз.
  • s_key (Boolean): уклонился ли игрок от всех титров Истинной Пацифистской концовки.

Секция Флауи [Flowey]

  • Met1 (Real): увеличивается на 1 при каждой встрече Флауи в начале игры.
  • alter2 (Boolean): 1, после пути Геноцида и встречи с Флауи.
  • NK (Boolean): 1, если на Нейтральном пути Флауи был пощажён.
  • K (Boolean): 1, если на Нейтральном пути Флауи был убит.
  • Alter (Boolean): 1, если после победы над Фотошоп Флауи, он был пощажён, а затем был использован перезапуск.
  • Truename (Boolean): узнал ли игрок Настоящее имя Флауи.

Секция Ториэль [Toriel]

  • TK (Boolean): убита ли Ториэль.
  • Bscotch (Real): 1, если игрок сказал Ториэль, что ему больше нравятся ириски, 2, если он сказал, что ему нравится корица.
  • TS (Boolean): пощажена ли Ториэль.

Секция Папируса [Papyrus]

  • M1 (Real): сколько раз вы встречали Папируса после перезапусков, если это число равно 2 или больше, Папирус будет говорить, что узнает человека, которого вроде никогда не видел.
  • PS (Boolean): пощажён ли Папирус.
  • PK (Boolean): убит ли Папирус.
  • PD (Boolean): завершено ли свидание или зависание с Папирусом.

Секция Андайн [Undyne]

  • UD (Boolean): завершено ли свидание c Андайн.

Секция Альфис [Alphys]

  • AD (Boolean): завершено ли свидание с Альфис.

Секция Меттатона [Mettaton]

  • BossMet (Boolean): может ли диалог с Меттатоном перед битвой с Меттатоном EX быть пропущен.

Секция МТТ [MTT]

  • EssayNo (Real): количество эссе, написанных в битве с Меттатоном EX.

Секция Mett [Mett]

  • O (Boolean): может ли песня Меттатона быть пропущена.

Секция Санса

  • MP (Real): количество раз, когда вы достигли «Середины» битвы с Сансом.
  • EndMet (Boolean): встретил ли игрок Санса в Последнем коридоре в конце Нейтрального пути (ещё тестируется).
  • Intro (Real): сколько раз вы умерли в битве с Сансом.
  • M1 (Boolean): 1, когда вы в первый раз встречаете Санса.
  • F (Real): количество начатых битв с Сансом.
  • Pass (Real): количество перезапусков для получения ключа к комнате Санса.
  • SK (Real): количество убийств Санса игроком.
  • Meet lv1 (Real): количество встреч с Сансом при LV 1.
  • Meet lv2 (Real): количество встреч с Сансом при LV 2 и выше.
  • SS (Real): количество раз, когда игрок пощадил Санса.
  • SS2 (Real): количество раз, когда игрок убил Санса.

Секция Асгора

  • Killyou (Real): количество смертей протагониста от рук Асгора.

Секция FFFFFF

  • F (Boolean): если значение = 1, при запуске игры начнётся битва с Фотошоп Флауи.
  • P (real): фаза боя с Фотошоп Флауи от 0 до 7 (0 — битва не начата, 7 — последняя фаза, 1-6 — число «спасённых» душ).
  • D (real): сколько раз Флауи убил вас.
  • E (real): принимает значения от 0 до 2 и перемещает вас на события до/после боя с Флауи (если «F» равно нулю) (0 — начало боя, 1 — выбор убийства или пощады Флауи, 2 — после принятия решения). Другие значения вызывают ошибку.

Секция F7

  • F7 (Boolean): 1, если Барьер уничтожен.

Секция EndF

  • EndF (Boolean): 1, когда игрок просмотрел титры Истинной Пацифистской концовки и вышел из игры.

File0

File0 — файл сохранения, содержащий информацию о текущем прохождении игры.

Ниже можно посмотреть, на каких строках расположены некоторые параметры:

SQL ALTER TABLE — sql запрос на модификацию таблицы базы данных

Вступление

Для модификации (изменения) отдельных объектов базы данных в SQL языке есть команды и основанные на них sql запросы: SQL ALTER TABLE. Применяется эта команда (запрос), когда нужно сохранить данные в таблицы, и лишь исправить (модифицировать) некоторые из них.

В прошлой статье, мы разбирали команду CREATE и sql запрос CREATE TABLE, применяемый для создания новой таблицы базы данных. Сегодня посмотрим, как изменить отдельные данные в таблице базы данных на основе запроса sql ALTER TABLE.

Примечание. Команда ALTER относится к подмножеству SQL, языку DDL, — языку определения данных. С её помощью можно модифицировать не только таблицы, но и процедуры, пользователей, представления, табличные области. Есть целое семейство таких команд: ALTER TABLE, ALTER VIEW, ALTER PROCEDURE, ALTER TRIGGER, ALTER USER, ALTER ROLE.

Что может выполнить команда ALTER

С помощью использования команды ALTER можно:

  • Добавить столбец в таблицу;
  • Добавить ограничение целостности;
  • Изменить тип данных в столбце таблицы, его размер, значение по умолчанию (переопределить столбец);
  • Удалить столбец;
  • Включить, выключить, удалить триггер или ограничение целостности.

Примечание. Целостность БД- любое отношение должно иметь первичный ключ и для каждого внешнего ключа должен существовать первичный ключ.

Важно! Для использования команды ALTER пользователь должен иметь привилегии ALTER, INSERT и CREATE для этой таблицы.

Урок 8, Серии уроков «Язык SQL»

Команда SQL ALTER TABLE, синтаксис команды

Посмотрим на синтаксис команды ALTER TABLE.

ALTER TABLE [IGNORE] имя_таблицы опции_модификации_таблицы

IGNORE необязательная опция для защиты первичного ключа.

Примеры использования команды ALTER TABLE

№ 1 Добавляем столбец в таблицу

№ 2 Меняем размер поля столбца

№ 3 Меняем размер поля столбца с использованием modify

№ 4 Добавляем столбец, после определенного столбца

IT-блог о веб-технологиях, серверах, протоколах, базах данных, СУБД, SQL, компьютерных сетях, языках программирования и создание сайтов.

MySQL сервер. Файл конфигураций my.ini. Настройка кодировки MySQL сервера. Таблицы перекодировок

Здравствуйте, уважаемые посетители моего скромного блога для начинающих вебразработчиков и web мастеров ZametkiNaPolyah.ru. Продолжим сегодня рубрику Заметки о MySQL, в которой я уже успел рассказать о том, как установить MySQL сервер и как настроить сервер баз данных. Сегодня я продолжу рассказывать о настройках сервера MySQL. В данной статье мы разберемся со следующими вопросами: куда устанавливается MySQL сервер, где найти базы данных MySQL сервера, как найти базы данных MySQL, для чего нужен файл my.ini, посмотрим примеры настройки сервера MySQL и где найти примеры настройки MySQL сервера.

Разберемся с кодировкой MySQL сервера. Какую кодировку лучше использовать. Разберемся с командами MySQL сервера для смены кодировки. Так же затронем вопрос о включение и выключение MySQL, обратите внимание, что MySQL сервер не перезагружается. Посмотрим, какие возможности есть у сервера MySQL. Разберемся где лежат таблицы перекодировок MySQL сервера и как их добавить. А также сделаем настройки файла my.ini.

MySQL сервер. Настройка MySQL сервера, файл конфигурации my.ini, примеры настройки MySQL сервера.

Как я уже говорил, с установкой и предварительной настройкой MySQL сервера мы разобрались, теперь давайте посмотрим, хотя бы поверхностно, из чего состоит MySQL сервер. Какие файлы за что отвечают. MySQL сервер, в моем случае был установлен по данному пути: c:\Users\Public\MySQL\, кто-то мог установить сам сервер в папку Program Files, обратите внимание, что этот путь не указывает, то место, где хранятся базы данных MySQL сервера, здесь находится сам сервер баз данных.

На скрине можно увидеть несколько файлов и папок сервера MySQL, нас собственно большая часть этих файлов не волнует.

Основной файл конфигурации MySQL сервера my.ini, это обычный текстовый файл, в который были вписаны настройки, которые мы вводили при установке MySQL сервера. Все остальные установленные файлы с расширением .ini – это всего лишь демонстрации настроек для my.ini, работает только my.ini, то есть, все остальные файлы существуют, как примеры для конфигурации и настройки MySQL сервера. Проще говоря, пример, как настроить MySQL сервер.

Программы MySQL сервера, какой файл для чего нужен

Где лежат примеры настроек MySQL сервера мы разобрались. Сами программы, предназначенные для обслуживания баз данных, находятся в папке bin.

Сам сервер MySQL – это mysqld.exe, d – означает демон, ну или служба. Про некоторые другие утилиты и программы мы поговорим в дальнейшем более подробно. Если у вас стоит win xp, то базы данных будут находиться c:\Documents and Settings\All Users\Application Data\MySQL\ MySQL Server 5.x\data, если вы пользуетесь total commander или любым другим нормальным файловым менеджером, то без труда найдете эту папку, если вы пользуетесь проводником от Windows, то обязательно укажите в настройках «Отображать скрытые файлы», так как данная папка скрыта.

На самом деле все это можно настроить в файле my.ini и реально эти папки могут находиться, там где вам будет удобнее. Файл my.ini нужно будет разобрать более подробно, и тема эта для отдельной статьи.

Кодировка MySQL сервера. SET NAMES — команда для смены кодировки. Кодировка командной строки Windows.

И так, теперь немного поговорим о кодировке сервера MySQL и кодировке командной строки Windows. Если вы будете пользоваться MySQL Command Lint Client, то проблем с кодировкой у вас возникнуть не должно.

Данный клиент установиться вместе с сервером и работа в нем не отличается от работы с командной строкой Windows. Для начала, вы вводите пароль, придуманный вами при установки MySQL сервера, а затем, не заморачиваясь с кодировками и командами типа SET Names, начинаете работать с базами данных: создавать новые базы данных, удалять базы данных, добавлять строки и столбцы к существующим таблицам баз данных, делать выборки из баз данных, создавать и удалять таблицы и многое-многое другое.

Но если вы решили управлять сервером MySQL через командную строку, то знайте, что кодировка командной строки Windows отличается от кодировки MySQL сервера, в командной строке – это cp866, MySQL сервер в моем случае работает с кодировкой UTF8. И это нужно исправить, кодировку командной строки поменять мы не можем. Остается менять кодировку, с которой работает сервер MySQL.

Как изменить кодировку MySQL сервера. Как получить доступ к серверу MySQL через командную строку Windows.

Тут у нас есть два способа. Первый из них, постоянно писать команду SET NAMES и указывать кодировку cp866. SET NAMES – это не одна команда, как считают некоторые, а целых три. Первая команда – установить кодировку ввода, то есть, с какой кодировки перекодировать данные, которые получает сервер. Вторая команда – установить кодировку вывода, то есть, в какой кодировки сервер MySQL будет отдавать данные. И третья команда – установить collation или по другому правила сравнения строк. И чтобы не набирать три команды сразу была придумана команда SET NAMES. И так, чтобы указать нужную кодировку следует написать SET NAMES, а затем в одинарных кавычках написать нужную кодировку.

SQL ALTER TABLE — изменение таблицы базы данных

Команда языка SQL ALTER TABLE предназначена для изменения структуры столбца таблицы базы данных, если таблица уже существует.

ALTER TABLE для добавления и удаления столбца, значения по умолчанию

Запрос с командой ALTER TABLE на добавление нового столбца в таблицу имеет следующий синтаксис:

Пример 1. Есть база данных фирмы — Company. В ней есть таблица Employee (Сотрудник). Требуется добавить в эту таблицу новый столбец — SEX (Пол). Соответствующий запрос выглядит следующим образом:

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

Пусть теперь требуется установить значение записей в таблице по умолчанию. Запрос с командой ALTER TABLE для этой цели содержит ещё одну команду — ALTER COLUMN — и имеет следующий синтаксис:

Пример 2. Пусть в фирме, база данных которой имеет название Company, трудятся в основном женщины. Администратор базы данных решил сократить процесс заполнения данными столбца SEX (Пол) и установить его значение по умолчанию — ‘F’ (что означает женский пол). Соответствующий запрос выглядит следующим образом:

Теперь только если новый сотрудник — мужчина, потребуется вписывать в столбец SEX значение ‘M’, а в большинстве случаев значение установится по умолчанию — ‘F’.

При помощи запроса с командой ALTER TABLE можно и удалить столбец из таблицы. Синтаксис команды будет следующим:

Пример 3. Пусть в той же базе данных Company из таблицы Employee требуется удалить столбец SEX (Пол). Соответствующий запрос выглядит следующим образом:

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

ALTER TABLE для добавления ключей

О ключах в таблицах базы данных — на уроке Реляционная модель данных. Если при создании таблицы базы данных не был определён первичный ключ (PRIMARY KEY), то это может быть сделано при помощи команды ALTER TABLE. Синтаксис команды в случае простого первичного ключа следующий:

Синтаксис команды в случае составного первичного ключа:

Пример 4. Работаем всё с той же базой данных Company, со столбцом EMPLOYEE. Мы можем добавить простой первичный ключ этого столбца в виде идентификатора сотрудника и сделать это так:

Если решено использовать составной ключ, состоящий из идентификатора сотрудника и идентификатора отдела, в котором сотрудник работает, то используем следующий запрос:

ALTER TABLE для добавления и удаления ограничений

О том, что такое ограничения целостности, говорилось на уроке Реляционная модель данных. Если коротко — при удалении какой-либо строки из одной таблицы (1), в другой таблице (2), строка в которой ссылается на строку таблицы (1), не должно быть ссылок, которые не содержатся в таблице (1), то есть ссылок, ведущих в никуда.

Команда с выражением ALTER TABLE может понадобиться для установки значения NULL для такой ссылки. Её синтаксис следующий:

Пример 5. Пусть в той же базе данных Company требуется установить ссылочное ограничение: при удалении какого-либо отдела из таблицы Dept в таблице Employee, содержатся ссылки на эти отделы, значение ссылки (внешнего ключа) должно быть уставлено в NULL (полностью неопределенное). Соответствующий запрос выглядит следующим образом:

Таким образом, если в таблице Employee есть сотрудник, работающий в отделе, который вдруг был ликвидирован и запись о нём удалена из таблицы Dept, то в записи об этом сотруднике значение столбца DEPT_ID примет значение NULL.

Запросом с командой ALTER TABLE можно также установить запрет на удаление ссылающихся записей из таблицы (1), если существует хотя бы одна запись в таблице (2), на которую ссылается запись в таблице (1). Синтаксис такого запроса следующий:

Пример 6. Далее работаем с базой данных сети аптек, которую мы создали на уроке Создание базы данных SQL и таблиц базы данных.

Следующая команда с выражением alter table устанавливает запрет на удаление группы препаратов из таблицы Group, если существует хотя бы один препарат этой группы, что определяется записью в таблице Preparation:

Устанавливаем запрет на удаление аптеки из таблицы Pharmacy, если существует хотя бы один сотрудник этой аптеки, что определяется записью в таблице Employee:

Запросом с командой ALTER TABLE можно также определить, что если удалить запись в таблице (2), на которую ссылается запись в таблице (1), то должны быть удалены все соответствующие записи в таблице (1) (каскадное удаление). Синтаксис такого запроса следующий:

Пример 7. Продолжаем работать с базой данных сети аптек.

Вновь изменяем таблицу AVAILABILITY и определяем, что если удалить препарат из таблицы PREPARATION, то должны удалиться все записи этого препарата в таблице AVAILABILITY.

Теперь определим, что если удалить аптеку из таблицы PHARMACY, то должны удалиться все записи этой аптеки в таблице AVAILABILITY:

Следующая команда модифицирует таблицу DEFICIT и определяет, что если удалить препарат из таблицы PREPARATION, то должны удалиться все записи этого препарата в таблице DEFICIT:

Вновь модифицируем таблицу DEFICIT и определяем, что если удалить аптеку из таблицы PHARMACY, то должны удалиться все записи этой аптеки в таблице DEFICIT:

Запросом с командой ALTER TABLE можно установить проверочное ограничение. Синтаксис такого запроса следующий:

Пример 8. Продолжаем работать с базой данных сети аптек.

Нужно модифицировать таблицу AVAILABILITY и определить, что в одной и той же записи значение атрибута DateStart таблицы не должно быть меньше значения DateEnd.

Илон Маск рекомендует:  Что такое код getcharwidth
Понравилась статья? Поделиться с друзьями:
Кодинг, CSS и SQL