java转型之路 - 数据库篇(一)

java转型之路 - 数据库篇(一)

律己者足以服人,积跬步可至千里。

作为移动端开发人员,虽然java语法熟知一二,但对于后端开发来说,只是冰山一角。自律不是一时脑热,想法必要付诸于行动,在此记录自己的学习成果,也为想入坑后端开发,却不知从何入手的道友们提供一条学习路线(挖出一片无底深渊)。

开发环境

windows和macOs对一些软件的安装配置也不太一样,我macOs系统,以后的环境安装都会按照mac的步骤来操作,windows相对简单,就不多做介绍了。

Mysql

Mysql是最流行的关系型数据库管理系统,而数据库作为后端开发的基础,便从mysql开始学起罢!

1. Mysql 安装

首先去Mysql官网,下载自己系统对应的安装包,一路next安装即可。注意一定要下载系统对应的版本,不然以后运行会报错,还要卸载重装,我的系统架构是是macOS 11 (x86, 64-bit), DMG Archive,不要问我为什么知道。。。

https://img-blog.csdnimg.cn/dab5e41e30394a5ca7da801996ad0b1c.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA6Zi_54Om5aSn5aSnQA==,size_20,color_FFFFFF,t_70,g_se,x_16

安装完成后在系统偏好设置中会多出一个MySql的图标

https://img-blog.csdnimg.cn/4d886ffee6dd4ccf9a57b7f6be4b3455.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA6Zi_54Om5aSn5aSnQA==,size_20,color_FFFFFF,t_70,g_se,x_16

点击Start MySQL Server,即可启动mysql服务。

https://img-blog.csdnimg.cn/637b982c483a4df398c4f574f39ef2c0.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA6Zi_54Om5aSn5aSnQA==,size_20,color_FFFFFF,t_70,g_se,x_16

2. 环境变量

接下来我们要在命令行中使用sql语句,首先需要配置环境变量,在终端中输入vim ~/.base_profile 打开配置文件,在path后面追加mysql环境变量:

export MYSQL=/usr/local/mysql/bin
export PATH=$MYSQL:$PATH;

https://img-blog.csdnimg.cn/c44b6b9c7d464522ad4b89cb64d75521.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA6Zi_54Om5aSn5aSnQA==,size_20,color_FFFFFF,t_70,g_se,x_16

键入i进行编辑,完成之后按esc退出编辑模式,使用:wq进行保存即可,配置完成之后在终端输入命令 source ~/.base_profile刷新资源。

检查环境变量是否配置成功:

在终端输入命令mysql —version,将会打印出mysql的版本号。

https://img-blog.csdnimg.cn/f5102a3f6a89438ea4f887a90a6c8031.png

Mysql语法

注意每条命令后面必须带一个分号,代表命令输入完成。

Mysql连接

在终端键入命令

kangfan@bogon ~ % mysql -u root -p            
Enter password:

第一次安装密码是空的,直接回车即可。登录成功进入mysql命令模式:

https://img-blog.csdnimg.cn/f721ec039c864a17a922f80460f71756.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA6Zi_54Om5aSn5aSnQA==,size_20,color_FFFFFF,t_70,g_se,x_16

Mysql退出

使用exitquit命令即可退出mysql模式

mysql> exit;
Bye

mysql> quit;
Bye

Mysql修改密码

在mysql命令模式下,使用set password for root@localhost = password(123456);

即可修改密码,其中root是你自己的数据库用户名,123456替换为你自己想要的密码。

创建数据库

使用create database 数据库名,创建一个数据库

mysql> create database empdb;
Query OK, 1 row affected (0.00 sec)

如上说明创建成功

查看所有数据库

使用show databases;命令,可以查看当前服务器中的所有数据库

mysql> show databases;
+--------------------+
| Database           |
+--------------------+
| empdb              |
| information_schema |
| mysql              |
| performance_schema |
| sys                |
| test1              |
+--------------------+
6 rows in set (0.01 sec)

选择要操作的数据库

如果想要对某个数据库进行增删改查等操作,需要指定对应的数据库

mysql> use empdb
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A

Database changed

出现Database changed,说明选择成功

创建表

表是列组成

列规则:

  • (1) 列:列名 数据类型(长度) 非空 约束
    列名,表名,数据库名:用英文字母,_,数字,尽量不要用特殊字符,如果需要空格,使用双引号将字段引入: “zz bb”
  • (2) mysql数据类型:
    字符:
    char(n):固定长度,不能超出,也不会进行收缩
    varchar(n):变长, 不能超出,当数据没有满足长度时会收缩
    数字:
    int:自增列
    float
    numeric(38,2):总位数为38位,2位小数
    日期:
    date: 年月日
    time: 时分秒
    timestamp:年月日时分秒
  • (3) 非空: 数据列是否允许为null
    主键约束:自带非空
    unique: 可以为空(只有一个为null)

