mysql命令[转]

来自:

 

一、连接受本机上的MYSQL。
率先张开DOS窗口,然后进入目录mysql\bin,再键入命令mysql -u root
-p,回车后提醒您输密码.注意用户名前能够有空格也能够未有空格,可是密码前必须未有空格,否则让您重新输入密码。

万1刚安装好MYSQL,拔尖用户root是一贯不密码的,故直接回车就能够进入到MYSQL中了,MYSQL的唤起符是:
mysql>

二、连接到长途主机上的MYSQL。若是远程主机的IP为:110.110.110.1拾,用户名叫root,密码为abcd1二三。则键入以下命令:
    mysql -h1十.1十.1十.1十 -u root -p
1二叁;(注:u与root之间能够毫不加空格,别的也一律)

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

 

1、连接Mysql

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

壹、连接受本机上的MYSQL。
率先张开DOS窗口,然后进入目录mysql\bin,再键入命令mysql -u root
-p,回车后提示您输密码.注意用户名前能够有空格也得以未有空格,不过密码前务必未有空格,不然令你再一次输入密码。

若果刚安装好MYSQL,一级用户root是从未密码的,故直接回车就可以进入到MYSQL中了,MYSQL的提示符是:
mysql>

二、连接到长途主机上的MYSQL。举个例子远程主机的IP为:110.1十.110.110,用户名叫root,密码为abcd1二三。则键入以下命令:
    mysql -h110.110.1十.110 -u root -p
1贰三;(注:u与root之间能够绝不加空格,其余也自始至终)

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

 

二、修改密码

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

1、给root加个密码ab1二。
先是在DOS下进入目录mysql\bin,然后键入以下命令
    mysqladmin -u root -password ab12
注:因为开首时root没有密码,所以-p旧密码一项就足以简轻易单了。

二、再将root的密码改为djg3四伍。
    mysqladmin -u root -p ab12 password djg345

2、修改密码

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

一、给root加个密码ab12。
先是在DOS下进入目录mysql\bin,然后键入以下命令
    mysqladmin -u root -password ab12
注:因为起初时root没有密码,所以-p旧密码1项就足以差不离了。

二、再将root的密码改为djg3四五。
    mysqladmin -u root -p ab12 password djg345

三、扩展新用户

留意:和地点分化,上面包车型大巴因为是MYSQL情形中的命令,所现在边都带一个分号作为命令停止符

格式:grant select on 数据库.* to 用户名@登六主机 identified by
“密码”

一、扩大三个用户test壹密码为abc,让她能够在别的主机上登6,并对全体数据库有查询、插入、修改、删除的权柄。首先用root用户连入MYSQL,然后键入以下命令:
    grant select,insert,update,delete on *.* to
[email=test1@”%]test1@”%[/email]” Identified by “abc”;

但增添的用户是相当险恶的,你想如某些人驾驭test一的密码,那么他就足以在internet上的其余一台Computer上登入你的mysql数据库并对您的多寡可以为所欲为了,化解办法见二。

二、增添三个用户test2密码为abc,让她只可以够在localhost上登6,并得以对数据库mydb进行查询、插入、修改、删除的操作(localhost指本地主机,即MYSQL数据库所在的那台主机),那样用户即利用知道test2的密码,他也无从从internet上直接待上访问数据库,只可以通过MYSQL主机上的web页来访问了。
    grant select,insert,update,delete on mydb.* to
[email=test2@localhost]test2@localhost[/email] identified by
“abc”;

举个例子您不想test②有密码,能够再打三个命令将密码消掉。
    grant select,insert,update,delete on mydb.* to
[email=test2@localhost]test2@localhost[/email] identified by “”;

 

叁、扩大新用户

留意:和方面不相同,下边包车型地铁因为是MYSQL景况中的命令,所在此从前面都带3个支行作为命令截止符

格式:grant select on 数据库.* to 用户名@登入主机 identified by
“密码”

一、增加贰个用户test一密码为abc,让她能够在别的主机上登入,并对负有数据库有查询、插入、修改、删除的权位。首先用root用户连入MYSQL,然后键入以下命令:
    grant select,insert,update,delete on *.* to
