WebMoney: WMZ Z294115950220 WMR R409981405661 WME E134003968233 |
Visa 4274 3200 2453 6495 |
Все клиенты MySQL, которые связываются с сервером, используя библиотеку
Применение Клиент mysql использует файл, именованный в системной переменной
Все программы MySQL имеют много различных параметров. Однако, каждая
программа MySQL обеспечивает опцию Вы можете отменять заданные по умолчанию параметры для всех стандартных
программ пользователя с помощью файла опций. Подробности в разделе
"4.1.2 Файл опций my.cnf". Список ниже кратко описывает программы MySQL: Если Вы имеете проблемы из-за недостаточной памяти у клиента, используйте
опцию Использование Вы можете также устанавливать следующие переменные через Если Вы напечатаете 'help' в командной строке, Внимание: pager работает только в UNIX. Команда Полезная опция запуска для новичков (появилась в
MySQL Version 3.23.11): Здесь Эффект вышеупомянутой команды:
Некоторые полезные советы относительно применения клиента
Некоторые данные намного более читаемы, когда отображаются вертикально,
вместо обычного горизонтального вывода, типа блока. Например, более длинный
текст, который включает новые строки, часто намного проще читать с
вертикальным выводом. Например: Утилита для выполнения административных операций. Синтаксис: Вы можете получить список параметров, которые Ваша версия
Текущая версия Все команды могут быть сокращены к их уникальному префиксу. Например: Результат команды Если Вы делаете Начиная с MySQL version 3.23.38, Вы можете использовать новый инструмент
для проверки и ремонта таблиц Имеются три альтернативных способа вызвать Имена, которые Вы можете использовать, чтобы изменить заданное по
умолчанию поведение Параметры, доступные для Утилита позволяет сбросить в дамп одну или несколько баз данных для
резервирования или транспортировки на другой сервер SQL (необязательно
MySQL). Дамп будет содержать инструкции SQL, чтобы создать и
заполнять таблицу данными. Если Вы делаете копию на сервер, Вы должны рассмотреть использование
вместо этой утилиты Если Вы не задаете таблицы или используете Вы можете получить список параметров, которые поддерживает Ваша версия
Обратите внимание, что, если Вы выполняете Обратите внимание, что, если Вы используете новую копию программы
Наиболее нормальное использование Вы можете прочитать этот файл обратно в MySQL: или: Однако, утилита также очень полезна, когда надо заполнить другой сервер
MySQL информацией из базы данных: Возможно выполнить дамп нескольких баз данных одной командой: Если требуются все базы данных, можно использовать: Вы можете использовать Чтобы выполнить Для каждого текстового файла, указанного в командной строке,
Имеется типовой образец выполнения Программой Обратите внимание, что в более новых версиях MySQL, Вы только видите те
базы данных/таблицы/столбцы, для которых Вы имеете некоторые привилегии. Если последний параметр содержит подстановочные знаки оболочки или SQL
( Клиент Однако, также возможно поместить Ваши команды SQL в файл и сообщить, чтобы
Вы можете также запустить Ваш текстовый файл с помощью инструкции
4.8 Клиентские скрипты и утилиты MySQL
4.8.1 Обзор клиентских скриптов и утилит
mysqlclient
, применяет следующие системные переменные:
Имя Описание MYSQL_UNIX_PORT
Сокет по умолчанию. Используется
для связи с localhost
MYSQL_TCP_PORT
TCP/IP порт по умолчанию
MYSQL_PWD
Пароль по умолчанию MYSQL_DEBUG
Опции для трассировки, если
используется режим отладки TMPDIR
Каталог для временных файлов и таблиц
MYSQL_PWD
опасно. Подробности в разделе
"4.2.7 Соединение с сервером MySQL".
MYSQL_HISTFILE
, чтобы сохранить хронологию командной строки.
Значение по умолчанию для файла хронологии: $HOME/.mysql_history,
здесь $HOME
представляет собой значение системной переменной
HOME
. Подробности в разделе
"Приложение 2. Переменные окружения
".--help
, которую Вы можете
использовать, чтобы получить полное описание различных параметров программы.
Например, mysql --help
.
myisamchk
myisamchk
имеет много
функций, он описан в собственной главе. Подробности в разделе
"4 Администрирование СУБД
MySQL".
make_binary_distribution
support.mysql.com
для удобства других пользователей MySQL.
msql2mysql
mSQL
в
MySQL. Не обрабатывает все случаи, но дает хорошее начало при преобразовании.
mysqlaccess
mysqladmin
mysqladmin
может
также использоваться, чтобы узнавать версию, данные о процессах и информацию
состояния сервера. Подробности в разделе "
4.8.3 mysqladmin, администрирование сервера MySQL".
mysqlbug
mysqld
mysqldump
mysqlimport
LOAD DATA INFILE
. Подробности в разделе
"4.8.7 mysqlimport, импортирование данных из
текстовых файлов".
mysqlshow
mysql_install_db
replace
msql2mysql
, но имеет более
общую применимость. replace
меняет строки в файлах или на
стандартном вводе. Использует специальный алгоритм, чтобы сначала
соответствовать более длинным строкам. Может использоваться, чтобы менять
строки. Например, эта команда меняет a
и b
в файлах:
shell> replace a b b a -- file1 file2 ...
4.8.2 Инструмент командной строки
mysql
простая SQL оболочка (с возможностями GNU
readline
). Это поддерживает интерактивное и не интерактивное
использование. Когда используется в интерактивном режиме, результаты запроса
будут представлены в формате ASCII-таблицы. Когда используется в не
интерактивном режиме (например, как фильтр), результат будет выведен в
разделяемом табуляциями формате. Выходной формат может быть изменен,
используя параметры командной строки. Вы можете выполнять скрипты так:
shell> mysql database < script.sql > output.tab
--quick
! Это вынуждает клиент mysql
использовать mysql_use_result()
вместо вызова
mysql_store_result()
, чтобы отыскать набор результатов.mysql
очень просто. Только запустите его
следующим образом: mysql database
или mysql
--user=user_name --password=your_password database
. Напечатайте
инструкцию SQL, закончите ее `;', `\g' или
`\G' и нажмите RETURN/ENTER.mysql
поддерживает следующие параметры:
-?, --help
-A, --no-auto-rehash
-B, --batch
--character-sets-dir=...
-C, --compress
-#, --debug[=...]
-D, --database=...
my.cnf
.
--default-character-set=...
-e, --execute=...
-E, --vertical
\G
.
-f, --force
-g, --no-named-commands
-G, --enable-named-commands
-i, --ignore-space
-h, --host=...
-H, --html
-L, --skip-line-numbers
--no-pager
--no-tee
-n, --unbuffered
-N, --skip-column-names
-O, --set-variable var=option
--help
.
-o, --one-database
--pager[=...]
PAGER
. Допустимые значения: less, more, cat [> filename],
etc. Подробности в интерактивной справке (\h). Эта опция не работает в
пакетном режиме. Pager работает только в UNIX.
-p[password], --password[=...]
-p
, Вы не
можете иметь пробелов между этой опцией и паролем.
-P --port=...
-q, --quick
-r, --raw
--batch
.
-s, --silent
-S --socket=...
-t --table
-T, --debug-info
--tee=...
-u, --user=#
-U, --safe-updates[=#], --i-am-a-dummy[=#]
UPDATE
и DELETE
, которые
используют ключи. Вы можете сбрасывать эту опцию, если Вы имеете ее в Вашем
файле my.cnf
, используя параметр --safe-updates=0
.
-v, --verbose
-V, --version
-w, --wait
-O
или --set-variable
:
Имя переменной Значение по умолчанию Описание
connect_timeout 0 Число секунд перед завершением
подключения по тайм-ауту. max_allowed_packet 16777216 Максимальная длина
пакетов для обмена с сервером. net_buffer_length 16384 Буфер для связи через сокет
или TCP/IP. select_limit 1000 Автоматическое ограничение для
SELECT при использовании --i-am-a-dummy max_join_size 1000000 Автоматическое ограничение для
строк в объединении при использовании --i-am-a-dummy. mysql
распечатает команды, которые он поддерживает:
mysql> help
MySQL commands:
help (\h) Display this text.
? (\h) Synonym for `help'.
clear (\c) Clear command.
connect (\r) Reconnect to the server. Optional arguments are db and host.
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.
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.
quit (\q) Quit mysql.
rehash (\#) Rebuild completion hash.
source (\.) Execute a SQL script file. Takes a file name as an argument.
status (\s) Get status information from the server.
tee (\T) Set outfile [to_outfile]. Append everything into given outfile.
use (\u) Use another database. Takes database name as argument.
status
дает Вам некоторую информацию относительно
подключения и сервера, который Вы используете. Если Вы работаете в режиме
--safe-updates
, status
будет также печатать
значения для переменных mysql
, которые воздействуют
на Ваши запросы.--safe-updates
(или
--i-am-a-dummy
для пользователей, которые скомандовали
DELETE FROM table_name
, но забыли указать предложение
WHERE
). При использовании этой опции, mysql
посылает следующую команду серверу MySQL при открытии подключения:
SET SQL_SAFE_UPDATES=1,SQL_SELECT_LIMIT=#select_limit#,
SQL_MAX_JOIN_SIZE=#max_join_size#"
#select_limit#
и #max_join_size#
являются
переменными, которые могут быть заданы в командной строке mysql
.
Подробности в разделе "5.5.6 Синтаксис
SET
".UPDATE
или
DELETE
, если Вы не имеете ограничения ключа в части
WHERE
. Можно, однако, выполнить UPDATE/DELETE
,
используя слово LIMIT
:
UPDATE table_name SET not_key_column=# WHERE not_key_column=# LIMIT 1;
#select_limit#
.
SELECT
, который, вероятно, должен будет исследовать больше,
чем #max_join_size
комбинаций строк, будет прерван.mysql
:
mysql> select * from mails where length(txt) < 300 limit 300,1\G
*************************** 1. row ***************************
msg_nro: 3068
date: 2000-03-01 23:29:50
time_zone: +0200
mail_from: Monty
reply: monty@no.spam.com
mail_to: "Thimble Smith" <tim@no.spam.com>
sbj: UTF-8
txt: >>>>> "Thimble" == Thimble Smith writes:
Thimble> Hi. I think this is a good idea. Is anyone familiar with
Thimble> UTF-8 or Unicode? Otherwise I'll put this on my TODO list
Thimble> and see what happens.
Yes, please do that.
Regards,
Monty
file: inbox-jani-1
hash: 190402944
1 row in set (0.09 sec)
tee
. Режим
tee
может быть начат с помощью опции --tee=...
или
из командной строки в интерактивном режиме с помощью команды
tee
. Все данные, отображаемые на экране, будут также добавляться
в заданный файл. Это может быть очень полезно для отладки. Режим может быть
заблокирован из командной строки командой notee
. Выполнение
tee
второй раз снова начинает регистрировать вывод. Без
параметра будет использоваться предыдущий файл. Обратите внимание, что
tee
сбрасывает результаты в файл после каждой команды прежде,
чем появляется командная строка.
--pager[=...]
. Без параметра клиент mysql
будет искать системную переменную PAGER и соответственно устанавливать свой
параметр pager
. Этот режим может быть запущен из интерактивной
командной строки командой pager
и заблокирован командой
nopager
. Команда факультативно берет параметр, и
pager
будет установлен в заданное им значение. Команда
pager
может быть вызвана без параметра, но это требует, чтобы
использовалась опция --pager
, или pager
будет
значением по умолчанию (stdout). pager
работает только в UNIX,
так как это использует функцию popen(), которая не существует в Windows. Под
ОС Windows опция tee
может использоваться вместо этого, хотя она
не может быть столь же удобна, как pager
в некоторых ситуациях.
pager
: Вы можете использовать
его, чтобы писать в файл:
mysql> pager cat > /tmp/log.txt
И результаты будут переданы только в этот файл. Вы можете также передавать
любые параметры для программ, которые Вы хотите использовать с
pager
:
mysql> pager less -n -i -S
Из вышеупомянутого обратите внимание на опцию '-S'. Вы можете посчитать ее
очень полезной при просмотре результатов. Попробуйте опцию с горизонтальным
выводом (команды заканчиваются на '\g' или ';') и с вертикальным выводом
(команды заканчиваются на '\G'). Иногда очень широкий набор результатов
должен быстро читаться с экрана, с опцией -S и программой less Вы сможете
просмотреть результаты внутри интерактивного less слева направо без строк,
более длинных, чем Ваш экран. Это может сделать результат намного более
читаемым. Вы можете переключать режим внутри интерактивного less с помощью
'-S'. Подробности в описании на 'h'.
mysql> pager cat|tee /dr1/tmp/res.txt|tee /dr2/tmp/res2.txt| \
less -n -i -S
tee
,
pager
установить на 'less', и Вы будете способны просмотреть
результаты в unix 'less' и все еще копировать весь вывод в файл. Различие
между UNIX tee
, используемом с pager
и клиентом
mysql
то, что встроенный режим tee
работает, даже
если Вы не имеете UNIX tee
.4.8.3 mysqladmin, Администрирование сервера MySQL
shell> mysqladmin [OPTIONS] command [command-option] command ...
mysqladmin
поддерживает, выполняя mysqladmin
--help
.mysqladmin
поддерживает следующие команды:
create databasename
drop databasename
extended-status
flush-hosts
flush-logs
flush-tables
flush-privileges
kill id,id,...
password
ping
processlist
reload
refresh
shutdown
slave-start
slave-stop
status
variables
version
shell> mysqladmin proc stat
+----+-------+-----------+----+-------------+------+-------+------+
| Id | User | Host | db | Command | Time | State | Info |
+----+-------+-----------+----+-------------+------+-------+------+
| 6 | monty | localhost | | Processlist | 0 | | |
+----+-------+-----------+----+-------------+------+-------+------+
Uptime: 10077 Threads: 1 Questions: 9 Slow queries: 0 Opens: 6 Flush tables: 1 Open tables: 2 Memory in use: 1092K Max memory used: 1116K
mysqladmin status
имеет следующие столбцы:
Uptime Число секунд, которые прошли с момента запуска сервера
Threads Число активных потоков (клиентов)
Questions Число запросов от клиентуры с тех пор, как
mysqld
был запущен.Slow queries Запросы, которые заняли больше, чем
long_query_time
секунд. Подробности в разделе
"4.9.5 Медленный файл регистрации".
Opens Сколько таблиц открылись в mysqld
.
Flush tables Сколько выполнено команд flush ...
,
refresh
и reload
.
Open tables Число таблиц, которые открыты СЕЙЧАС.
Memory in use Память, распределенная непосредственно кодом
mysqld
(доступно только, когда MySQL компилируется с опцией
--with-debug=full).Max memory used Максимальная память, распределенная
непосредственно кодом
mysqld
(доступно только, когда MySQL
компилируется с опцией --with-debug=full).myslqadmin shutdown
на сокете (другими
словами, на компьютере, где запущен mysqld
),
mysqladmin
будет ждать, пока не будет удален MySQL
pid-file
, чтобы гарантировать, что сервер mysqld
был завершен правильно.4.8.4 Использование
mysqlcheck
для поддержания таблиц и восстановленияMyISAM
. Отличие от
myisamchk
в том, что mysqlcheck
должен
использоваться, когда сервер mysqld
работает, а
myisamchk
работает только, когда сервер выключен.mysqlcheck
использует команды сервера MySQL
CHECK
, REPAIR
, ANALYZE
и
OPTIMIZE
удобным для пользователя способом.mysqlcheck
:
shell> mysqlcheck [OPTIONS] database [tables]
shell> mysqlcheck [OPTIONS] --databases DB1 [DB2 DB3...]
shell> mysqlcheck [OPTIONS] --all-databases
mysqlcheck
имеет специальное свойство, сравнимое с другой
клиентурой: заданное по умолчанию поведение при проверке таблиц (-c) может
быть изменено переименованием. Так, если Вы хотите иметь инструмент для
ремонта таблиц по умолчанию, Вы должны только скопировать
mysqlcheck
под именем mysqlrepair
или создать
символическую связь mysqlrepair
.mysqlcheck
:
mysqlrepair: По умолчанию опция -r
mysqlanalyze: По умолчанию опция -a
mysqloptimize: По умолчанию опция -o
mysqlcheck
, перечислены здесь,
пожалуйста, проверьте, что Ваша версия поддерживает вызов
mysqlcheck --help
.
-A, --all-databases
-1, --all-in-1
-a, --analyze
--auto-repair
-#, --debug=...
--character-sets-dir=...
-c, --check
-C, --check-only-changed
--compress
-?, --help
-B, --databases
--default-character-set=...
-F, --fast
-f, --force
-e, --extended
-h, --host=...
-m, --medium-check
-o, --optimize
-p, --password[=...]
-P, --port=...
-q, --quick
-r, --repair
-s, --silent
-S, --socket=...
--tables
-u, --user=#
-v, --verbose
-V, --version
4.8.5 mysqldump, Сброс в дамп структуры
таблицы и ее данных
mysqlhotcopy
. Подробности в разделе
"4.8.6 mysqlhotcopy, копирование баз
данных и таблиц MySQL".
shell> mysqldump [OPTIONS] database [tables]
mysqldump [OPTIONS] --databases [OPTIONS] DB1 [DB2 DB3...]
mysqldump [OPTIONS] --all-databases [OPTIONS]
--databases
или
--all-databases
, целая база данных будет сброшена в дамп.mysqldump
, выполняя mysqldump --help
.mysqldump
без
опций --quick
или --opt
, mysqldump
загрузит целый набор результатов в память перед дампингом. Это будет,
вероятно, проблемой, если Вы обрабатываете большую базу данных.mysqldump
и собираетесь делать дамп, который будет читаться
очень старым сервером MySQL, Вы не должны использовать параметры
--opt
или -e
.mysqldump
поддерживает следующие параметры:
--add-locks
LOCK TABLES
перед и UNLOCK TABLE
после
каждого дампа таблицы, чтобы получить быстрые вставки в MySQL.
--add-drop-table
drop table
перед каждой инстукцией создания.
-A, --all-databases
--databases
со всеми выбранными базами данных.
-a, --all
--allow-keywords
-c, --complete-insert
-C, --compress
-B, --databases
USE
db_name;
будет включен в вывод перед каждой новой базой данных.
--delayed
INSERT DELAYED
.
-e, --extended-insert
INSERT
. Дает более компактные и
быстрые инструкции вставок.
-#, --debug[=option_string]
--help
--fields-terminated-by=...
--fields-enclosed-by=...
--fields-optionally-enclosed-by=...
--fields-escaped-by=...
--lines-terminated-by=...
-T
и имеют то же самое
значение, что и соответствующие предложения для LOAD DATA INFILE
.
-F, --flush-logs
-f, --force,
-h, --host=...
localhost
.
-l, --lock-tables
READ LOCAL
, чтобы позволить параллельные вставки в
случае таблиц MyISAM
.
-n, --no-create-db
-t, --no-create-info
CREATE TABLE
).
-d, --no-data
--opt
--quick --add-drop-table --add-locks
--extended-insert --lock-tables
. Опция должна дать Вам самый быстрый
возможный дамп для чтения на сервере MySQL.
-pyour_pass, --password[=your_pass]
-P port_num, --port=port_num
localhost
, там применяются Unix-сокеты.
-q, --quick
mysql_use_result()
.
-r, --result-file=...
-S /path/to/socket, --socket=/path/to/socket
localhost
.
Он является заданным по умолчанию компьютером.
--tables
-T, --tab=path-to-some-directory
table_name.sql
, который содержит команды SQL
CREATE, и файл table_name.txt
, который содержит данные для
каждой указанной таблицы. ОБРАТИТЕ ВНИМАНИЕ: Это работает
только, если mysqldump
выполнен на той же самой машине, что и
сервер mysqld
. Формат файла .txt
соответствует
опциям --fields-xxx
и --lines--xxx
.
-u user_name, --user=user_name
-O var=option, --set-variable var=option
-v, --verbose
-V, --version
-w, --where='where-condition'
"--where=user='jimf'" "-wuserid>1" "-wuserid<1"
-O net_buffer_length=#, where # < 16M
--extended-insert
или --opt
),
mysqldump
создаст строки длины до net_buffer_length
.
Если Вы увеличиваете эту переменную, Вы должны также гарантировать, что
переменная max_allowed_packet
в сервере MySQL больше, чем
net_buffer_length
.mysqldump
: создание копий
целых баз данных. Подробности в разделе "4.4.1
Резервирование баз данных":
mysqldump --opt database > backup-file.sql
mysql database < backup-file.sql
mysql -e "source /patch-to-backup/backup-file.sql" database
mysqldump --opt database|mysql --host=remote-host -C database
mysqldump --databases database1 [database2 database3...] > my_databases.sql
mysqldump --all-databases > all_databases.sql
4.8.6 mysqlhotcopy, копирование баз
данных и таблиц MySQL
mysqlhotcopy
представляет собой perl-скрипт, который
использует LOCK TABLES
, FLUSH TABLES
и
cp
или scp
, чтобы быстро сделать копию базы данных.
Это самый быстрый способ сделать копию с базы данных или одиночной таблицы,
но это может быть выполнено только на той же самой машине, где находятся
каталоги баз данных.
mysqlhotcopy db_name [/path/to/new_directory]
mysqlhotcopy db_name_1 ... db_name_n /path/to/new_directory
mysqlhotcopy db_name./regex/
mysqlhotcopy
поддерживает следующие параметры:
-?, --help
-u, --user=#
-p, --password=#
-P, --port=#
-S, --socket=#
--allowold
--keepold
--noindices
myisamchk -rq
.
--method=#
cp
или scp
).
-q, --quiet
--debug
-n, --dryrun
--regexp=#
--suffix=#
--checkpoint=#
--flushlog
--tmpdir=#
perldoc mysqlhotcopy
, чтобы получить
более полную документацию для mysqlhotcopy
.mysqlhotcopy
читает группы [client]
и
[mysqlhotcopy]
из файлов опций.mysqlhotcopy
, Вы нуждаетесь в доступе к
резервному каталогу для записи, в привилегии SELECT
для таблиц,
которые Вы собираетесь копировать, и в привилегии MySQL Reload
,
чтобы выполнить команду FLUSH TABLES
.4.8.7 mysqlimport, импорт данных
из текстовых файлов
mysqlimport
интерфейс командной строки к инструкции SQL
LOAD DATA INFILE
. Большинство параметров
mysqlimport
непосредственно соответствует тем же самым
параметрам LOAD DATA INFILE
.mysqlimport
вызывается подобно этому:
shell> mysqlimport [options] database textfile1 [textfile2....]
mysqlimport
отделяет любое расширение от имени файла и
использует результат, чтобы определить, в которую таблицу импортировать
содержание файла. Например, файлы с именами patient.txt,
patient.text и patient будут все вместе импортированы в
одну таблицу patient
.mysqlimport
поддерживает следующие параметры:
-c, --columns=...
LOAD DATA
INFILE
, которая затем будет передана MySQL.
-C, --compress
-#, --debug[=option_string]
-d, --delete
--fields-terminated-by=...
--fields-enclosed-by=...
--fields-optionally-enclosed-by=...
--fields-escaped-by=...
--lines-terminated-by=...
LOAD DATA INFILE
.
-f, --force
--force
mysqlimport
прерывает работу, если нужная
таблица не существует.
--help
-h host_name, --host=host_name
localhost
.
-i, --ignore
--replace
.
-l, --lock-tables
-L, --local
localhost
(который является заданным по умолчанию компьютером).
-pyour_pass, --password[=your_pass]
mysqlimport
запросит
Вас относительно пароля.
-P port_num, --port=port_num
localhost
,
там применены сокеты Unix.
-r, --replace
--replace
и --ignore
контролируют
обработку управления параметров входных записей, которые дублируют
существующие записи на уникальных значениях ключа. Если Вы определяете
--replace
, новые строки заменят существующие, которые имеют то
же самое уникальное значение ключа. Если Вы определяете
--ignore
, они будут пропущены. Если Вы не определяете никакой
опции вообще, происходит ошибка, когда найдено двойное значение ключа, а
остальная часть текстового файла игнорируется.
-s, --silent
-S /path/to/socket, --socket=/path/to/socket
localhost
(является заданным по умолчанию компьютером).
-u user_name, --user=user_name
-v, --verbose
-V, --version
mysqlimport
:
$ mysql --version
mysql Ver 9.33 Distrib 3.22.25, for pc-linux-gnu (i686)
$ uname -a
Linux xxx.com 2.2.5-15 #1 Mon Apr 19 22:21:09 EDT 1999 i586 unknown
$ mysql -e 'CREATE TABLE imptest(id INT, n VARCHAR(30))' test
$ ed
a
100 Max Sydow
101 Count Dracula
.
w imptest.txt
32
q
$ od -c imptest.txt
0000000 1 0 0 \t M a x S y d o w \n 1 0
0000020 1 \t C o u n t D r a c u l a \n
0000040
$ mysqlimport --local test imptest.txt
test.imptest: Records: 2 Deleted: 0 Skipped: 0 Warnings: 0
$ mysql -e 'SELECT * FROM imptest' test
+------+---------------+
| id | n |
+------+---------------+
| 100 | Max Sydow |
| 101 | Count Dracula |
+------+---------------+
4.8.8 Показ баз данных таблиц и столбцов
mysqlshow
может использоваться, чтобы быстро посмотреть,
какие базы данных существуют, их таблицы и столбцы этих таблиц.mysql
Вы можете получать ту же самую информацию
командой SHOW
. Подробности в разделе "
4.5.5 Синтаксис SHOW
".mysqlshow
вызывается подобно этому:
shell> mysqlshow [OPTIONS] [database [table [column]]]
*
, ?
, %
или _
),
показывается только то, что согласовано групповым символом. Это может вызвать
некоторый беспорядок, когда Вы пробуете отображать столбцы для таблицы с
символом _
в имени, поскольку в этом случае
mysqlshow
показывает Вам имена, соответствующие образцу. Это
легко устранимо добавлением в конце командной строки символа %
(как отдельный параметр).4.8.9 perror, объяснение кодов ошибок
perror
может использоваться, чтобы печатать сообщения об
ошибках. perror
может вызываться подобно этому:
shell> perror [OPTIONS] [ERRORCODE [ERRORCODE...]]
например:
shell> perror 64 79
Error code 64: Machine is not on the network
Error code 79: Can not access a needed shared library
perror
может использоваться, чтобы отобразить описание для
кода ошибки системы или драйвера таблицы MyISAM/ISAM. Сообщения об ошибках
обычно зависят от системы.4.8.10 Как выполнить команды SQL
из текстового файла
mysql
обычно используется в интерактивном режиме:
shell> mysql database
mysql
читал ввод из того файла. Чтобы сделать так, создайте
текстовый файл text_file, хранящий команды, которые Вы желаете
выполнить. Затем вызовите mysql
как показано ниже:
shell> mysql database < text_file
USE db_name
. В этом случае, не нужно определять имя базы данных
на командной строке:
shell> mysql < text_file
Найди своих коллег! |