MySQL实用命令

一) 连接MYSQL:

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

1、例1:连接到本机上的MYSQL
   首先在打开DOS窗口,然后进入mysql安装目录下的bin目录下,例如: D:\mysql\bin,再键入命令mysql -uroot -p,回车后提示你输密码,如果刚安装好MYSQL,超级用户root是没有密码的,故直接回车即可进入到MYSQL中了,MYSQL的提示符是:mysql> 
2、例2:连接到远程主机上的MYSQL
   假设远程主机的IP为:10.0.0.1,用户名为root,密码为123。则键入以下命令:
   mysql -h10.0.0.1 -uroot -p123 
  (注:u与root可以不用加空格,其它也一样) 
3、退出MYSQL命令
   exit (回车) 

(二) 修改密码:
   格式:mysqladmin -u用户名 -p旧密码 password 新密码 
1、例1:给root加个密码123。首先在DOS下进入目录C:\mysql\bin,然后键入以下命令:
   mysqladmin -uroot -password 123 
   注:因为开始时root没有密码,所以-p旧密码一项就可以省略了。 
2、例2:再将root的密码改为456
   mysqladmin -uroot -pab12 password 456 
(三) 增加新用户:(注意:和上面不同,下面的因为是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 ""; 
(四) 显示命令
1、显示数据库列表:
   show databases; 
   刚开始时才两个数据库:mysql和test。mysql库很重要它里面有MYSQL的系统信息,我们改密码和新增用户,实际上就是用这个库进行操作。 
2、显示库中的数据表:
   use mysql; //打开库
   show tables; 
3、显示数据表的结构:
   describe 表名; 
4、建库:
   create database 库名; 
5、建表:
   use 库名; 
   create table 表名 (字段设定列表); 
6、删库和删表:
   drop database 库名; 
   drop table 表名; 
7、将表中记录清空:
   delete from 表名; 
8、显示表中的记录:
   select * from 表名;


另附SQL二十三个常用命令:

一、打开连接

格式:mysql –h<url> –u<username> –p<password>

参数说明:<url>服务器地址<username>用户名<password>密码

二、增加用户

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

例:增加用户名为db315 密码为db315 的超级管理员帐号.

grant select, insert, update,delete on mydb.* to db315@localhost

identified by "db315";

三、更改密码

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

例:把帐号db315 的密码改为db315.cn。

mysqladmin -uroot –pdb315 password db315.cn

四、显示数据库列表

格式:show databases

五、显示库中的数据表

格式:use <database>; show tables;

参数说明:<database>数据库名称

学习笔记之Mysql 命令行操作java 学习群:40671932

六、显示表结构

格式:use <database>; desc <table>;

参数说明:<database>数据库名称,<table>需显示表结构的表名

七、建库

格式:create database <database_name>

参数说明:<database_name>数据库名称

八、建表

格式:use <database_name>; create table <table_name> (字段设定列表)

参数说明:<table_name>新建表的名称

(字段设定列表)如:id int not null,

九、删库或删表

格式: drop database <database_name>; drop table <table_name>

十、插入数据

格式:insert into user(<name1>,<name2>) value(value1,value2)

参数说明:<name>字段名称<value>字段值

十一、查询数据

格式:select * from <table_name> where <条件>

学习笔记之Mysql 命令行操作java 学习群:40671932

-3-

例:select * from user where id=2;

十二、更新数据

格式:update <table_user> set <字段名称>=<值> where <条件>

例:把ID 为2的记录用户名(username)的值更改为china.

Update user set username=’china’ where id=2;

十三、清空表中的记录

格式:delete from <table_name> <条件>

例:delete from user where id=2;

十四、增加字段

格式:alter table table_name add column column_name type default ;

参数说明:table_name 表名称column_name 字段名type 字段类型

例:alter table user add column tel varchar(12) default ‘’;

在表user 中增加一个字段tel 类型为varchar 值为空.

十五、更改字段名称

格式:alter table table_name change sorce_col_name dest_col_name type

default ;

参数说明:table_name 指表名,source_col_name 指原来的字段名称,

dest_col_name 指改后的字段名称

例如:alter table user change tel intro varchar(33) default null;

十六、更改字段默认值

格式:alter table table_name alter column_name set default ;

例:alter table user alter tel set default null;

十七、更改字段数据类型

格式:alter table table_name change column column_name column_name type;

例:alter table user change column username username varchar(20);

十八、增加主键

格式: alter table table_name add column column_name type

auto_increment PRIMARY KEY;

例如:alter table user add column id int(10) auto_increment PRIMARY KEY

十九、导入SQL文件

格式: mysql –u<username> –p<password> < <Sql_file>

例:mysql –uroot –pmaowei < c:\user.sql

二十、导入文本文件

格式:load data local infile “file_path” into table <table_name>

参数说明:“file_path” 文件路径<table_name>表名

注:1、文本数据应符合的格式:字段数据之间用tab 键隔开,null 值

用\n 来代替.

例: d:\user.txt 中的数据为

1 cc abcdef easyjf@easyjf.com

2 dd abcdef \n

3 ee aaaaaa maoweiwer@163.com

4 ff aaaaaa ksmwly@db315.cn

二十一、备份数据库

格式:mysqldump –u <username> -p <database> > <data_name>

参数说明:<username>用户名<database>需备份的数据库

<data_name>导出文件名

例:将数据库db315 备份到C盘根目录下的db315.sql 文件中.

mysqldump –u root –p db315 > c:\db315.sql

二十二、导出数据

格式:select * from user into outfile "dest_file";

例:将数据表user 导出到Excel 文件中

select * from user into outfile"c:\user.xls";

二十三、退出Mysql

命令环境

格式:exit



解决mysql默认安装不能远程登陆的问题

grant all privileges on *.* to root@"%" identified by "password";
查看数据库所有用户
select user,Host from mysql.user;