[email=test1@”%]test1@”%[/email]” Identified by “abc”;

但净增的用户是尤其惊险的,你想如某些人知道test一的密码,那么他就可以在internet上的别的1台微型Computer上登6你的mysql数据库并对你的数目足感到所欲为了,化解办法见二。

2、增添1个用户test2密码为abc,让她只好够在localhost上登陆,并能够对数据库mydb举办查询、插入、修改、删除的操作(localhost指本地主机,即MYSQL数据库所在的那台主机),那样用户即采取知道test二的密码,他也心慌意乱从internet上平昔访问数据库,只好通过MYSQL主机上的web页来访问了。
    grant select,insert,update,delete on mydb.* to
[email=test2@localhost]test2@localhost[/email] identified by
“abc”;

只要你不想test二有密码,能够再打二个下令将密码消掉。
    grant select,insert,update,delete on mydb.* to
[email=test2@localhost]test2@localhost[/email] identified by “”;

 

四.一 创制数据库

留意:创立数据库以前要先三番五次Mysql服务器

指令:create database <数据库名>

例壹:创立四个名字为xhkdb的数据库
   mysql> create database xhkdb;

例2:创造数据库并分配用户

一CREATE DATABASE 数据库名;

贰GRANT SELECT,INSERT,UPDATE,DELETE,CREATE,DROP,ALTE奥迪Q五 ON 数据库名.* TO
数据库名@localhost IDENTIFIED BY ‘密码’;

三SET PASSWOCR-VD FO奇骏 ‘数据库名’@’localhost’ = OLD_PASSWORD(‘密码’);

各样实施二个指令完毕数据库创立。注意:普通话“密码”和“数据库”是户自个儿须要安装的。

四.一 创制数据库

专注:创建数据库以前要先接二连三Mysql服务器

一声令下:create database <数据库名>

例一:创立一个名称为xhkdb的数据库
   mysql> create database xhkdb;

例二:创设数据库并分配用户

1CREATE DATABASE 数据库名;

2GRANT SELECT,INSERT,UPDATE,DELETE,CREATE,DROP,ALTELAND ON 数据库名.* TO
数据库名@localhost IDENTIFIED BY ‘密码’;

三SET PASSWORAV4D FO智跑 ‘数据库名’@’localhost’ = OLD_PASSWORD(‘密码’);

种种履行二个指令达成数据库创设。注意:汉语“密码”和“数据库”是户自个儿须求安装的。

四.二 显示数据库

指令:show databases (注意:最终有个s)
mysql> show databases;

专注:为了不再显示的时候乱码,要修改数据库默许编码。以下以GBK编码页面为例进行表达:

壹、修改MYSQL的布局文件:my.ini里面修改default-character-set=gbk
贰、代码运行时修改:
 
 ①Java代码:jdbc:mysql://localhost:3306/test?useUnicode=true&characterEncoding=gbk
   ②PHP代码:header(“Content-Type:text/html;charset=gb2312”);
   三C语言代码:int mysql_set_character_set( MYSQL * mysql, char *
csname);

函数用于为当前连年装置默许的字符集。字符串csname钦命了1个有效的字符集名称。连接核查成为字符集的暗中认可查对。该函数的劳作方法与SET
NAMES语句看似,但它还可以安装mysql- >
charset的值,从而影响了由mysql_real_escape_string() 设置的字符集。

4.2 展现数据库

一声令下:show databases (注意:最终有个s)
mysql> show databases;

只顾:为了不再彰显的时候乱码,要修改数据库暗中认可编码。以下以GBK编码页面为例进行认证:

一、修改MYSQL的配置文件:my.ini里面修改default-character-set=gbk
2、代码运转时修改:
 
 ①Java代码:jdbc:mysql://localhost:3306/test?useUnicode=true&characterEncoding=gbk
   ②PHP代码:header(“Content-Type:text/html;charset=gb2312”);
   叁C语言代码:int mysql_set_character_set( MYSQL * mysql, char *
csname);
该函数用于为当下总是装置暗许的字符集。字符串csname钦赐了3个有效的字符集名称。连接核查成为字符集的私下认可核对。该函数的行事方法与SET
NAMES语句看似,但它还能够设置mysql- >
charset的值,从而影响了由mysql_real_escape_string() 设置的字符集。

