MySQL

MySQL常用命令

2020-09-25  本文已影响0人  fanderboy

mysql命令行中指定程序选项的规则

--在命令名后面紧跟选项;
--选项参量以一个和两个破折号开始,取决于它具有短名还是长名。例如,-?和--help是指导MySQL程序显示帮助消息的短选项和长选项;
--选项名对大小写敏感。-v和-V均有效,但具有不同的含义。(它们是--verbose和--version选项的短名);
--部分选项在选项名后面紧随选项值。例如,-hlocalhost或--host=localhost表示客户程序的MySQL服务器主机。选项值可以告诉程序MySQL服务器运行的主机名;
--对于带选项值的长选项,通过一个‘=’将选项名和值隔离开来。对于带选项值的短选项,选项值可以紧随选项字母后面,或者二者之间可以用一个空格隔开。(-hlocalhost和-h localhost是等效的);
--例外情况是指定MySQL密码的选项,对于短形式-p,如果给出了 密码值,必须紧跟在选项后面,中间不能插入空格。这样要求的原因是如果选项后面有空格,程序没有办法来告知后面的参量是密码值还是其它某种参量。

1、连接Mysql

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

1.1 连接到本机上的MYSQL。

命令: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之间可以不用加空格,其它也一样)

另:mysql -h服务器IP地址 -u用户名 -p密码 -P 服务器端MySQL端口号 -D 数据库名
注意:服务器端口标志-P一定要大写以区别于用户密码-p,如果直接连接数据库,标志-D也要大写;

1.3 退出MYSQL命令:

exit

2、修改密码

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

2.1 给root加个密码123456。

首先在DOS下进入目录mysql\bin,然后键入以下命令

mysqladmin -uroot password 123456

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

2.2 再将root的密码改为654321。

mysqladmin -uroot -p123456 password 654321

\color{red}{注意:和上面不同,下面的是mysql环境中的命令,所以后面都带一个分号作为命令结束符}

3、增加新用户

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

3.1 增加一个新用户,并授予用户所有权限:

grant all privileges on *.* to 'wugongzi'@'%' identified by '123456' with grant option;

all privileges:表示将所有权限授予给用户。也可指定具体的权限,如:SELECT、CREATE、DROP等。
on:表示这些权限对哪些数据库和表生效,格式:数据库名.表名,这里写“*”表示所有数据库,所有表。如果我要指定将权限应用到test库的user表中,可以这么写:test.user
to:将权限授予哪个用户。格式:”用户名”@”登录IP或域名”。%表示没有限制,在任何主机都可以登录。比如:"wugongzi"@"192.168.0.%",表示wugongzi这个用户只能在192.168.0IP段登录
identified by:指定用户的登录密码
with grant option:表示允许用户将自己的权限授权给其它用户

3.2 增加一个新用户,并授予用户查询、插入、修改、删除的权限

grant select,insert,update,delete on  *.* to 'wugongzi'@'%' identified by '123456' with grant option;

4、数据库操作

4.1 创建数据库

命令:create database <数据库名>

例1:建立一个名为dev的数据库

mysql> create database dev;

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

①CREATE DATABASE 数据库名;

②GRANT SELECT,INSERT,UPDATE,DELETE,CREATE,DROP,ALTER ON 数据库名.* TO 数据库名@localhost IDENTIFIED BY '密码';

③SET PASSWORD FOR '数据库名'@'localhost' = OLD_PASSWORD('密码');

4.2 显示数据库

命令:show databases (注意:最后有个s)

mysql> show databases;

4.3 删除数据库

命令:drop database <数据库名>

例如:删除名为 dev的数据库
mysql> drop database dev;

4.4 连接数据库

命令: use <数据库名>

4.5 显示当前选择的数据库

命令:mysql> select database();

MySQL中SELECT命令类似于其他编程语言里的print或者write,你可以用它来显示一个字符串、数字、数学表达式的结果等等。如何使用MySQL中SELECT命令的特殊功能?

1.显示MYSQL的版本

select version(); 
  1. 显示当前时间
    mysql> select now();
select now(); 
  1. 显示年月日
SELECT YEAR(CURRENT_DATE),MONTH(CURRENT_DATE),DAYOFMONTH(CURRENT_DATE);
  1. 显示字符串
SELECT "welecome to my blog!"; 
  1. 当计算器用
select ((4 * 4) / 10 ) + 25; 

5、数据表操作

5.1 创建数据表

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

5.2 删除数据表

命令:drop table <表名>

5.3 表插入数据

命令:insert into <表名> [( <字段名1>[,..<字段名n > ])] values ( 值1 )[, ( 值n )]

5.4 查询表中的数据

命令: select <字段1,字段2,...> from < 表名 > where < 表达式 >

5.5 删除表中数据

命令:delete from 表名 where 表达式

5.6 修改表中数据

语法:update 表名 set 字段=新值,… where 条件

5.7 增加字段

命令:alter table 表名 add字段 类型 其他;

5.9 修改表名

命令:rename table 原表名 to 新表名;

6、备份数据库

1.导出整个数据库

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

mysqldump -u用户名 -p密码 数据库名 > 文件名.sql

2.导出一个表

mysqldump -u用户名 -p密码 数据库名 表名> 文件名.sql

注:

-d 结构(--no-data:不导出任何数据,只导出数据库表结构)


-t 数据(--no-create-info:只导出数据,而不添加CREATE TABLE 语句)


-n (--no-create-db:只导出数据,而不添加CREATE DATABASE 语句)


-R (--routines:导出存储过程以及自定义函数)


-E (--events:导出事件)


--triggers (默认导出触发器,使用--skip-triggers屏蔽导出)


-B (--databases:导出数据库列表,单个库时可省略)


--tables 表列表(单个表时可省略)
①同时导出结构以及数据时可同时省略-d和-t
②同时 不 导出结构和数据可使用-ntd
③只导出存储过程和函数可使用-R -ntd
④导出所有(结构&数据&存储过程&函数&事件&触发器)使用-R -E(相当于①,省略了-d -t;触发器默认导出)
⑤只导出结构&函数&事件&触发器使用 -R -E -d
上一篇 下一篇

猜你喜欢

热点阅读