Список форумов   FAQ   Поиск  
  Вход
Список форумов World Wide Web Web-программирование

MySQL. Создание баз данных.

Все вопросы по web-программированию. Php, Perl, HTML, CSS, JavaScript и др. Установка и настройка CGI скриптов

MySQL. Создание баз данных.

Сообщение Romaaa » Понедельник 26 Апрель 2004 15:14:09

Создание баз данных.
Создание базы данных в MySQL производится с помощью утилиты mysqladmin.Изначально существует только БД mysql для администратора и БД test,в которую может войти любой пользователь и которая по умолчанию пуста.Приведенный ниже пример иллюстрирует создание базы данных.


mysqlbin>mysqladmin -u root -p create data1
Enter password:******

Database "data1" created.

mysqlbin>



По умолчанию,root имеет доступ ко всем базам данных и таблицам.Перейти в созданную базу данных можно,используя команду mysql.


mysqlbin>mysql -u root -p data1
Enter password:******

Welcome to MySQL monitor.



Или,находясь в другой базе данных,например в mysql ввести команду:


mysql>use data1

Database changed.



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


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

BIGINT [(length)] [UNSIGNED] [ZEROFILL] 8 байт целое
BLOB Двоичный объект (максимальная длина 65535 байт)
CHAR(NUM) Строка фиксированной длины (1 use data1

Database changed.
mysql>create table customers (
emp_id int(4) not null auto_increment,
emp_name varchar(10) not null,
emp_lname varchar(15) not null,
address varchar(60) not null,
phone int(10),
primary key(emp_id));




Мы создали пустую таблицу.Вводить данные в нее можно несколькими способами:
а)вручную,используя команду insert into;
б)загрузить данные из текстового файла,что является более предпочтительным,особенно если нужно ввести несколько тысяч записей.Синтаксис этой команды будет описан позже.
в)использовать утилиту mysqlimport также для загрузки данных из текстового файла.

Пример ввода данных вручную:


mysql>insert into customers (emp_id,emp_name,emp_lname,address,phone)
-->values ('1001','John','Walker','New York','1236458794');
или
mysql>insert into customers values ('1001','John','Walker','New York','1236458794');

//работает и то,и то.




Что касается auto_increment в столбце emp_id,это означает,что числовое значение этого столбца будет автоматически увеличиваться на единицу с каждой новой записью.То есть,если мы ввели значение 1001,то следующее будет 1002 и т.д.Значение в такой столбец вводится один раз для задания точки отсчета,а дальше сервер будет сам подставлять нужные значения.


Синтаксис команды LOAD DATA INFILE.

DATA [LOW_PRIORITY] [LOCAL] INFILE 'file_name.txt' [REPLACE | IGNORE]
INTO TABLE tbl_name
[FIELDS
[TERMINATED BY 't']
[OPTIONALLY] ENCLOSED BY '']
[ESCAPED BY '' ]]
[LINES TERMINATED BY 'n']
[IGNORE number LINES]
[(col_name,...)]
Предположим,существует некоторый текстовый файл 123.txt,содержащий 2000 записей,которые нужно внести в таблицу.Нужно создать таблицу,имеющую такую же структуру и такое же число полей,как и файл(а также подходящие типы данных).Предположим,что поля в файле разделены запятыми.Кроме того,файл должен находиться в нужной базе данных. Вводим следующую команду:

LOAD DATA INFILE '123.txt' into table customers fields terminated by ',';

Это все.Данные из файла помещаются в таблицу.

Для модификации таблиц и данных в них используются команды update и alter table. Рассмотрим их действие на примере таблицы customers:

Customers emp_id emp_name emp_lname address phone
1001 John Walker New York 1235468798
1002 Bill Smith Chicago 7650945237
1003 Jack Nicolson Dallas 9874325097


Пример действия команды alter table:



mysql>alter table customers add last_accessed date;
mysql>insert into customers (last_accessed) values ('20000512') where
-->emp_id='1003';
mysql>alter table customers rename customers buyers;
mysql>alter table buyers change phone telephone int(11);




После выполнения этих команд таблица примет следующий вид:

Buyers emp_id emp_name emp_lname address telephone last_accessed
1001 John Walker New York 1235468798
1002 Bill Smith Chicago 7650945237
1003 Jack Nicolson Dallas 9874325097 20000512


Можете проверить это сами :)

Изменение данных в таблицах производится с помощью команды update.Для примера возьмем ту же таблицу buyers.


mysql>update buyers set address='Seattle' where emp_lname='Smith';




Для модификации таблиц используются также команды Drop и Delete.

Delete-удаляет строку из таблицы.Например,если ввести команду
delete from buyers where emp_id='1002'

будет удалена строка для Bill Smith.

Drop-если используется в Alter table удаляет колонку из таблицы.

Команда Drop также используется для удаления таблиц и баз данных.Пользоваться ею следует осторожно,так как любое удаление необратимо,восстановить данные можно только из резервной копии.
Romaaa

 
Сообщения: 7078
Зарегистрирован: Вторник 30 Март 2004 08:15:31
Откуда: 47°59'53N 7°50'26E