肆.三 删除数据库

指令:drop database <数据库名>
比方:删除名称叫 xhkdb的数据库
mysql> drop database xhkdb;

事例一:删除一个已经规定期存款在的数据库
   mysql> drop database drop_database;
   Query OK, 0 rows affected (0.00 sec)

事例贰:删除二个不鲜明期存款在的数据库
   mysql> drop database drop_database;
   ERROR 1008 (HY000): Can’t drop database ‘drop_database’; database
doesn’t exist
      //产生错误,不可能去除’drop_database’数据库,该数据库不设有。
   mysql> drop database if exists drop_database;
   Query OK, 0 rows affected, 壹 warning (0.00
sec)//产生二个告诫表达此数据库不设有
   mysql> create database drop_database;
   Query OK, 1 row affected (0.00 sec)
   mysql> drop database if exists drop_database;//if exists
推断数据库是还是不是存在,不存在也不产生错误
   Query OK, 0 rows affected (0.00 sec)

四.三 删除数据库

指令:drop database <数据库名>
比如说:删除名字为 xhkdb的数据库
mysql> drop database xhkdb;

事例一:删除2个早已明确期存款在的数据库
   mysql> drop database drop_database;
   Query OK, 0 rows affected (0.00 sec)

事例二:删除叁个不分明存在的数据库
   mysql> drop database drop_database;
   ERROR 1008 (HY000): Can’t drop database ‘drop_database’; database
doesn’t exist
      //爆发错误,无法去除’drop_database’数据库,该数据库不存在。
   mysql> drop database if exists drop_database;
   Query OK, 0 rows affected, 壹 warning (0.00
sec)//发生二个告诫表明此数据库不设有
   mysql> create database drop_database;
   Query OK, 1 row affected (0.00 sec)
   mysql> drop database if exists drop_database;//if exists
判定数据库是还是不是留存,不设有也不爆发错误
   Query OK, 0 rows affected (0.00 sec)

4.四 连接数据库

指令: use <数据库名>

譬喻:即使xhkdb数据仓库储存在,尝试存取它:
   mysql> use xhkdb;
荧屏提醒:Database changed

use
语句能够通知MySQL把db_name数据库作为暗中认可(当前)数据库使用,用于后续语句。
该数据库保持为暗中同意数据库,直到语段的末段,也许直到发表三个不等的USE语句:
   mysql> USE db1;
   mysql> SELECT COUNT(*) FROM mytable;   # selects from
db1.mytable
   mysql> USE db2;
   mysql> SELECT COUNT(*) FROM mytable;   # selects from
db2.mytable

行使USE语句为1个一定的当前的数据库做标志,不会堵住你访问其它数据库中的表。上边的事例能够从db1数据库访问作者表,并从db二数据库访问编辑表:
   mysql> USE db1;
   mysql> SELECT author_name,editor_name FROM author,db2.editor
       ->        WHERE author.editor_id = db2.editor.editor_id;

USE语句被设立出来,用于与Sybase相包容。

稍许网络朋友问到,连接现在怎么退出。其实,不用退出去,use 数据库后,使用show
databases就能够查询全体数据库,如若想跳到其余数据库,用
   use 其余数据库名字
就能够了。

4.4 连接数据库

指令: use <数据库名>

举例说:如若xhkdb数据仓库储存在,尝试存取它:
   mysql> use xhkdb;
显示器提醒:Database changed

use
语句能够布告MySQL把db_name数据库作为暗中同意(当前)数据库使用,用于后续语句。
该数据库保持为暗许数据库,直到语段的终极,只怕直到发表1个不等的USE语句:
   mysql> USE db1;
   mysql> SELECT COUNT(*) FROM mytable;   # selects from
db1.mytable
   mysql> USE db2;
   mysql> SELECT COUNT(*) FROM mytable;   # selects from
db2.mytable

