黑马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

相关推荐
my一阁1 小时前
2025-web集群-问题总结
前端·arm开发·数据库·nginx·负载均衡·web
JIngJaneIL3 小时前
篮球论坛|基于SprinBoot+vue的篮球论坛系统(源码+数据库+文档)
java·前端·数据库·vue.js·论文·毕设·篮球论坛系统
一只叫煤球的猫5 小时前
MySQL 索引的 “最左前缀原则”,用查字典的例子讲透
数据库·mysql·性能优化
一只小bit6 小时前
MySQL常用内置函数整理:提高你的查询效率
数据库·mysql·数据完整性·表约束
chxii7 小时前
ISO 8601日期时间标准及其在JavaScript、SQLite与MySQL中的应用解析
开发语言·javascript·数据库
小丁爱养花9 小时前
Redis 内部编码/单线程模型/string
数据库·redis·缓存·1024程序员节
l1t9 小时前
利用DuckDB SQL求解集合数学题
数据库·sql·算法·集合·duckdb
筵陌9 小时前
MYSQL表的操作
数据库·mysql·1024程序员节