JAVA WEB 重学day09


学习目标

  • 能够理解数据库的概念
  • 能够安装MySQL数据库
  • 能够启动,关闭及登录MySQL
  • 能够使用SQL语句操作数据库
  • 能够使用SQL语句操作表结构
  • 能够使用SQL语句进行数据的添加修改和删除的操作
  • 能够使用SQL语句进行排序
  • 能够使用聚合函数
  • 能够使用SQL语句进行分组查
  • 能够使用SQL语句添加主键、外键、唯一、非空约束

SQL概述

  1. SQL的概念
    Structrue Query Language 结构化查询语言
  2. SQL的作用:对数据库进行操作(创建库,删除库,创建表,删除表,增删改查表单数据)
SQL语句分类说明
DDLData Define Language
数据定义语言
用于创建数据库,数据表等操作
关键字:create、drop…
DMLData Manipulation Language
数据操作语言
用于对数据表数据进行增删改操作
关键字:insert/update/delete
DQLData Query Language
数据查询语言
用于对数据进行查询操作
关键字:select/show
DCLData Control Language
数据控制语言
用于创建用户,删除用户,给用户分配权限等操作
关键字:grant/removke

DDL语句-操作数据库

在这里插入图片描述

DDL语句操作数据库语法
创建数据库create database 数据库名;
查看所有数据库show databases;
查看某个数据库的定义信息show create database 数据库;
修改数据库的字符集alter database 数据库名 default character set 码表;
删除数据库drop database 数据库名;
查看正在使用的数据库select database();
使用数据库use数据库名

DDL语句-操作数据表

DDL语句操作数据表语法
创建数据表create table 表名(字段名1 数据类型,…);
查看数据库所有表show tables;
查看表结构desc 表名;
查看创表语句show create table 表名;
复制表(只复制结构,不复制数据)create table 新表名 like 旧表名;
删除表drop table 表名;
判断表是否存在,存在则删除drop table if exists 表名;

DML语句-插入数据

DML语句之插入数据

/**
插入数据语法:
格式1:insert into 表名(字段名1,…) values(值1,…);
格式2:insert into 表名 values(值1,…);
*/
– 向student表中插入记录: 插入全部字段(所有的字段名都写出来)
注意1:除了数值型,其他所有类型的数据都必须使用引号括起来:
可以单引号也可以双引号, 推荐使用单引号
注意2:字段名和值的顺序要一直,个数要一致,类型要一致

insert into student(id,name,sex,birthday) values(1,‘jack’,‘男’,‘2020-10-20’);

– 向student表中插入记录: 插入全部字段(不写字段名)

insert into student values(2,‘rose’,‘女’,‘2020-11-11’);

– 向student表中插入记录: 插入部分字段
insert into student(id,name) values(5,‘小明’),(4,‘小波’);

DML语句插入数据语法
插入全部字段insert into 表名(字段1,…) values(值1,…)insert into 表名 values(值1,…)
插入部分字段insert into 表名(字段1,…) values(值1,…)
插入多条数据insert into 表名(字段1,…) values(值1,…),(值1,…);

DML语句-更新数据

DML语句更新数据语法
不带条件更新Update 表名 set 字段名1=值1,字段名2=值2,…;
带条件更新Update 表名 set 字段名1=值1,字段名2=值2,… where 条件;

DML语句-删除数据

DML语句删除数据语法
删除满足条件的数据delete from 表名 where 条件;
删除所有数据delete from 表名;
删除所有数据truncate 表名;

DQL语句-简单数据

DQL语句查询数据语法
查询所有数据select * from 表名;
查询满足条件的数据select * from 表名 where 条件;
查询数据指定别名select 字段名 别名,… from 表名 where 条件;

DQL语句-条件查询-排序查询

排序查询分类语法
单列排序select * from 表名 order by 字段名 asc或desc
asc:升序,默认值
desc:降序
组合排序select * from 表名 order by 字段名 asc或desc, 字段名 asc或desc

聚合函数查询

在这里插入图片描述

MySQL常用聚合函数说明
count求数量
sum求和
max求最大值
min求最小值
avg求平均值

分组查询

分组查询的语法:select * from 表名 group by 字段名 having 条件;

注意

1、分组后聚合函数操作的不再是行数据,而是组数据了。

2、对于分组后的条件需要使用having子句

3、having语句后使用的字段名必须是出现在select语句中的

having与where的区别:

where:一行一行过滤数据:横向查询,不能在后面使用聚合函数(属性纵向查询)。
having:用于分组之后过滤数据,可以使用聚合函数的。

分页查询

分页查询的语法:select * from 表名 limit 跳过的行数,要查询的记录数

数据库约束概述

约束的作用:对表中的数据进行限制,保证数据的正确性、有效性。

约束名约束关键字
主键约束primary key
非空约束not null
唯一约束unique
默认约束default 默认值
外键约束constraint foregin key(外键列名) references 主表(主键)
检查约束mysql 不支持

主键约束

在这里插入图片描述

主键约束小结说明
主键的作用记录的唯一标识
主键的特点非空且唯一
添加主键约束创表时添加:字段名 数据类型 primary key
修改表结构添加:alter table 表名 add primary key(主键列名)
删除主键约束alter table 表名 drop primary key;

主键自增长

语法:字段名 数据类型 primary key auto_increment;

唯一约束

唯一约束小结
作用约束某一列的值不能重复
语法字段名 数据类型 unique

非空约束

非空约束小结
作用约束某一列的值不能为null
语法字段名 数据类型 not null
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值