文章目录
- 引言
-
- 基础命令了解
-
- 1. mysql:连接数据库
- 2. mysqladmin:修改用户密码
- 3. grant on:新增用户
- 4. create:创建数据库
- 5. show databases:显示数据库
- 6. drop database:删除数据库
- 7. use:使用数据库
- 8. select:当前连接的数据库
- 9. create table:创建数据表
- 10. desc:获取表结构
- 11. drop table:删除数据表
- 12. insert into:向表中插入数据
- 13. select from:查询表中数据
- 14. delete from:删除记录
- 15. update set:修改表中的数据
- 16. alter add:增加字段
- 17. rename:修改表名
- 18. mysqldump:备份数据库
- 19. mysql 和 source:还原数据库
- 20. mysqlhotcopy:快速恢复数据库
- 小结MySQL基础命令
引言
在本章中用的事5.7版本的,跟其他版本可能有些差别,仔细观看。
无论你是前端还是后端,只要是一个合格的开发者,对于MySQL这个名词相信都不陌生,MySQL逐渐成为了最受欢迎的关系型数据库,无论你是大前端,亦或是Java、Go、Python、C/C++、PHP…等这些语言的程序员,对于MySQL是必然要掌握的核心技术之一,程序员不能没有MySQL,就像西方不能失去耶路撒冷一般。
当然,MySQL也不仅仅是唯一的数据库,与它类似的关系型数据库竞品还有很多,例如Oracle、SQLServer、PostgreSQL、DB2…,这其中使用最为广泛的是Oracle,但Oracle实际上并不怎么受程序员欢迎,或者说Oracle并不怎么受中小企业的Boss欢迎,原因嘛大家都清楚,无非因为它收费罢了。
也正是由于Oracle收费的原因,才导致MySQL像如今这么流行,正所谓时势造英雄,MySQL作为免费的开源数据库,也正是抓住了这个风口,所以才越发流行。对于MySQL,用一句话形容很贴切:“天不生我MySQL,编程万古如长夜”。
基础命令了解
1. mysql:连接数据库
- mysql 命令用户连接数据库。
mysql 命令格式: mysql -h 主机地址 -u 用户名 -p 用户密码
- 连接到本机上的 MYSQL
首先打开 DOS 窗口,然后进入目录 mysql\bin,再键入命令 mysql -u root -p,回车后提示你
输密码。
注意用户名前可以有空格也可以没有空格,但是密码前必须没有空格,否则让你重新输入密
码。
如果刚安装好 MYSQL,超级用户 root 是没有密码的,故直接回车即可进入到 MYSQL 中了,
MYSQL 的提示符是: mysql> - 连接到远程主机上的 MYSQL
假设远程主机的 IP 为:110.110.110.110,用户名为 root,密码为 abcd123。则键入以下命令:
mysql -h110.110.110.110 -u root -p 123;(注:u 与 root 之间可以不用加空格,其它也一样) - 退出 MYSQL 命令
exit (回车)
2. mysqladmin:修改用户密码
mysqladmin 命令用于修改用户密码。
mysqladmin 命令格式:mysqladmin -u 用户名 -p 旧密码 password 新密码
- 给 root 加个密码 ab12
首先在 DOS 下进入目录 mysql\bin,然后键入以下命令:
mysqladmin -u root -password ab12
注:因为开始时 root 没有密码,所以-p 旧密码一项就可以省略了。
- 再将 root 的密码改为 djg345
mysqladmin -u root -p ab12 password djg345
3. grant on:新增用户
grant on 命令用于增加新用户并控制其权限。
grant on 命令格式:grant select on 数据库.* to 用户名@登录主机 identified by “密码”;
- 增加一个用户 test1,密码为 abc,让他可以在任何主机上登录,并对所有数据库有查询、
插入、修改、删除的权限。首先用 root 用户连入 MYSQL,然后键入以下命令:
grant select,insert,update,delete on *.* to [email=test1@”%]test1@”%[/email]” Identified by “abc”;
但增加的用户是十分危险的,你想如某个人知道 test1 的密码,那么他就可以在 internet 上
的任何一台电脑上登录你的 mysql 数据库并对你的数据可以为所欲为了,解决办法如下。
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 “”;
4. create:创建数据库
create 命令用于创建数据库。
create 命令格式:create database <数据库名>;
注意:创建数据库之前要先连接 Mysql 服务器。
- 建立一个名为 xhkdb 的数据库:
mysql> create database xhkdb;
- 创建数据库并分配用户:
a:CREATE DATABASE 数据库名;
b:GRANT SELECT,INSERT,UPDATE,DELETE,CREATE,DROP,ALTER ON 数据库名.* TO
数据库名@localhost IDENTIFIED BY ‘密码’;
c:SET PASSWORD FOR ‘数据库名’@‘localhost’ = OLD_PASSWORD(‘密码’);
依次执行 3 个命令完成数据库创建。
注意:中文 “密码”和“数据库”是户自己需要设置的。
5. show databases:显示数据库
show databases 命令用于显示所有数据库。 show databases 命令格式:show databases;
(注意:最后有个 s) 例如:mysql> show databases;
6. drop database:删除数据库
drop 命令用于删除数据库。
drop 命令格式:drop database <数据库名>;
例如,删除名为 xhkdb 的数据库:
mysql> drop database xhkdb;
[例子 1] 删除一个已经确定存在的数据库:
mysql> drop database drop_database;
Query OK, 0 rows affected (0.00 sec)
[例子 2] 删除一个不确定存在的数据库:
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)
7. use:使用数据库
use 命令可以让我们来使用数据库。
use 命令格式: use <数据库名>;
例如,如果 xhkdb 数据库存在,尝试存取它: