MySQL数据库基础

MySQL数据库基础(第一章)

什么是数据库? 顾名思义就是用来存放数据的。
一个mysql服务 可以有N个数据库,一个数据库有N张表,每张表代表其不同的含义,一张表有N个字段, 每个字段都有其特定的描述。
用java举例:User类 id / name/ age -----> 对应数据库 ----> User类就是一个表 id/name/age就是表中的字段

首先使用SQLYong/NativeCat创建表
注意事项:
1:表名必须小写 如果有多个单词 则用下划线进行拼接
2.我们每一个表都应该有一个id字段,用于表示这个表记录(每一条数据)的唯一性,并且这个id字段一般用于主键/非空/自增(前提: 必须是数值类型)
3.在一个表中,尽量设置一个主键 如果在一个表中,有多个主键,则称之为联合主键
4.字段中 数值类型和字符串类型必须给定长度 日期类型是没有长度的
5.给字段起名: 单词必须小写 多个单词用_拼接
6.表名和字段名称不能使用关键字(可以百度查一下哪些是关键字)
7.在mysql表中,每一行都叫一条记录
8.mysql中的注释: #

新增数据

语法: insert into 表名 (字段名1,字段名2,字段名3…) values (字段值1,字段值2,字段值3…);
–依次输入,保存并命名为student(图1),把class_name作为外键链接另一个表—school(图2)

 INSERT into student
 (id,name,birthday,age,height,weight)
  VALUES 
  (4,'小红','1998-10-08',22,180.0,200.0);

1.id字段 是某一条记录的唯一标识 ID字段在数据库中一般都作为主键来使用 A表中有B表的ID 那么A表的B表ID就叫外键

2.自动增长: 如果设置这个表的id主键为自动增长,那么我们就不需要给id值,数据库会帮我们自动的将id赋值, 并且是有顺序的

在这里插入图片描述

在这里插入图片描述
新增数据时要注意里面的数值类型

数值类型
MySQL数据库基础_第1张图片经常用到的数值类型是INT,BIGINT,FLOAT,DOUBLE

字符串类型
MySQL数据库基础_第2张图片
字符串类型经常用到的是VARCHAR(相当于java中的String类型,小于25000字节),TEXT(用来存储大量数据文本的);

日期类型常用的有Date,Datetime

字段的约束
MySQL数据库基础_第3张图片

查询数据

1.查询指定的记录

语法: select 字段 from 表名 [where 条件]
例如查找student表里名字为小九的记录


select name from student  
where name ='小九'	

2.查询特定字段
语法:select 字段 from 表名
例如查找student表里的年龄的字段
select age from student
输出的是整个age字段

3.查询表里的所有记录
语法:select * from 表名
select *
from student

修改数据

语法:update 表名 set 字段 = 新值 where 条件
例如修改名字为小九为小八


update student set name='小八' 
where name=‘小九’

删除数据

语法:delete from 表名 where 条件
这里切记一定要加条件,否则删除的是所有的记录
删除小九的记录


delete from  student
where name=‘小九’

删除的是整行

排序

语法:select * from 表名 order by 字段 升序(ASC)/降序(DESC)
例如把年龄按照从小到大排列


select*from student 
order by age ASC

分组

语法:select *from 表名 group by 条件
根据年龄来分组


select*from student
group by age

*如果又分组又排序的话必须先分组再排序

分页

语法:select * from 表名 limit 值1,值2
limit代表执行分页,值1是从这个表中的哪个索引(下标)开始,值2是查询的条数数量
例如从id为4的小红开始,每页有两条,则


select*from student
limit 1,2

函数

1.平均值函数
语法:select avg(字段名称)from 表名
查询的字段必须是数值类型
例如:查询年龄的平均值


select avg(age)
from student

2.记录函数
语法:select count(字段名称) from 表名
例如查询student表里有几条记录


select count(name)
from student

3.最大值
语法:select max(字段名)from 表名
例如 查询年龄的最大值


select max (age)
from student

4.最小值
语法:select min(字段名)from 表名
例如 查询年龄的最小值


select min (age)
from student

5.求和
语法:select sum (字段名)from 表名
求身高的总和


select sum(height)
from student

6.字符串函数
MySQL数据库基础_第4张图片
7.日期函数
MySQL数据库基础_第5张图片
8.数学函数
MySQL数据库基础_第6张图片

子查询

需求:现有数据id=3的小红,查询这个小红的所在班级


select class from school where class =
(select class_name from student where id=4)

in查询

in是在…里面
需求:在student表里查询id有没有1,2,3这些值中


select*from student
where id in(1,2,3)

以上就是所有的MySQL数据库的基础了,有不是很清楚的请各位大神多多指教啦,后续会继续更新哒…

你可能感兴趣的:(MySQL数据库基础)