(4) 约束
主键约束: primary key
能够标识我们一行数据是独一无二的.(非常重要),查询速度非常快,不重复

  • 唯一约束: unique
    可以使一列的数据不重复
  • 默认约束:default
    当用户在这个列不给值,会用默认值填充
  • 检查约束: check:mysql无效
    检查数据的有效性
    eg. check(sex=‘男’ or sex=‘女’)
  • 外键约束: foreign key
    当一个表的中数据必须用另一个表的一个列的数据时,可以使用外键将他们建立关系
    要求,一个表的外键必须是另一个表的主键

创建表使用命令:

create table 表名 (列名 列规则 约束)

mysql> create table product
    -> (
    ->   id  int auto_increment primary key,
    ->   productName varchar(50) unique not null,
    ->   price float  not null DEFAULT 0,
    ->   unitsInStock int  not null,
    ->   discontinued int  not null
    -> 
    -> );
Query OK, 0 rows affected (0.01 sec)

创建成功后使用下面命令查看表

查看数据库中所有的表

使用show tables;命令,可以查看当前数据库中所有的表,这个命令需要先选择要操作的数据库,不然会报错。我们发现了刚才创建的product表

show tables;
+-----------------+
| Tables_in_empdb |
+-----------------+
| dept            |
| emp             |
| product         |
+-----------------+
3 rows in set (0.00 sec)

插入

insert into 表名 values(字段1, 字段2, 字段3... 字段n); 用于向表中插入一条数据

mysql> insert into product values(0,'abcd',28.99,20,1);
Query OK, 1 row affected (0.00 sec)

日志打印成功,下面来简单的查询一下,看看是否有这条数据

查询某个表中所有的信息

使用select * from 表名; 查询某个表中所有的信息

mysql> select * from product;
+----+-------------+-------+--------------+--------------+
| id | productName | price | unitsInStock | discontinued |
+----+-------------+-------+--------------+--------------+
|  1 | abcd        | 28.99 |           20 |            1 |
|  3 | qwer        |  8.99 |            0 |           12 |
+----+-------------+-------+--------------+--------------+
2 rows in set (0.00 sec)

证明了上面已经插入成功。

修改数据

使用update 表名 set 列=新值 where 条件,把id为1的数据的price的值修改为22.2:

mysql> update product set price=22.2 where id=1;
Query OK, 1 row affected (0.00 sec)
Rows matched: 1  Changed: 1  Warnings: 0

mysql> select * from product;
+----+-------------+-------+--------------+--------------+
| id | productName | price | unitsInStock | discontinued |
+----+-------------+-------+--------------+--------------+
|  1 | abcd        |  22.2 |           20 |            1 |
|  3 | qwer        |  8.99 |            0 |           12 |
+----+-------------+-------+--------------+--------------+
2 rows in set (0.00 sec)

修改后再次查询,可见已经修改成功

删除数据

使用delete from 表名 where 条件, 删除id为3的数据:

mysql> delete from product where id=3;
Query OK, 1 row affected (0.00 sec)

mysql> select * from product;
+----+-------------+-------+--------------+--------------+
| id | productName | price | unitsInStock | discontinued |
+----+-------------+-------+--------------+--------------+
|  1 | abcd        |  22.2 |           20 |            1 |
+----+-------------+-------+--------------+--------------+
1 row in set (0.00 sec)

可见已经删除成功。

Navicat

上面只是简单的增删改查,在命令行操作sql虽然逼格很高,但是极为不方便,所以我们通常会下载一个可视化软件Navicat来进行数据库管理,

mac下载

1、安装完成后,点击左上角的connection → mysql连接数据库

https://img-blog.csdnimg.cn/b165a3156b654fc3a303eba58f1f771a.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA6Zi_54Om5aSn5aSnQA==,size_20,color_FFFFFF,t_70,g_se,x_16

2、连接名随便输入,用户名和密码输入你要连接的数据库,点击Test Connection按钮,测试连接是否成功,如下,连接成功后点击save即可

https://img-blog.csdnimg.cn/aaccd904aa5640c6a72854d6263bf1e9.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA6Zi_54Om5aSn5aSnQA==,size_20,color_FFFFFF,t_70,g_se,x_16

3、连接成功后,打开刚才操作的数据库,即可看到表以及表数据:

https://img-blog.csdnimg.cn/484b159b55a042d9bc73d334e6cd3c02.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA6Zi_54Om5aSn5aSnQA==,size_20,color_FFFFFF,t_70,g_se,x_16

总结

以上就是数据库以及表的创建,以及简单的增删改查语句,下一篇笔记重点介绍mysql的高级查询也是相对比较难的一些sql语句。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

阿烦大大@

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值