一、连接MYSQL
格式: mysql -h主机地址 -u用户名 -p用户密码
1、例 1:连接到本机上的 MYSQL。
首先在打开DOS窗口,然后进入目录 [mysql]-[bin],再键入命令mysql -uroot -p,回车后提示你输密码,如果刚安装好MYSQL,终极用户 root是没有密码的,故直接回车即可进入到MYSQL中了,MYSQL的提示符是:mysql>
2、例2:连接到远程主机上的MYSQL。假设远程主机的IP为: 110.110.110.110,用户名为root,密码为 abcd123。则键入以下命令:
mysql -h110.110.110.110 -uroot -pabcd123 (注:u和 root之间不用加空格,其他也相同)
退出MYSQL命令: exit (回车)
二、修改密码
格式:mysqladmin -u用户名 -p 旧密码 password 新密码
1、例1:给root加个密码 ab12。首先在DOS下进入目录[mysql]-[bin],然后键入以下命令
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、启动 MySQL服务器
两种方法:
一、是用winmysqladmin,如果机器启动时已自动运行,则可直接进入下一步操作。
二、是在 DOS方式下运行 d:\mysql\bin\mysqld
2、进入mysql交互操作界面
在 DOS方式下,运行: d:\mysql\bin\mysql ,出现【mysql】的提示符,此时已进入mysql的交互操作方式。 如果出现"ERROR 2003: Can’t connect to MySQL server on ’localhost’ (10061)“, 说明你的MySQL还没有启动。
3、退出 MySQL操作界面
在mysql>提示符下输入quit或者exit能随时退出交互操作界面。
4、第一条命令
mysql> select version(),current_date();
+----------------+-----------------+
| version() | current_date() |
+----------------+-----------------+
| 5.5.30 | 2013-05-17 |
+----------------+-----------------+
1 row in set (0.01 sec)
mysql 命令的大小写结果是一致的。
5、多行语句
一条命令能分成多行输入,直到出现分号“;”为止:
mysql> select
-> USER()
-> ,
-> now()
->;
6、一行多命令
输入如下命令:
mysql> SELECT USER(); SELECT NOW();
7、显示当前存在的数据库
mysql> show databases;
8、选择数据库并显示当前选择的数据库
mysql> USE mysql (选择数据库;USE 和 QUIT 命令不必分号结束。)
Database changed
mysql> select database(); (显示当前选择的数据库,如未选择,则结果为空)
+---------------+
| database()|
+---------------+
| mysql |
+---------------+
1 row in set (0.00 sec)
9、显示当前数据库中存在的表
mysql> SHOW TABLES;
10、命令的取消
当命令输入错误而又无法改动(多行语句情形)时,只要在分号出现前就能用 c 来取消该条命令
mysql> select
-> user()
-> c
mysql>
11、创建一个数据库abccs
mysql> CREATE DATABASE abccs;
注意不同操作系统对大小写的敏感。
12、选择你所创建的数据库
mysql> USE abccs
Database changed
此时你已进入你刚才所建立的数据库 abccs.
创建表:
mysql> CREATE TABLE mytable (name VARCHAR(20), sex CHAR(1),
-> birth DATE, birthaddr VARCHAR(20));
13、用文本方式将数据装入一个数据库表
如果一条一条地输入,非常麻烦。我们能用文本文件的方式将所有记录加入你的数据库表中。
创建一个文本文件“mysql.txt”,每行包含一个记录,用定位符(tab)把值分开,并且以在 CREATE TABLE语句中列出的列次序给出,例如:
abccs f 1977-07-07 china
mary f 1978-12-12 usa
tom m 1970-09-02 usa
使用下面命令将文本文件“mytable.txt”装载到mytable表中:
mysql> LOAD DATA LOCAL INFILE "d:/mytable.txt" INTO TABLE mytable;
其中“d:/mytable.txt”为绝对路径。如果只写“mytable.txt” ,则需要放置到mysql的安装目录中????,
14、用批处理方式使用MySQL:
首先建立一个批处理文件mytest.sql,内容如下:
use abccs;
select * from mytable;
select name,sex from mytable where name=’abccs’;
在 DOS下运行如下命令:
d:\mysql\bin mysql < mytest.sql
在屏幕上会显示执行结果。 如果想看结果,而输出结果非常多,则能用这样的命令:
mysql < mytest.sql | more
我们还能将结果输出到一个文件中:
mysql < mytest.sql > mytest.out