MySQL-Day01
今日目标:
- 数据库概述
- MySQL简介
- MySQL的安装和客户端DataGrid/SqlYog/Navicate/DBever的使用
- 对于库表的基本操作
- 基本的表查询
1.数据库概述
1.1 为什么学
xxx.xls
、
xxx.docs.....
,
xx.xml
,前面用过很多的文件,可以将数据存到文件中!!!!
- 获取和处理数据不那么方便
- 需要频繁的IO读取
- 文件较大的情况下,打开很慢
将数据存储到数据库中,使用它提供的语法—SQL(Structured Query Language)
1.2 数据库是什么
对比生活中的仓库
对数据有
组织的
存放,同时兼具管理功能,
DBMS
【
Database Management System
】
作用:保存、管理数据
1.3 常见的数据库有哪些
参见:https://db-engines.com/en/ranking
MySQL
已投身
Oracle
家族!!!
关系型
:简单理解就是使用类似二维表存储数据的格式,对数据的格式规范性要求比较高!!!
NoSQL【Not only SQL】
:非关系型数据库,比如存储
HashMap<String,Person>
,此时用关系型可能不太好管理,redis
就有这种结构;比如存储类似
json
数据,可以使用
Mongo
【
BJson
】、
ES
【不仅可以存,还可以提供强大的检索功能---
高亮
】
2.MySQL
2.1 是什么
2.2 下载安装
下载网址:https://dev.mysql.com/downloads/installer/
注意点:
- 默认端口号:3306,一般不修改
- 编码格式:一般采用utf8,注意还有utf8mb4
-
我们安装的是服务端实际中,你就是用客户端 DataGrid/SqlYog/Navicate/DBever 去连接服务端【给你提供必要的连接条件:地址、用户名、密码,同时服务端要允许外面的客户端进行连接】若你装的是IDEA 的旗舰版,自带客户端!!!!
2.3 如何使用DataGrid进行连接
显示这个,表示连接成功:
有时候会默认是8.0x的jar包,需要修改jar包
如果连接失败,可能是你的mysql服务没有开启
2.4 黑窗口验证是否能连上
开始
---
》
mysql ---
》找到对应的黑窗口,打开输入密码,进入如下截图就
ok
!!!!!
退出黑窗口:
exit
或者
quit
2.5 使用SqlYog连接
1.
调出输入连接信息的窗口
2.6 关系型数据库的数据模型
3.库操作
注意:
- 1.首先我们的sql不区分大小写,一般关键字是建议大写,一般就小写即可;
- 2.每行sql语句要用;结尾,养成好习惯
建库:
使用可视化工具:
显示当前系统中有哪些库
选择某个库
若不选中的话,建表会报如下错误
删除库
4.SQL语句分类
5.表操作
注意:反引号用于区别 MySQL 保留字与普通字符而引入的
所以后面简单 ` 不要奇怪,有些模棱两可的字段名就可以使用反引号括起来!!!!
在建表的时候,养成好习惯,每列以及表明添加注释!!!!
创建
- 语法
- 示例
使用可视化窗口建表!
字段的数据类型
- 数值类型
- 字符串类型
- 日期和时间型数值类型
- NULL值
理解为 “ 没有值 ” 或 “ 未知值 ”不要用 NULL 进行算术运算,结果仍为 NULL 关于列的约束说明
关于列的约束说明
- not null:列值不允许为null
- auto increment:列值自动增长
- unique:列值唯一
- primary key:主键,即唯一unique + not null!高级部分会说到关键索引查询!!!!!
字段属性说明
查看表结构:
需求:有时候我们并没有这种可视化客户端,我们有的是 Xshell/CRT 。。。。【黑窗口】,此时你需
要会使用命令查看表结构!!!!
修改表:
删除表
补充建表语句:
6.表引擎
数据库核心,动力系统 ,我们这里默认是
InnoDB
7.数据操作
7.1 插入数据
语法
7.2 修改数据
7.3 删除数据
8.练习
创建一个使用
utf8
字符集的
mydb2
数据库。
create database mydb2 character set utf8;
修改
mydb2
字符集为
gbk;
alter database mydb2 character set gbk;
创建一个使用utf8字符集,并带比较规则的mydb3数据库
create database mydb3 character set utf8 collate utf8_general_ci;
查看数据库
mydb1
的字符集
show variables like 'collation_%';
查看
employee
的表结构
desc employee;