VB.net 2010 视频教程 VB.net 2010 视频教程 python基础视频教程
SQL Server 2008 视频教程 c#入门经典教程 Visual Basic从门到精通视频教程
当前位置:
首页 > 数据库 > MySQL >
  • Mysql命令大全(完整版)

本文章转载自https://www.jb51.net/article/74564.htm

一、连接数据库
格式:mysql -h主机地址 -u用户名 -p用户密码
1.1.连接到本机上的MYSQL。
首先打开DOS窗口,然后进入目录mysql\bin,再键入命令mysql -u root -p,回车后提示你输密码.
注意用户名前可以有空格也可以没有空格,但是密码前必须没有空格,否则让你重新输入密码。
如果刚安装好MYSQL,超级用户root是没有密码的,故直接回车即可进入到MYSQL中了,MYSQL的提示符是: mysql>

1.2连接到远程主机上的MYSQL。

假设远程主机的IP为:110.110.110.110,用户名为root,密码为abcd123。则键入以下命令:
 mysql -h110.110.110.110 -u root -p 123;(注:u与root之间可以不用加空格,其它也一样)
1.3退出MYSQL命令: exit (回车)

二、增加用户
格式:grant select on 数据库.* to 用户名@登录主机 identified by “密码”
2.1 增加一个用户test1密码为abc,让他可以在任何主机上登录,并对所有数据库有查询、插入、修改、删除的权限。

首先用root用户连入MYSQL,然后键入以下命令:

 

复制代码 代码如下:

grant select,insert,update,delete on *.* to [email=test1@”%]test1@”%[/email]” Identified by “abc”;

 

但增加的用户是十分危险的,你想如某个人知道test1的密码,那么他就可以在internet上的任何一台电脑上登录你的mysql数据库并对你的数据可以为所欲为了,解决办法见2.2
2.2增加一个用户test2密码为abc,让他只可以在localhost上登录,并可以对数据库mydb进行查询、插入、修改、删除的操作(localhost指本地主机,即MYSQL数据库所在的那台主机),这样用户即使用知道test2的密码,他也无法从internet上直接访问数据库,只能通过MYSQL主机上的web页来访问。

 

复制代码 代码如下:

grant select,insert,update,delete on mydb.* to [email=test2@localhost]test2@localhost[/email] identified by “abc”;


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

复制代码 代码如下:

grant select,insert,update,delete on mydb.* to [email=test2@localhost]test2@localhost[/email] identified by “”

 

三、操作数据库

3.1创建数据库
注意:创建数据库之前要先连接Mysql服务器
命令:create database <数据库名>
例1:建立一个名为xhkdb的数据库
  

复制代码 代码如下:

mysql> create database xhkdb;

 

例2:创建数据库并分配用户
①CREATE DATABASE 数据库名;
②GRANT SELECT,INSERT,UPDATE,DELETE,CREATE,DROP,ALTER ON 数据库名.* TO 用户名@localhost IDENTIFIED BY '密码';
③SET PASSWORD FOR '数据库名'@'localhost' = OLD_PASSWORD('密码');
依次执行3个命令完成数据库创建。
注意:中文 “密码”和“数据库”是户自己需要设置的。

3.2显示数据库
命令:show databases (注意:最后有个s)

 

复制代码 代码如下:

mysql> show databases


3.3 删除数据库
命令:drop database <数据库名>
例如:删除名为 xhkdb的数据库

复制代码 代码如下:

mysql> drop database xhkdb;

 

例子1:删除一个已经确定存在的数据库

 

复制代码 代码如下:

mysql> drop database drop_database;
Query OK, 0 rows affected (0.00 sec)

 

例子2:删除一个不确定存在的数据库

?

1

2

3

4

5

6

7

8

9

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, 1 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)

3.4 连接数据库
命令: use <数据库名>
例如:如果xhkdb数据库存在,尝试存取它:mysql> use xhkdb;
屏幕提示:Database changed
use 语句可以通告MySQL把db_name数据库作为默认(当前)数据库使用,用于后续语句。该数据库保持为默认数据库,直到语段的结尾,或者直到发布一个不同的USE语句:

1

2

3

4

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数据库访问作者表,并从db2数据库访问编辑表:

1

2

3

mysql> USE db1;

mysql> SELECT author_name,editor_name FROM author,db2.editor

 ->  WHERE author.editor_id = db2.editor.editor_id;

要退出数据库或连接其他数据库直接 user '其他数据库名称'就可以了。

3.5当前选择数据库
命令:mysql> select database();
MySQL中SELECT命令类似于其他编程语言里的print或者write,你可以用它来显示一个字符串、数字、数学表达式的结果等等。如何使用MySQL中SELECT命令的特殊功能?

(1).显示MYSQL的版本

1

2

3

4

5

6

7

mysql> select version();

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

| version()    |

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

| 6.0.4-alpha-community |

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

1 row in set (0.02 sec)

(2). 显示当前时间

?

1

2

3

4

5

6

7

mysql> select now();

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

| now()    |

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

| 2009-09-15 22:35:32 |

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

1 row in set (0.04 sec)

(3). 显示年月日

?

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

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)

(4).显示字符串

?

1

2

3

4

5

6

7

mysql> SELECT "welecome to my blog!";

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

| welecome to my blog! |

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

| welecome to my blog! |

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

1 row in set (0.00 sec)

(5).当计算器用

?

1

2

3

4

5

6

7

select ((4 * 4) / 10 ) + 25;

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

| ((4 * 4) / 10 ) + 25 |

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

|    26.60 |

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

1 row in set (0.00 sec)

(6).串接字符串

?

1

2

3

4

5

6

7

8

9

10

11

12

select CONCAT(f_name, " ", l_name)

AS Name

from employee_data

where title = 'Marketing Executive';

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

Name   |

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

| Monica Sehgal |

| Hal Simlai |

| Joseph Irvine |

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

rows in set (0.00 sec)