运用USE语句为贰个一定的此时此刻的数据库做标志,不会阻碍你访问别的数据库中的表。下边包车型大巴事例能够从db1数据库访问小编表,并从db贰数据库访问编辑表:
   mysql> USE db1;
   mysql> SELECT author_name,editor_name FROM author,db2.editor
       ->        WHERE author.editor_id = db2.editor.editor_id;

USE语句被设立出来,用于与Sybase相包容。

稍微网上好友问到,连接以后怎么退出。其实,不用退出来,use 数据库后,使用show
databases就能够查询全部数据库,要是想跳到其余数据库,用
   use 其余数据库名字
就足以了。

四.伍 当前选拔的数据库

命令:mysql> select database();

MySQL中SELECT命令类似于其余编制程序语言里的print恐怕write,你能够用它来浮现一个字符串、数字、数学表明式的结果等等。怎样运用MySQL中SELECT命令的特殊效果?

1.显示MYSQL的版本
mysql> select version(); 
+———————–+ 
| version()             | 
+———————–+ 
| 6.0.4-alpha-community | 
+———————–+ 
1 row in set (0.02 sec) 

二. 来稳妥前时刻
mysql> select now(); 
+———————+ 
| now()               | 
+———————+ 
| 2009-09-15 22:35:32 | 
+———————+ 
1 row in set (0.04 sec) 

三. 展现年月日
SELECT DAYOFMONTH(CURRENT_DATE); 
+————————–+ 
| DAYOFMONTH(CURRENT_DATE) | 
+————————–+ 
|                       15 | 
+————————–+ 
1 row in set (0.01 sec) 
  
SELECT MONTH(CURRENT_DATE); 
+———————+ 
| MONTH(CURRENT_DATE) | 
+———————+ 
|                   9 | 
+———————+ 
1 row in set (0.00 sec) 
  
SELECT YEAR(CURRENT_DATE); 
+——————–+ 
| YEAR(CURRENT_DATE) | 
+——————–+ 
|               2009 | 
+——————–+ 
1 row in set (0.00 sec) 

四. 体现字符串
mysql> SELECT “welecome to my blog!”; 
+———————-+ 
| welecome to my blog! | 
+———————-+ 
| welecome to my blog! | 
+———————-+ 
1 row in set (0.00 sec) 

5. 当计算器用
select ((4 * 4) / 10 ) + 25; 
+———————-+ 
| ((4 * 4) / 10 ) + 25 | 
+———————-+ 
|                26.60 | 
+———————-+ 
1 row in set (0.00 sec) 

陆. 串接字符串
select CONCAT(f_name, ” “, l_name) 
AS Name 
from employee_data 
where title = ‘Marketing Executive’; 
+—————+ 
| Name          | 
+—————+ 
| Monica Sehgal | 
| Hal Simlai    | 
| Joseph Irvine | 
+—————+ 
3 rows in set (0.00 sec) 
专注:这里用到CONCAT()函数,用来把字符串串接起来。其余,大家还用到以前学到的AS给结果列’CONCAT(f_name,
” “, l_name)’起了个字母。

4.5 当前挑选的数据库

命令:mysql> select database();

MySQL中SELECT命令类似于别的编制程序语言里的print或然write,你可以用它来呈现四个字符串、数字、数学表达式的结果等等。怎么着使用MySQL中SELECT命令的出格效率?

1.显示MYSQL的版本
mysql> select version(); 
+———————–+ 
| version()             | 
+———————–+ 
| 6.0.4-alpha-community | 
+———————–+ 
1 row in set (0.02 sec) 

二. 显示当明天子
mysql> select now(); 
+———————+ 
| now()               | 
+———————+ 
| 2009-09-15 22:35:32 | 
+———————+ 
1 row in set (0.04 sec) 

3. 呈现年月日
SELECT DAYOFMONTH(CURRENT_DATE); 
+————————–+ 
| DAYOFMONTH(CURRENT_DATE) | 
+————————–+ 
|                       15 | 
+————————–+ 
1 row in set (0.01 sec) 
  
