Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1004120
  • 博文数量: 195
  • 博客积分: 4890
  • 博客等级: 上校
  • 技术积分: 2221
  • 用 户 组: 普通用户
  • 注册时间: 2009-06-09 15:34
文章分类

全部博文(195)

文章存档

2014年(1)

2013年(8)

2012年(22)

2011年(9)

2010年(54)

2009年(101)

我的朋友

分类: Mysql/postgreSQL

2009-10-21 14:56:55

mysql命令行常用命令(转) 
第一招、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 Identified by "password1";
如果希望该用户能够在任何机器上登陆mysql,则将localhost改为"%"。
如果你不想user1有密码,可以再打一个命令将密码去掉。
grant select,insert,update,delete on mydb.* to 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 (回车)

 

 

 

 

 

MySQL的客户端命令行工具,有很多方便使用者的特性,某些方面甚至可以说比Oracle的sqlplus更加人性化。当然从整体来说,还是sqlplus更加方便些,这么说或许是我对sqlplus更加熟悉吧。这里记录下MySQL命令行几个比较常用的特性。

1.使用\G按行垂直显示结果
如果一行很长,需要这行显示的话,看起结果来就非常的难受。在SQL语句或者命令后使用\G而不是分号结尾,可以将每一行的值垂直输出。这个可能也是大家对于MySQL最熟悉的区别于其他数据库工具的一个特性了。

mysql> select * from db_archivelog\G
*************************** 1. row ***************************
        id: 1
 check_day: 2008-06-26
   db_name: TBDB1
  arc_size: 137
   arc_num: 166
per_second: 1.6
  avg_time: 8.7

2.使用pager设置显示方式
如果select出来的结果集超过几个屏幕,那么前面的结果一晃而过无法看到。使用pager可以设置调用os的more或者less等显示查询结果,和在os中使用more或者less查看大文件的效果一样。
使用more

mysql> pager more
PAGER set to 'more'
mysql> \P more
PAGER set to 'more'

使用less

mysql> pager less
PAGER set to 'less'
mysql> \P less
PAGER set to 'less'

还原成stdout

mysql> nopager
PAGER set to stdout

3.使用tee保存运行结果到文件
这个类似于sqlplus的spool功能,可以将命令行中的结果保存到外部文件中。如果指定已经存在的文件,则结果会附加到文件中。

mysql> tee output.txt
Logging to file 'output.txt'
或者
mysql> \T output.txt
Logging to file 'output.txt'

mysql> notee
Outfile disabled.
或者
mysql> \t
Outfile disabled.

4.执行OS命令

mysql> system uname
Linux
mysql> \! uname
Linux

5.执行SQL文件

mysql> source test.sql
+----------------+
| current_date() |
+----------------+
| 2008-06-28     |
+----------------+
1 row in set (0.00 sec)
或者
mysql> \. test.sql
+----------------+
| current_date() |
+----------------+
| 2008-06-28     |
+----------------+
1 row in set (0.00 sec)

其他还有一些功能,可以通过help或者?获得MySQL命令行支持的一些命令。

阅读(1042) | 评论(0) | 转发(0) |
0

上一篇:php.ini配置文件详解

下一篇:JSP基础知识

给主人留下些什么吧!~~