在前面的B站视频,已经给大家演示了如何安装MySQL,如果你还没有安装MySQL,你可以参考“极客开发者”B站视频频道的相关教程。再看以下内容
实际上,作为一个软件开发者,或者即将成为软件开发者。MySQL数据库或者说数据库,我们需要学习知识很多很多,而此博客,带大家进入MySQL的入门学习。目的是让大家快速学会使用。实际上你在今后学习中遇到的困难,你应该学会使用网络,去查看更多文档。接下来正式开始:
以下所有命令操作的前提是,添加MySQL安装目录下的bin目录到系统的PATH环境环境变量,如果你还没有做这个步骤,请参考之前的视频教程。在计算机中,bin关键字一般指的是binary单词的缩写,也就是二进制文件的意思,二进制文件就可以说是通过编译后的可执行的文件。
mysql -uroot -p;
参数说明:-u: 在上面示例中-u参数后面紧跟的是'root'关键字,意思就是使用root账号登录-p: 此参数代表使用密码登录,加上此参数之后,命令行会提示用户输入MySQL账号对应的密码
默认情况下,使用上面的命令MySQL会连接到安装在本机的MySQ服务。此处说的“本机”指的是你正在使的桌面操作系统,包括Windows、Linux、Mac,或者你的服务器,服务器一般是Linux操作系统。如果你需要使用本机的MySQL命令去连接远程的MySQL数据库服务器,只需要加一个-h参数即可,如下代码
mysql -uroot -h120.77.41.111 -p;
假设120.77.41.111是阿里云的一台服务器,在这台服务器安装了MySQL数据库服务,并对外开放了MySQL的服务端口,那么,我们使用以上这条命令即可连接到安装在120.77.41.111这台主机上的MySQL。
MySQL默认服务端口是3306,mysql会讲3306作为默认服务端口。假设120.77.41.111这台服务器在安装MySQL服务的时候把它指定为3307,那么在使用mysql命令进行连接时,我们需要使用-P参数指定MySQL的服务端口号,如下代码
mysql -uroot -h120.77.41.111 -P3307 -p
在上面所示例的命令中,你会发现,参数标示和参数是紧紧挨着的,实际上,我们也可以在参数标标识和参数值之间加一个英文输入法状态下的空格,如下代码所示
mysql -u root -h 120.77.41.111 -P 3307 -p
MySQL 8.0初始化会生成一个默认的密码,并且我们需要更改之后才能使用。在之前的安装MySQL 8.0的文档中,已经给说明如何在MySQL控制台上更改账号的密码和验证方式,在这里不再重复。这里我们使用MySQL服务自带的mysqladmin命令去更改账号的密码。如下代码所示:
mysqladmin -uroot password 'root123456' -p
以上代码代表使用mysqladmin命令把root账号的密码改为root123456,后面的-p参数会让系统自动弹出密码输入窗口,此时输入root账号之前的密码按回车之后,新的密码就生效了
登录数据库之后,我们可以调用以下相关命令
(1)查询当前数据库
show databases;
(2)切换某个数据库,如切换到mysql库
use mysql;
(3)查看某个库的所有表名称
show tables;
(4)查看某个表的全部字段
desc 字段名;
例如,我们需要查看mysql库的user表,代码如下
use mysql;
desc user;
(5)查看建表语句
show create table 表名;
继(4),查看user表的建表语句,代码如下
show create table user;
(6)查看当前登录的用户
select user();
(7)查看当前使用的数据库
select database();
(8)新建一个数据库
create database 数据库名;
例如,新建一个db_test数据库,代码如下
reate database db_test;
(9)在某个数据库里新建一张表
create table 表名(字段名 数据类型,...)
继(8),新建一个user表
create table user(id int(11), name varchar(45));
一般情况下,为了避免字段名与MySQL关键字冲突,在建表过程中,一般给字段加上原意字符,如下代码:
create table user(`id` int(11), `name` varchar(45));
创建一个test用户,允许其在任意主机登录,密码为test123
create user 'test'@'%' identified by 'test123';
将db_test库的所有权限赋予haha
grant all on db_test.* to 'haha'@'%';
查询语句代码如下
select 字段名 from 表名
查询db_test库user表的name,代码如下
use db_test;
select name from user;
或者
select name from db_test.user;
在查询所有字段时,用*代替,如下代码
select * from user;
插入一条数据代码如下:
insert into 表名 values (插入的值);
继1,插入一条数据,代码如下
insert into user values (2,'haha');
更改一条数据代码如下
update 表名 set 字段名 = 新值 where 条件;
继2,把id为2的用户名字改为lisi,代码如下
update user set `name` = 'lisi' where id = 2;
删除一条数据代码如下
delete from 表名 where 条件;
继3,我们把id为2的用户删除掉,代码如下
delete from user where id = 2;
清空一个表的数据代码如下
truncate table 表名;
继4,我们清空user表,代码如下
truncate table user;
代码如下
drop table 表名;
继5,删除我们创建的user表;
drop table user;
实际上,MySQL给我们提供了备份数据和恢复数据的功能。退出mysql命令行控制台,进入到系统命令控制台中,我们可以使用mysqldump命令对数据库进行备份,还可以用mysql命令对数据库进行恢复。
将db_test库备份到db_test.sql文件中,代码如下
mysqldump -uroot -p db_test > db_test.sql
讲db_test.sql数据恢复到db_new数据库中,代码如下
mysql -uroot -p db_new < db_test.sql
通过此博客,对于初学者来说,学会了MySQL数据库的基本操作,不过,不要高兴的太早,实际上MySQL的知识不仅仅这些。MySQL会长期更新,每次更新都会带来新特性。
作为开发者,我们需要不断学习与巩固,入门学习时间短,但是忘的也快。只有不断重复使用旧知识与学习新知识,我们才能到达熟练。学习本来就是这样的,不是一两天的事,可以说是几个月,或者几年,甚至一辈子。只有坚持才会有收获!