SELECT MONTH(CURRENT_DATE); 
+———————+ 
| MONTH(CURRENT_DATE) | 
+———————+ 
|                   9 | 
+———————+ 
1 row in set (0.00 sec) 
  
SELECT YEAR(CURRENT_DATE); 
+——————–+ 
| YEAR(CURRENT_DATE) | 
+——————–+ 
|               2009 | 
+——————–+ 
1 row in set (0.00 sec) 

肆. 显得字符串
mysql> SELECT “welecome to my blog!”; 
+———————-+ 
| welecome to my blog! | 
+———————-+ 
| welecome to my blog! | 
+———————-+ 
1 row in set (0.00 sec) 

伍. 当总括器用
select ((4 * 4) / 10 ) + 25; 
+———————-+ 
| ((4 * 4) / 10 ) + 25 | 
+———————-+ 
|                26.60 | 
+———————-+ 
1 row in set (0.00 sec) 

陆. 串接字符串
select CONCAT(f_name, ” “, l_name) 
AS Name 
from employee_data 
where title = ‘Marketing Executive’; 
+—————+ 
| Name          | 
+—————+ 
| Monica Sehgal | 
| Hal Simlai    | 
| Joseph Irvine | 
+—————+ 
3 rows in set (0.00 sec) 
留意:这里用到CONCAT()函数,用来把字符串串接起来。其它,大家还用到在此以前学到的AS给结荚列’CONCAT(f_name,
” “, l_name)’起了个假名。

伍.1 创设数据表

命令:create table <表名> ( <字段名1> <类型1>
[,..<字段名n> <类型n>]);

例如,创设四个名字为MyClass的表,

字段名 数字类型 数据宽度 是否为空 是否主键 自动增加 默认值
id int 4 primary key auto_increment  
name char 20      
sex int 4     0
degree double 16      

mysql> create table MyClass(
> id int(4) not null primary key auto_increment,
> name char(20) not null,
> sex int(4) not null default ‘0’,
4503.com,> degree double(16,2));

五.一 创设数据表

命令:create table <表名> ( <字段名1> <类型1>
[,..<字段名n> <类型n>]);

例如,创设三个名称叫MyClass的表,

字段名 数字类型 数据宽度 是否为空 是否主键 自动增加 默认值
id int 4 primary key auto_increment  
name char 20      
sex int 4     0
degree double 16      

mysql> create table MyClass(
> id int(4) not null primary key auto_increment,
> name char(20) not null,
> sex int(4) not null default ‘0’,
> degree double(16,2));

5.3 删除数据表

命令:drop table <表名>

诸如:删除表名称叫 MyClass 的表
   mysql> drop table MyClass;

DROP
TABLE用于打消二个或两个表。您必须有各样表的DROP权限。所有的表数据和表定义会被撤废,所以接纳本语句要小心!

专注:对于三个带分区的表,DROP
TABLE组织带头人久性地收回表定义,打消各分区,并撤回储存在那些分区中的全部数据。DROP
TABLE还会吊销与被注销的表有关联的分区定义(.par)文件。

对与不存在的表,使用IF EXISTS用于幸免错误产生。当使用IF
EXISTS时,对于每一种不设有的表,会生成一个NOTE。

REST奥德赛ICT和CASCADE能够使分区更便于。近期,RESTHavalICT和CASCADE不起功效。

伍.叁 删除数据表

命令:drop table <表名>

举例:删除表名字为 MyClass 的表
   mysql> drop table MyClass;

DROP
TABLE用于撤除四个或多个表。您必须有各样表的DROP权限。全体的表数据和表定义会被吊销,所以使用本语句要小心!

小心:对于三个带分区的表,DROP
TABLE会永远性地撤除表定义,打消各分区,并注销积攒在这一个分区中的全数数据。DROP
TABLE还会收回与被裁撤的表有关联的分区定义(.par)文件。

对与不设有的表,使用IF EXISTS用于幸免错误爆发。当使用IF
EXISTS时,对于每个不存在的表,会扭转1个NOTE。

RESTLacrosseICT和CASCADE可以使分区更便于。近日,REST途达ICT和CASCADE不起效能。