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

相关推荐
m0_6530313635 分钟前
腾讯云认证考试报名 - TDSQL数据库交付运维专家(TCCE MySQL版)
运维·数据库·腾讯云
power 雀儿38 分钟前
集群聊天服务器---MySQL数据库的建立
服务器·数据库·mysql
骑着王八撵玉兔2 小时前
【性能优化与架构调优(二)】高性能数据库设计与优化
数据库·性能优化·架构
想要入门的程序猿3 小时前
Qt写入excel
数据库·qt·excel
Q_970956394 小时前
java+vue+SpringBoo校园失物招领网站(程序+数据库+报告+部署教程+答辩指导)
java·数据库·vue.js
Wyc724094 小时前
Maven
java·数据库·maven
程序猿小D4 小时前
[附源码+数据库+毕业论文]基于Spring+MyBatis+MySQL+Maven+jsp实现的电影小说网站管理系统,推荐!
java·数据库·mysql·spring·毕业设计·ssm框架·电影小说网站
羊小猪~~4 小时前
数据库学习笔记(十七)--触发器的使用
数据库·人工智能·后端·sql·深度学习·mysql·考研
背太阳的牧羊人5 小时前
Neo4j 的向量搜索(Neo4jVector)和常见的向量数据库(比如 Milvus、Qdrant)之间的区别与联系
数据库·neo4j·milvus
liulun5 小时前
在浏览器中使用SQLite(官方sqlite3.wasm)
数据库·sqlite·wasm