黑马java-JavaWeb-MySQL基本操作

1.JavaWeb:

用java技术来解决相关web互联网领域的技术栈

2.数据库:

存储数据的仓库,数据是有组织的进行存储

英文:DataBase,简称DB

3.数据库管理系统:

管理数据库的大型软件

英文:DataBase Management System简称DBMS

4.SQL

英文:Structured Query Language,简称SQL,结构化查询语言

操作关系型数据库的编程语言

定义操作所有关系型数据库的统一标准

5.关系型数据库

关系型数据库是建立在关系模型基础上的数据库,简单说,关系型数据库是由多张能互相连接的二维表组成的数据库

优点:

1.都是使用表结构,格式一致,易于维护

2.使用通用的sql语言操作,使用方便,可用于复杂查询

3,数据存储在磁盘中,安全

6.sql通用语法

1.sql语句可以单行或多行书写,以分号结尾

2.Mysql数据库的sql语句不区分大小写,关键字建议大写

3,注释

单行注释:--注释内容或#注释内容

多行注释:/*注释内容*/

6.DDL:操作数据库、表等

DML:对表中数据进行增删改

DQL:对表中数据进行查询

DCL:对数据库进行权限控制

6.DDL:

数据库:

  1. 查询:show databases;
  2. 创建:create database 数据库名称;
  3. 创建数据库(判断,如果不存在则创建):create database if not exists 数据库名称;
  4. 删除数据库:drop database 数据库名称;
  5. 删除数据库(判断,如果存在则删除):drop database if exists 数据库名称;
  6. 查看当前使用的数据库:select database();
  7. 使用数据库:use database

表操作:

查询当前数据库下索引表名称:show tables;

查询表结构:desc 表名称;

创建表:create table 表名(

字段名1 数据类型1,

字段名2 数据类型2,

。。。。

字段名n 数据类型n

);

删除表:drop table 表名;

删除表时判断表是否存在:drop table if exist 表名;

修改表名:alter table 表名 rename to 新的表名;

添加一列:alter table 表名 add 列名 数据类型;

修改数据类型:alter table 表名 modify 列名 新数据类型;

修改列名和数据类型:alter table 表名 change 列名 新列名 新数据类型;

删除列:alter table 表名 drop 列名;

指定列添加数据:insert into 表名(列名1,列名2...)values(值1,值2,...);

给全部列添加数据:insert into 表名 values (值1,值2,....);

批量添加数据:insert into 表名(列名1,列名2,.....)values(值1,值2,....),(值1,值2,...).....;

insert into 表名 values(值1,值2,...),(值1,值2,...),...;

修改表数据:update 表名 set 列名1=值1,列名2=值2,...where 条件

删除表数据:delete from 表名 where 条件

7.DQL

查询多个字段:SELECT 字段列表 FROM 表名;

查询所有数据:SELECT *FROM 表名

去除重复记录:SELECT DISTINCT 字段列表 FROM 表名;

起别名:AS

条件查询:SELECT 字段列表 FROM 表名 WHERE 条件列表;

NULL不能使用=,需要使用is或者is not

模糊查询:

排序查询:

排序查询法:

SELECT 字段列表 FROM 表名 ORDER BY 排序字段名1 排序方式1,排序字段名2 排序方式2...;

排序方式:ASC:升序排序(默认值)

DESC:降序排序

注意:如果有多个排序条件,当前边的条件值一样时,才会根据第二条件进行排序

聚合函数:

1.概念:将一列数据作为一个整体,进行纵向计算

2.聚合函数分类:

3.聚合函数语法:

SELECT 聚合函数名(列名) FROM 表;

注意:null值不参与所有聚合函数运算

分组查询:

1.语法:SELECT 字段列表 FROM 表名 WHERE 分组前条件限定 GROUP BY 分组字段名 HAVING 分组后条件过滤;

注意:分组之后,查询的字段为聚合函数和分组字段,查询其他字段无任何意义

where和having的区别:

执行时机不一样:where是分组之前进行限定,不满足where条件,则不参与分组,而having是分组之后对结果进行过滤

可判断的条件不一样:where不能对聚合函数进行判断,having可以

执行顺序:where>聚合函数>having

分页查询:

语法:SELECT 字段列表 FROM 表名 LIMIT 起始索引,查询条目数;

起始索引:从0开始

计算公式:起始索引=(当前页面-1)*每页显示的条数

tips:

分页查询limit是MYSQL数据库的方言

Oracle分页查询使用rownumber

SQL server 分页查询使用top

相关推荐
卓怡学长3 小时前
w255基于springboot仓库管理系统
java·数据库·spring boot·spring·intellij-idea
J-Tony116 小时前
【Redis】 Redis 是单线程还是多线程
服务器·数据库·mysql
这个DBA有点耶6 小时前
SQL调优进阶:从“优化一条SQL”到“优化一个系统”的思维升级
java·大数据·数据库·sql·程序人生·dba·改行学it
IvorySQL6 小时前
PG 日报|SQL/PGQ 图查询基于联接重写机制实现
数据库·人工智能·sql·postgresql·区块链·ivorysql
数聚天成DeepSData9 小时前
遥感农业数据集下载全攻略
数据库·人工智能·深度学习·机器学习·自然语言处理·数据挖掘
一勺菠萝丶9 小时前
生产环境平滑升级实战-Nginx维护页数据库迁移与安全回滚
数据库·nginx·安全
心静自然凉8009 小时前
MySQL主从同步配置(一主一从)
数据库
haidy ahmed10 小时前
企微复杂审批流反序列化:动态表单解析引擎与EAV存储模型
数据库·人工智能·自动化·企业微信
Lihua奏10 小时前
MVCC:为什么多人同时读写数据,数据库还能不乱
数据库
9523610 小时前
Redis - 应用
数据库·redis·分布式·缓存