Сообщение Стас » Понедельник 26 Апрель 2004 15:57:56

А для чего и где эти бази данних применяются, кроме как на форумах и чатах ?? :?:
Стас

 
Сообщения: 188
Зарегистрирован: Пятница 16 Апрель 2004 15:30:20
Откуда: Украина, Новомосковск

Сообщение Romaaa » Понедельник 26 Апрель 2004 16:44:55

почти на ВСЕХ порталах, нюках где есть большое количество информации.... вот например video.navy.dp.ua, mp3... и т.п... все юзает БД.. т.к. с ним БЫСТРО и УДОБНО хранить инфу.. !
Romaaa

 
Сообщения: 7078
Зарегистрирован: Вторник 30 Март 2004 08:15:31
Откуда: 47°59'53N 7°50'26E

Сообщение Rost » Четверг 27 Май 2004 13:27:19

А не проще ли создавать пользователя, бд и таблицы с помощью cPanel (myphpAdmin), это ведь быстрее и визуальнее, а обращаться к ним уже SQL-запросами из того же ПХП? Я всегда так делаю... лень - двигатель прогресса.
Rost

 
Сообщения: 40
Зарегистрирован: Среда 26 Май 2004 18:38:56
Откуда: Novomoskovsk

Сообщение starcat » Четверг 27 Май 2004 15:01:38

Rost, спорим, что я с консоли создам быстрее, чем через phpMyAdmin? ;)
starcat

 
Сообщения: 1586
Зарегистрирован: Вторник 11 Май 2004 15:26:13
Откуда: Новомосковск

Сообщение starcat » Четверг 27 Май 2004 15:02:15

Rost, кстати, у phpMyAdmin были интерсные грабли с кодировками. Они конечно обходятся, но неприятно :(
starcat

 
Сообщения: 1586
Зарегистрирован: Вторник 11 Май 2004 15:26:13
Откуда: Новомосковск

Сообщение starcat » Четверг 27 Май 2004 15:03:09

Стас писал(а):А для чего и где эти бази данних применяются, кроме как на форумах и чатах ?? :?:

везде, где надо хранить данные
starcat

 
Сообщения: 1586
Зарегистрирован: Вторник 11 Май 2004 15:26:13
Откуда: Новомосковск

Сообщение Rost » Четверг 27 Май 2004 18:28:03

Конечно, я не спорю, но новичку все-таки легче через phpmyadmin. Нагляднее. Мне тоже легче, т.к. я не профи. У меня одна задача - вебдизайн и хлебоздача 8)
По поводу кодировок не знаю, у меня все базы были на английском.
Rost

 
Сообщения: 40
Зарегистрирован: Среда 26 Май 2004 18:38:56
Откуда: Novomoskovsk

Сообщение starcat » Пятница 28 Май 2004 06:46:16

Rost, насчет проще - согласен.
Но часто из этого получается то, что человек просто не понимает, что он реально делает :( Т.е. он научился нажимать на кнопку, а что реально происходит по нажатию этой кнопки - он не знает.
starcat

 
Сообщения: 1586
Зарегистрирован: Вторник 11 Май 2004 15:26:13
Откуда: Новомосковск

Сообщение alksoft » Вторник 23 Ноябрь 2004 22:40:41

starcat писал(а):Rost, спорим, что я с консоли создам быстрее, чем через phpMyAdmin? ;)

Хоть не сложно юзать консоль, но через пхпмайадмин я сделаю быстре :))
alksoft

 
Сообщения: 7
Зарегистрирован: Понедельник 22 Ноябрь 2004 22:30:28
Откуда: Днепропетровск

Сообщение Kiberman » Пятница 28 Январь 2005 20:29:44

Для alksoft: ага, это точно :!:
PHPmyAdmin самый класный скрипт для работы с таблицами базаы данных MySQL :wink:
Kiberman

 
Сообщения: 468
Зарегистрирован: Вторник 30 Март 2004 12:43:05
Откуда: Новомосковск

Сообщение Romaaa » Пятница 28 Январь 2005 21:05:56

Для Kiberman: хлопцы.. через Консоль (как говорит Старкет) все же намного быстрее создать базу.. создать на нее юзверя.. выдать права ему полные и сделать типа админом.. с помощью 2-х команд.. а в пхпМайадм.. это займет больше времени...
Romaaa

 
Сообщения: 7078
Зарегистрирован: Вторник 30 Март 2004 08:15:31
Откуда: 47°59'53N 7°50'26E

Сообщение Kiberman » Суббота 29 Январь 2005 12:01:46

ну может через консоль и быстрее спорить не буду, но скажу одно что через в пхпМайадм удобнее и понятнее :wink:
Kiberman

 
Сообщения: 468
Зарегистрирован: Вторник 30 Март 2004 12:43:05
Откуда: Новомосковск

Сообщение sKeRe* » Понедельник 03 Май 2010 13:55:40

Для starcat:
Научи сайт создавать
sKeRe*

 
Сообщения: 170
Зарегистрирован: Воскресенье 24 Январь 2010 18:40:20
Откуда: из .......


Вернуться в Web-программирование

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 4

cron