引言
数据库是一类软件,它是用来管理数据的软件,往往是把数据存储在硬盘上(持久化存储)。用户可以很方便地实现增删查改功能。
数据库软件的典型代表:MySQL,Oracle,SQL Server
一、MySQL 数据库
MySQL 是一个客户端 — 服务器软件,在控制台上输入任何一个命令,本质上都是通过网络的方式,和服务器进行了交互。
客户端:主动发起请求的一方 服务器:被动接受请求的一方 请求:客户端给服务器发送的数据 响应:服务器给客户端返回的数据
二、MySQL 服务器的结构
MySQL 服务器中有放着很多数据库,一个数据库中又可以放着很多数据表,这就像套娃一样。而数据表的结构,非常类似于 Excel 表格。
图解分析:
三、数据库行和列的概念
首先,MySQL、Oracle,SQL Server 都是关系型数据库,它们都是由行和列构成的。
一行的数据就叫做 " 记录 ";一列的数据就叫做 " 字段 " 。
我们可以联想到 Excel 表格,
每一行的内容是不同属性的,每一列的内容是相同属性的。
四、SQL 语句
SQL 语句就是对数据库进行操作的一种语言。
语法注意事项:
① 在 SQL 中,不区分字母大小写,但建议使用小写,这主要是为了屏蔽不同系统 (Windows, Linux)所带来的差异化。
② SQL 中的字符串是用单引号包起来的,而不是双引号。
③ 如果我们创建的字段名与数据库中的关键字重名了,就需要为字段名用 ` 号括起来。(英文模式下,键盘上 Esc 正下方的键)
五、数据库操作
此处所提到的数据库,指的是一些逻辑上的数据集合,一个 MySQL 服务器上可以同时管理多组这样的数据集合。
1. 显示数据库
show databases;
2. 创建数据库
数据库的名字不能是 关键字
数据库的名字不能是 已存在的数据库名
create database 数据库名;
3. 选中数据库
use 数据库名;
4. 删除数据库
drop database 数据库名; • 1
把数据库删除掉,这个操作十分危险,因为一旦执行成功后,此时数据大概率就恢复不回来了。以后在公司中,千万不要使用 drop database !!!
六、数据表操作
进行表操作之前,一定要先使用 use 选中当前表所在的数据库,因为针对于某张表操作,实际上这张表是在某个数据库中。
1. 创建表
create table 表名(列名 类型, 列名 类型......);
2. 查看表
show tables;
3. 查看表结构
查看某个表里面有几列,每一列都是什么类型,每一列都是什么名字,每一列其他的补充信息。desc 针对的是数据库中存储的表,而不能针对 select 所查询的临时表。
desc 的意思为:describe (描述)
desc 表名;
4. 删除表
drop table 表名;
删除表也是一个非常危险的操作,因为一旦执行成功后,此时数据大概率就恢复不回来了 !!!
七、注释
方式一:
-- 相当于 Java 中的 //
方式二:
commit
八、常用的 cmd 指令
复制:选中语句 + Enter 粘贴:Ctrl + v 中断当前的输入,并另起一行重新输入:Ctrl + c 重复使用上一个命令:上下方向键
九、MySQL 数据类型和关键字
1. MySQL 所有的数据类型:
2. 常用的数据类型
① 整数类型:(最长用 INT)
② 浮点数类型:
浮点数类型 | 字节 | 精度 |
FLOAT | 4 | 单精度 |
DOUBLE | 8 | 双精度 |
MySQL 的浮点数支持如下语法:
FLOAT(M,D) 或 DOUBLE(M,D)
在这里,M 称为精度 ,D 称为标度 。( M 表示整数位+小数位,D 表示小数位 )
③ 定点数类型:
DECIMAL(M,D) // M 称为精度 ,D 称为标度,它可以精确数值
定点数可以精确数值,常用于精度要求较高的场合,如果在代码中用到了 " 钱 " 的计算场合,或者测距等变量,可以使用 DECIMAL.
④ 时间类型:(最长用 DATETIME)
⑤ 文本字符串类型:
常用 varchar 指定 size,若文本数据过大,可以考虑 TEXT 之上.
3. MySQL 关键字
十、常用的数据类型
int:整型,4字节 double:浮点型,8字节 varchar(SIZE):字符串类型,0 - 65,535字节,字符串的最大长度 LONGTEXT:用于长文本字符串 datetime:日期类型,8字节
在上述的 varchar(SIZE) 中的 SIZE,在学习中,可以随意写,而在工作中,就不能乱写了,一般情况下,像这种字符串的长度,都会有明确规定,(最长多少 / 最短多少),一般由产品经理规定。
十一、基础的实用案例
在 test2 表中创建一张 student 表。
SQL 语句可以先在 IDEA 编辑器编写之后,再复制到数据库中,这样做便于我们修改和观察。
-- 如果存在数据库则不创建 create database if not exists test2; -- 选择 test2 数据库 use test2; -- 如果存在 student 表,就理解删除 drop table if exists student; -- 重新创建一张 student 表,并同时创建三个字段 create table student( id int primary key auto_increment, name varchar(20), total_score int ); -- 插入数据 insert into student values(null, '李明', '285'); insert into student values(null, '莉莉', '290'); insert into student values(null, '小红', '280');