返回首页
当前位置: 主页 > 开发手册 > 数据库 > MySql >

MySQL命令的常用大汇总

时间:2010-08-18 08:19来源:互联网 作者:UNOVO整理 点击:
MySQL命令的常用大汇总
  

第1页:MySQL命令的常用大汇总的目录页

第2页:

一、MySQL服务的启动和停止
二、连接MySQL
三、修改密码
四、增加新用户
五、创建数据库及表的一些常用语句

第页:附录引用资料来源

  一、连接MYSQL

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

  1、连接到本机上的MYSQL

  首先打开DOS窗口,然后进入目录mysql\bin,再键入命令mysql -u root -p,回车后提示你输密码.注意用户名前可以有空格也可以没有空格,但是密码前必须没有空格,否则让你重新输入密码.

  如果刚安装好MYSQL,超级用户root是没有密码的,故直接回车即可进入到MYSQL中了,MYSQL的提示符是: mysql>

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

  mysql -h110.110.110.110 -u root -p 123;(注:u与root之间可以不用加空格,其它也一样)

  3、退出MYSQL命令: exit (回车)

  二、修改密码。

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

  1、给root加个密码ab12。首先在DOS下进入目录mysql\bin,然后键入以下命令

  mysqladmin -u root -password ab12

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

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

  mysqladmin -u root -p ab12 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";

  但增加的用户是十分危险的,你想如某个人知道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、你可以使用光标上下键调出以前的命令

  二、显示命令

  1、显示当前数据库服务器中的数据库列表:

  mysql> SHOW DATABASES;

  注意:mysql库里面有MYSQL的系统信息,我们改密码和新增用户,实际上就是用这个库进行操作。

  2、显示数据库中的数据表:

  mysql> USE 库名;

  mysql> SHOW TABLES;

  3、显示数据表的结构:

  mysql> DESCRIBE 表名;

  4、建立数据库:

  mysql> CREATE DATABASE 库名;

  5、建立数据表:

  mysql> USE 库名;

  mysql> CREATE TABLE 表名 (字段名 VARCHAR(20), 字段名 CHAR(1));

  6、删除数据库:

  mysql> DROP DATABASE 库名;

  7、删除数据表:

  mysql> DROP TABLE 表名;

  8、将表中记录清空:

  mysql> DELETE FROM 表名;

  9、显示表中的记录:

  mysql> SELECT * FROM 表名;

  10、往表中插入记录:

  mysql> INSERT INTO 表名 VALUES ("hyq","M");

  11、更新表中数据:

  mysql-> UPDATE 表名 SET 字段名1='a',字段名2='b' WHERE 字段名3='c';

  12、用文本方式将数据装入数据表中:

  mysql> LOAD DATA LOCAL INFILE "D:/mysql.txt" INTO TABLE 表名;

  13、导入.sql文件命令

  mysql> USE 数据库名;

  mysql> SOURCE d:/mysql.sql;

  14、命令行修改root密码:

  mysql> UPDATE mysql.user SET password=PASSWORD('新密码') WHERE User='root';

  mysql> FLUSH PRIVILEGES;

  注意用此种方法修改密码时别忘了 password=password('新密码') 如果直接用 password='新密码',下次登录时会出现问题以至于登录不进去,因为此密码没用经过password()函数处理,这样写入到user表中的密码系统不能识别就会显示用户名和密码错误的信息。

  如果在修改密码的过程中出现问题以至于没有一个用户可以进入mysql则可以用以下的方法重新修改用户名和密码:

  bin>mysqld --skip-grant-tables;然后再在 另外一个bin>mysql 便可直接进入mysql ,进入后便修改相关数据。

  15、显示use的数据库名:

  mysql> SELECT DATABASE();

  16、显示当前的user:

  mysql> SELECT USER();

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

  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('','allen','大连一中','1976-10-10');

  insert into teacher values('','jack','大连二中','1975-12-23');

  如果你在mysql提示符键入上面的命令也可以,但不方便调试。

  (1)你可以将以上命令原样写入一个文本文件中,假设为school.sql,然后复制到c:\\下,并在DOS状态进入目录\\mysql\\bin,然后键入以下命令

  mysql -uroot -p密码 < c:\\school.sql

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

  (2)或者进入命令行后使用 mysql> source c:\\school.sql; 也可以将school.sql文件导入数据库中。

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

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

  3 rose 大连二中 1976-10-10

  4 mike 大连一中 1975-12-23

  假设你把这两组数据存为school.txt文件,放在c盘根目录下。

  2、数据传入命令 load data local infile "c:\\school.txt" into table 表名;

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

  五、备份数据库:(命令在DOS的\\mysql\\bin目录下执行)

  1.导出整个数据库

  导出文件默认是存在mysql\bin目录下

  mysqldump -u 用户名 -p 数据库名 > 导出的文件名

  mysqldump -u user_name -p123456 database_name > outfile_name.sql

  2.导出一个表

  mysqldump -u 用户名 -p 数据库名 表名> 导出的文件名

  mysqldump -u user_name -p database_name table_name > outfile_name.sql

  3.导出一个数据库结构

  mysqldump -u user_name -p -d --add-drop-table database_name > outfile_name.sql

  -d 没有数据 --add-drop-table 在每个create语句之前增加一个drop table

  4.带语言参数导出

  mysqldump -uroot -p --default-character-set=latin1 --set-charset=gbk --skip-opt database_name > outfile_name.sql

  -------------------------------------------------- --------------------------------------------------- ----------------------

  第一招、mysql服务的启动和停止

  net stop mysql

  net start mysql

  第二招、登陆mysql

  语法如下: mysql -u用户名 -p用户密码

  键入命令mysql -uroot -p, 回车后提示你输入密码,输入12345,然后回车即可进入到mysql中了,mysql的提示符是:

  mysql>

  注意,如果是连接到另外的机器上,则需要加入一个参数-h机器IP

  第三招、增加新用户

  格式:grant 权限 on 数据库.* to 用户名@登录主机 identified by "密码"

  如,增加一个用户user1密码为password1,让其可以在本机上登录, 并对所有数据库有查询、插入、修改、删除的权限。首先用以root用户连入mysql,然后键入以下命令

  grant select,insert,update,delete on *.* to user1@localhost Identified by "password1";

  如果希望该用户能够在任何机器上登陆mysql,则将localhost改为"%"。

  如果你不想user1有密码,可以再打一个命令将密码去掉。

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

  第四招: 操作数据库

  登录到mysql中,然后在mysql的提示符下运行下列命令,每个命令以分号结束。

  1、 显示数据库列表。

  show databases;

  缺省有两个数据库:mysql和test。 mysql库存放着mysql的系统和用户权限信息,我们改密码和新增用户,实际上就是对这个库进行操作。

  2、 显示库中的数据表:

  use mysql;

  show tables;

  3、 显示数据表的结构:

  describe 表名;

  4、 建库与删库:

  create database 库名;

  drop database 库名;

  5、 建表:

  use 库名;

  create table 表名(字段列表);

  drop table 表名;

  6、 清空表中记录:

  delete from 表名;

  7、 显示表中的记录:

  select * from 表名;

  第五招、导出和导入数据

  1. 导出数据:

  mysqldump --opt test > mysql.test

  即将数据库test数据库导出到mysql.test文件,后者是一个文本文件

  如:mysqldump -u root -p123456 --databases dbname > mysql.dbname

  就是把数据库dbname导出到文件mysql.dbname中。

  2. 导入数据:

  mysqlimport -u root -p123456 < mysql.dbname。

  不用解释了吧。

  3. 将文本数据导入数据库:

  文本数据的字段数据之间用tab键隔开。

  use test;

  load data local infile "文件名" into table 表名;

  1:使用SHOW语句找出在服务器上当前存在什么数据库:

  mysql> SHOW DATABASES;

  2:2、创建一个数据库MYSQLDATA

  mysql> CREATE DATABASE MYSQLDATA;

  3:选择你所创建的数据库

  mysql> USE MYSQLDATA; (按回车键出现Database changed 时说明操作成功!)

  4:查看现在的数据库中存在什么表

  mysql> SHOW TABLES;

  5:创建一个数据库表

  mysql> CREATE TABLE MYTABLE (name VARCHAR(20), sex CHAR(1)); 6:显示表的结构:

  mysql> DESCRIBE MYTABLE;

  7:往表中加入记录

  mysql> insert into MYTABLE values ("hyq","M");

  8:用文本方式将数据装入数据库表中(例如D:/mysql.txt)

  mysql> LOAD DATA LOCAL INFILE "D:/mysql.txt" INTO TABLE MYTABLE;

  9:导入.sql文件命令(例如D:/mysql.sql)

  mysql>use database;

  mysql>source d:/mysql.sql;

  10:删除表

  mysql>drop TABLE MYTABLE;

  11:清空表

  mysql>delete from MYTABLE;

  12:更新表中数据

  mysql>update MYTABLE set sex="f" where name='hyq';

  posted on 2006-01-10 16:21 happytian 阅读(6) 评论(0) 编辑 收藏 收藏至365Key

  13:备份数据库

  mysqldump -u root 库名>xxx.data

  14:例2:连接到远程主机上的MYSQL

  假设远程主机的IP为:110.110.110.110,用户名为root,密码为abcd123。则键入以下命令

  mysql -h110.110.110.110 -uroot -pabcd123

  (注:u与root可以不用加空格,其它也一样)

  3、退出MYSQL命令: exit (回车)

  -------------------------------------------------- --------------------------------------------------- -------

  1、启动MySQL服务器

  实际上上篇已讲到如何启动MySQL。两种方法: 一是用winmysqladmin,如果机器启动时已自动运行,则可直接进入下一步操作。 二是在DOS方式下运行

  d:mysqlbinmysqld

  2、进入mysql交互操作界面

  在DOS方式下,运行: d:mysqlbinmysql

  出现: mysql 的提示符,此时已进入mysql的交互操作方式。

  如果出现 "ERROR 2003: Can′t connect to MySQL server on ′localhost′ (10061)",

  说明你的MySQL还没有启动。

  3、退出MySQL操作界面

  在mysql>提示符下输入quit可以随时退出交互操作界面:

  mysql> quit

  Bye

  你也可以用control-D退出。

  4、第一条命令

  mysql> select version(),current_date();

  +----------------+-----------------+

  | version() | current_date() |

  +----------------+-----------------+

  | 3.23.25a-debug | 2001-05-17 |

  +----------------+-----------------+

  1 row in set (0.01 sec)

  mysql>

  此命令要求mysql服务器告诉你它的版本号和当前日期。尝试用不同大小写操作上述命令,看结果如何。结果说明mysql命令的大小写结果是一致的。

  练习如下操作:

  mysql>Select (20+5)*4;

  mysql>Select (20+5)*4,sin(pi()/3);

  mysql>Select (20+5)*4 AS Result,sin(pi()/3); (AS: 指定假名为Result)

      <B>5、多行语句</B>

      一条命令可以分成多行输入,直到出现分号";"为止:

  <ccid_nobr>

  <table width="400" border="1" cellspacing="0"

  cellpadding="2"

  bordercolorlight = "black" bordercolordark = "#FFFFFF"

  align="center">

  <tr>

  <td bgcolor="e6e6e6" class="code" style="font-size:9pt">

  <pre><ccid_code> mysql> select

  -> USER()

  -> ,

  -> now()

  ->;

  +--------------------+---------------------+

  | USER() | now() |

  +--------------------+---------------------+

  | ODBC@localhost | 2001-05-17 22:59:15 |

  +--------------------+---------------------+

  1 row in set (0.06 sec)

  mysql>

  注意中间的逗号和最后的分号的使用方法。

  -------------------------------------------------- --------------------------------------------------- -----------------

  6、一行多命令

  输入如下命令

  mysql> SELECT USER(); SELECT NOW();

  +------------------+

  | USER() |

  +------------------+

  | ODBC@localhost |

  +------------------+

  1 row in set (0.00 sec)

  +---------------------+

  | NOW() |

  +---------------------+

  | 2001-05-17 23:06:15 |

  +---------------------+

  1 row in set (0.00 sec)

  mysql>

  注意中间的分号,命令之间用分号隔开。

  7、显示当前存在的数据库

  mysql> show databases;

  +----------+

  | Database |

  +----------+

  | mysql |

  | test |

  +----------+

  2 row in set (0.06 sec)

  mysql>

  8、选择数据库并显示当前选择的数据库

  mysql> USE mysql

  Database changed

  mysql>

  (USE 和 QUIT 命令不需要分号结束。)

  mysql> select database();

  +---------------+

  | database() |

  +---------------+

  | mysql |

  +---------------+

  1 row in set (0.00 sec)

  9、显示当前数据库中存在的表

  mysql> SHOW TABLES;

  10、显示表(db)的内容

  mysql>select * from db;

  11、命令的取消

  当命令输入错误而又无法改变(多行语句情形)时,只要在分号出现前就可以用 c来取消该条命令

  mysql> select

  -> user()

  -> c

  mysql>

顶一下
(0)
0%
踩一下
(0)
0%
------分隔线----------------------------
最新评论 查看所有评论
发表评论 查看所有评论
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
评价:
表情:
用户名: 密码: 验证码:
推荐内容

友情赞助: