<?xml version="1.0"?>
<!DOCTYPE wml PUBLIC "-//WAPFORUM//DTD WML 1.1//EN" "http://www.wapforum.org/ DTD/wml_1.1.xml">

<wml>
<head>
<meta http-equiv="cache-control" content="max-age=180,private" />
</head>
<card title="Mysql的常用命令">
<p>
作者:<a href="index.php?action=showuser&amp;userid=1&amp;hash=">xreacn</a><br />时间:2006-05-20 02:26<br />分类:<a href="index.php?action=list&amp;cid=16&amp;hash=">站点建设</a><br />内容:
 Mysql的常用命令



格式： mysql -h主机地址 -u用户名 －p用户密码 


1、例1：连接到本机上的MYSQL。 


首先在打开DOS窗口，然后进入目录 mysqlbin，再键入命令mysql -uroot -p，回车后提示你输密码，如果刚安装好MYSQL，超级用户root是没有密码的，故直接回车即可进入到MYSQL中了，MYSQL的提示符是：mysql&gt; 


2、例2：连接到远程主机上的MYSQL。假设远程主机的IP为：110.110.110.110，用户名为root,密码为abcd123。则键入以下命令： 


mysql -h110.110.110.110 -uroot -pabcd123 


（注:u与root可以不用加空格，其它也一样） 


3、退出MYSQL命令： exit （回车） 


二、修改密码。 


格式：mysqladmin -u用户名 -p旧密码 password 新密码 


1、例1：给root加个密码ab12。首先在DOS下进入目录mysqlbin，然后键入以下命令 


mysqladmin -uroot -password ab12 


注：因为开始时root没有密码，所以-p旧密码一项就可以省略了。 


2、例2：再将root的密码改为djg345。 


mysqladmin -uroot -pab12 password djg345 


三、增加新用户。（注意：和上面不同，下面的因为是MYSQL环境中的命令，所以后面都带一个分号作为命令结束符） 


格式：grant select on 数据库.* to 用户名@登录主机 identified by \"密码\" 


例1、增加一个用户test1密码为abc，让他可以在任何主机上登录，并对所有数据库有查询、插入、修改、删除的权限。首先用以root用户连入MYSQL，然后键入以下命令： 


grant select,insert,update,delete on *.* to test1@\"%\" Identified by \"abc\"; 


但例1增加的用户是十分危险的，你想如某个人知道test1的密码，那么他就可以在internet上的任何一台电脑上登录你的mysql数据库并对你的数据可以为所欲为了，解决办法见例2。 


例2、增加一个用户test2密码为abc,让他只可以在localhost上登录，并可以对数据库mydb进行查询、插入、修改、删除的操作（localhost指本地主机，即MYSQL数据库所在的那台主机），这样用户即使用知道test2的密码，他也无法从internet上直接访问数据库，只能通过MYSQL主机上的web页来访问了。 


grant select,insert,update,delete on mydb.* to test2@localhost identified by \"abc\"; 


如果你不想test2有密码，可以再打一个命令将密码消掉。 


grant select,insert,update,delete on mydb.* to test2@localhost identified by \"\"; 


在上篇我们讲了登录、增加用户、密码更改等问题。下篇我们来看看MYSQL中有关数据库方面的操作。注意：你必须首先登录到MYSQL中，以下操作都是在MYSQL的提示符下进行的，而且每个命令以分号结束。 


一、操作技巧 


1、如果你打命令时，回车后发现忘记加分号，你无须重打一遍命令，只要打个分号回车就可以了。也就是说你可以把一个完整的命令分成几行来打，完后用分号作结束标志就OK。 


2、你可以使用光标上下键调出以前的命令。但以前我用过的一个MYSQL旧版本不支持。我现在用的是mysql-3.23.27-beta-win。 


二、显示命令 


1、显示数据库列表。 


show databases; 


刚开始时才两个数据库：mysql和test。mysql库很重要它里面有MYSQL的系统信息，我们改密码和新增用户，实际上就是用这个库进行操作。 


2、显示库中的数据表： 


use mysql； ／／打开库，学过FOXBASE的一定不会陌生吧 


show tables; 


3、显示数据表的结构： 


describe 表名; 


4、建库： 


create database 库名; 


5、建表： 


use 库名； 


create table 表名 (字段设定列表)； 


6、删库和删表: 


drop database 库名; 


drop table 表名； 


7、将表中记录清空： 


delete from 表名; 


8、显示表中的记录： 


select * from 表名; 


三、一个建库和建表以及插入数据的实例 


drop database if exists school; //如果存在SCHOOL则删除 


create database school; //建立库SCHOOL 


use school; //打开库SCHOOL 


create table teacher //建立表TEACHER 


( 


id int(3) auto_increment not null primary key, 


name char(10) not null, 


address varchar(50) default ’深圳’, 


year date 


); //建表结束 


//以下为插入字段 


insert into teacher values(’’,’glchengang’,’深圳一中’,’1976-10-10’); 


insert into teacher values(’’,’jack’,’深圳一中’,’1975-12-23’); 


注：在建表中（1）将ID设为长度为3的数字字段:int(3)并让它每个记录自动加一:auto_increment并不能为空:not null而且让他成为主字段primary key（2）将NAME设为长度为10的字符字段（3）将ADDRESS设为长度50的字符字段，而且缺省值为深圳。varchar和char有什么区别呢，只有等以后的文章再说了。（4）将YEAR设为日期字段。 


如果你在mysql提示符键入上面的命令也可以，但不方便调试。你可以将以上命令原样写入一个文本文件中假设为school.sql，然后复制到c:\\下，并在DOS状态进入目录\\mysql\\bin，然后键入以下命令： 


mysql -uroot -p密码 &lt; c:\\school.sql 


如果成功，空出一行无任何显示；如有错误，会有提示。（以上命令已经调试，你只要将//的注释去掉即可使用）。 


四、将文本数据转到数据库中 


1、文本数据应符合的格式：字段数据之间用tab键隔开，null值用\\n来代替. 


例： 


3 rose 深圳二中 1976-10-10 


4 mike 深圳一中 1975-12-23 


2、数据传入命令 load data local infile \"文件名\" into table 表名; 


注意：你最好将文件复制到\\mysql\\bin目录下，并且要先用use命令打表所在的库。 


五、备份数据库：（命令在DOS的\\mysql\\bin目录下执行） 


mysqldump --opt school&gt;school.bbb 


注释:将数据库school备份到school.bbb文件，school.bbb是一个文本文件，文件名任取，打开看看你会有新发现。 


后记：其实MYSQL的对数据库的操作与其它的SQL类数据库大同小异，您最好找本将SQL的书看看。我在这里只介绍一些基本的，其实我也就只懂这些了，呵呵。最好的MYSQL教程还是“晏子“译的“MYSQL中文参考手册“不仅免费每个相关网站都有下载，而且它是最权威的。可惜不是象\"PHP4中文手册\"那样是chm的格式，在查找函数命令的时候不太方便

</p><p>
<a href="index.php?action=login&amp;hash=">立即登陆发表评论</a><br />
</p>
<p><a href="index.php?action=list&amp;hash=">返回日志列表</a><br /><a href="index.php?action=index&amp;hash=">返回主页</a></p>
</card>
</wml>
