Как создать таблицу в базе данных? (PHP+MySQL)

Рейтинг: 14Ответов: 3Опубликовано: 13.01.2011

Здравствуйте!

Нашел в Интернете видео уроки по курсу Apache+PHP+MySQL, но там все действия происходят, как я понял, в Украине, хотя рассказывает на русском. Рассказали как и привели код по созданию базы данных и таблиц в ней.

Создание таблицы в базе данных Usersbd:

<?php
$Link = mysql_connect('localhost', 'root', '12345');

if(!$Link) echo "Не удалось подключится к серверу";
else
{
    mysql_select_db('Usersbd');

    $sql = "CREATE TABLE 'Users'  ('UserID'  VARCHAR(5) CHARACTER SET cp1251 COLLATE cp1251_ukrainian_ci NOT NULL ". 
        " 'Name'  VARCHAR(25) CHARACTER SET cp1251 COLLATE cp1251_ukrainian_ci, ". 
        " 'E-mail'  VARCHAR(25) CHARACTER SET cp1251 COLLATE cp1251_ukrainian_ci)";
    if (mysql_query($sql))
        echo "Создание таблицы завершено";
    else
        echo "Таблицу создать не удалось";
}
?>

character set cp1251 - поле поддерживает кириллическую кодировку
collate cp1251_ukrainian_ci - порядок сравнения кириллицы с поддержкой украинских символов
not null - поле не пустое

Так как я живу в России — мне не нужны украинские символы. Я попробовал убрать пункт сравнения, реакция была однозначной: "Таблицу создать не удалось"...

Поискал ещё информацию по этому курсу, но ничего хорошего и понятного не нашел.. Скажите, как реализовать это для нашего региона, да и вообще? Спасибо.

После проделанных действий, по советам других участников получилось так:

<?php
$Link = mysql_connect('localhost', 'root', '12345');

if(!$Link) echo "Не удалось подключится к серверу";
 else
{
   mysql_select_db('TestBD');

   $sql = "CREATE TABLE  `tests` (`id` INT NOT NULL ,`test` VARCHAR( 100 ) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL , PRIMARY KEY (  `id` ))";

if (mysql_query($sql))
    echo "Создание таблицы завершено";
  else
    echo "Таблицу создать не удалось";
}
?>

Но все равно ничего не работает, и таблицу не создает...

Ответы

▲ 8Принят
CREATE TABLE  `testdb`.`tests` (`id` INT NOT NULL ,`test` VARCHAR( 100 ) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL , PRIMARY KEY (  `id` ));

вот например в обычной кодировке utf-8

▲ 5

Лучше не используйте cp1251, utf удобнее. Заменяйте cp1251 на utf8 и cp1251_ukrainian_ci на utf8_general_ci.

▲ 3
<?php
   $Link = mysql_connect('localhost', 'root', '123456');

   if(!$Link) echo "Не удалось подключится к серверу";
   else
   {
      mysql_select_db('Usersbd');

      $sql = "CREATE TABLE `Userbd`.`Users` (`id` INT( 3 ) NOT NULL AUTO_INCREMENT PRIMARY KEY ,`name` VARCHAR( 25 ) CHARACTER SET

      utf8 COLLATE utf8_general_ci NULL ,`passwd` VARCHAR( 10 ) CHARACTER SET utf8 COLLATE utf8_general_ci NULL) ENGINE = MYISAM";
      if (mysql_query($sql))
         echo "Создание таблицы завершено";
      else
         echo "таблица не создана";
   }
?>