MySQL 如何导入导出数据

[size=large][b]MySQL 如何导入导出数据

使用mysqldump:(mysqldump命令位于默认安装C:\Program Files\MySQL\MySQL Server 5.1\bin目录中),mysqldump工具很多方面类似相反作用的工具mysqlimport,它们有一些同样的选项。但mysqldump能够做更多的事情,它可以把整个数据库装载到一个单独的文本文件中。这个文件包含有所有重建您的数据库所需要的SQL命令。这个命令取得所有的模式(Schema,后面有解释)并且将其转换成DDL语法(CREATE语句,即数据库定义语句),取得所有的数据,并且从这些数据中创建INSERT语句,这个工具将您的数据库中所有的设计倒转。因为所有的东西都被包含到了一个文本文件中,这个文本文件可以用一个简单的批处理和一个合适SQL语句导回到MySQL中,这个工具令人难以置信地简单而快速。

因此,如果您想装载整个数据库test的内容到一个文件中,可以使用下面的命令:
C:\Program Files\MySQL\MySQL Server 5.1\bin>mysqldump -uroot -p test > d:test_file.txt

C:\Program Files\MySQL\MySQL Server 5.1\bin>mysqldump -uroot -p test > d:test_file.sql

执行这二条语句是一样的效果,只是文件后缀名格式不一样,导出的数据信息是完全一样的。

这个命令也允许您指定一个表进行dump(备份/导出/装载)。如果您只是希望把数据库test中的表friend的整个内容导出到一个文件,可以使用下面的命令:

C:\Program Files\MySQL\MySQL Server 5.1\bin>mysqldump -uroot -p test friend > d:friend.sql

 如果你想把数据库test中的表,有选择性的选择表导出到一个文件,也可以使用下面的命令:

  C:\Program Files\MySQL\MySQL Server 5.1\bin>mysqldump -uroot -p test friend pet telephone owner vote >d:my2009.sql


在试试这个命令的强大功能吧:

  导出所有表和所有数据,只需执行简单的下面那条命令就OK。

  C:\Program Files\MySQL\MySQL Server 5.1\bin>mysqldump -u root -p --default-character-set=latin1 test > d:test_file.sql


CREATE TABLE `telephone` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`tname` char(20) DEFAULT NULL,
`handset` char(20) DEFAULT NULL,
`housephone` char(20) DEFAULT NULL,
`officephone` char(20) DEFAULT NULL,
`faxes` char(20) DEFAULT NULL,
`remark` varchar(255) DEFAULT NULL,
PRIMARY KEY (`id`),
UNIQUE KEY `handset` (`handset`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1 COMMENT='通讯录';

****************************************************************************************

MySQL 模糊查询全文索引,不同字段的SQL中文编码索引:

许多朋友在使用mysql进行中文模糊查找时(如select * from telephone where tname like "%中文%"),就象我现在一样,查寻不到记录结果,显示0条记录。如何解决这个问题呢?按如下SQL语句执行试试吧:

SELECT * FROM telephone WHERE tname REGEXP "芳";

SELECT * FROM telephone WHERE handset REGEXP "159";

SELECT * FROM telephone WHERE tname like binary "%姚%";





数据类型 描述

INT 整数值。MySQL允许INT是有符号的或无符号的
REAL 浮点值。这种类型提供了比INT类型更大的范围和更高的精度,但是不如INT准确
CHAR 定长字符值。CHAR字段不能保存比指定长度值更长的字符串。短于指定长度的字段用空白填充。这种类型是在任何SQL实现中最常用的类型。
VARCHAR 变长字符值
TEXT 变长字符值
DATE 标准日期值。DATE类型存储过去、现在和未来任意的日期
TIME 标准时间值。这种类型存储与日期无关的一天时间。在与日期同时使用时,可以存储指定的日期和时间。MySQL另外提供了DATETIME类型,以在一个字段中存储日期和时间。


MySQL数据库常用命


1、MySQL常用命令

create database name; 创建数据库

use database name; 选择数据库

drop database name 直接删除数据库,不提醒

show tables; 显示表

desc tablename; 表的详细描述

select 中加上distinct去除重复字段

mysqladmin drop databasename 删除数据库前,有提示。

显示当前mysql版本和当前日期

select version(),current_date;

2、修改mysql中root的密码:

如果忘记了MySQL的root密码,大家可以用以下方法重新设置:

mysql> update mysql.user set password=password("sh2009") where user='root';

mysql> flush privileges //刷新数据库

重新启动MySQL,重启后就可以使用新密码登录了。


mysql>use dbname; 打开数据库:

mysql>show databases; 显示所有数据库

mysql>show tables; 显示数据库mysql中所有的表:先use mysql;然后

mysql>describe user; 显示表mysql数据库中user表的列信息);

3、grant

创建一个可以从任何地方连接服务器的一个完全的超级用户,但是必须使用一个口令something做这个

mysql> grant all privileges on *.* to user@localhost identified by ’something’ with

增加新用户

格式:grant select on 数据库.* to 用户名@登录主机 identified by “密码”

GRANT ALL PRIVILEGES ON *.* TO monty@localhost IDENTIFIED BY ’something’ WITH GRANT OPTION;

GRANT ALL PRIVILEGES ON *.* TO monty@”%” IDENTIFIED BY ’something’ WITH GRANT OPTION;

删除授权:

mysql> revoke all privileges on *.* from root@”%”;

mysql> delete from user where user=”root” and host=”%”;

mysql> flush privileges;

创建一个用户custom在特定客户端it363.com登录,可访问特定数据库fangchandb

mysql >grant select, insert, update, delete, create,drop on fangchandb.* to custom@ it363.com identified by ‘ passwd’

重命名表:

mysql > alter table t1 rename t2;


恢复数据库

shell> mysqladmin -h myhost -u root -p create dbname

shell> mysqldump -h host -u root -p dbname < dbname_backup.sql


如果只想卸出建表指令,则命令如下:

shell> mysqladmin -u root -p -d databasename > a.sql

如果只想卸出插入数据的sql命令,而不需要建表命令,则命令如下:

shell> mysqladmin -u root -p -t databasename > a.sql

那么如果我只想要数据,而不想要什么sql命令时,应该如何操作呢?

   mysqldump -T./ phptest driver

其中,只有指定了-T参数才可以卸出纯文本文件,表示卸出数据的目录,./表示当前目录,即与mysqldump同一目录。如果不指定driver 表,则将卸出整个数据库的数据。每个表会生成两个文件,一个为.sql文件,包含建表执行。另一个为.txt文件,只包含数据,且没有sql指令。

5、可将查询存储在一个文件中并告诉mysql从文件中读取查询而不是等待键盘输入。可利用外壳程序键入重定向实用程序来完成这项工作。例如,如果在文件my_file.sql 中存放有查

询,可如下执行这些查询:

例如,如果您想将建表语句提前写在sql.txt中:

mysql > mysql -h myhost -u root -p database < sql.txt


自动备份MySQL数据库脚本:


@echo off
echo.
echo MySQL数据库备份

echo *****************************
echo.
echo 今天是 %date%
echo 时间是 %time%
echo.
echo *****************************


set "Ymd=%date:~,4%%date:~5,2%%date:~8,2%"

md "D:\bat\%Ymd%"

"C:\Program Files\MySQL\MySQL Server 5.1\bin\mysqldump" --opt -Q -uroot -p2008 --default-character-set=latin1

test messagelist > "D:\bat\%Ymd%\messagelist.sql"

echo.

echo MySQL数据库备份完成,请进行检查。。。

echo.
echo.

pause[/b][/size]
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值