当前位置: 首页 > news >正文

Java web1(黑马)

java web

  java web概念

什么是java web?

> web全球广域网,也称为万维网,能够通过浏览器访问的网站

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

  数据库

>数据库:1.存储数据的仓库,数据是有组织的进行存储

                 2.英文:DataBase,简称DB

>数据库管理系统:1.管理数据库的大型软件。如:MySQL,oracle

                                2.DataBase Management System,简称DBMS

>SQL:   1.英文:Structured Query Longuge,简称SQL,结构化查询语言。

             2.操作关表型数据库的编程语言

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

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

关系:

SQL

一、概念

SQL:1.结构化查询语言,一门操作关系型数据库的编程语言

        2.对于同一需求,每一种数据库操作的方式可能会存在一些不一样的地方,我门称为“方言”

SQL通用语法:

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

        2.MySQL语不区分大小写,关键字建议使用大写。

        3注释:    单行: --  注释内容  或  #注释内容(MySQL特有)
                       多行:    /*注释内容*/

二、分类   

为了方便理解,根据功能区分

DDL :Data Definition Language,数据定义话言,用来定义数据库对象:数据库,表,列。

DML:Data Manipulation Language,数据操作语言,用来对数据库中表的数据进行增删改。

DQL:Data Query Language,数据查询语言,用来查询数据库中表的记录。

DCL:Data  Control Language,数据控制语言,用来定义数据库的访问权限和安全级别及创建用户 

1.DDL   (操作数据库,表等)

--操作数据库

1.查询    SHOW DATABASES;

2.创建

     ·创建数据库    CREATE DATABASE 数据库名称;

     ·创建数据库(判断,如果不存在则创建)

         CREATE DATABASE IF NOT EXISTS 数据名称;

3.删除

     ·删除数据库    DROP DATABASE 数据库名称;

     ·删除数据库  (判断,如果存在则删除)

        DROP DATABASE IF EXISTS 数据库名称;

4.使用数据库

     ·查看当前使用的数据库   

       SELECT DATABASE( );

     ·使用数据库   USE 数据库名称;

--操作表列

1.查询表
     ·查询当前数据库下所有表名称     SHOW TABLES;

     ·查询表结构       DESC  表名称;
2.创建表
CREATE TABLE 表名(

                        字段名1  数据类型1,

                        字段名2  数据类型2,

                       ......

                        字段名n  数据类型n

);

注:最后一行未尾,不能加逗号

3.删除表

      ·删除表        DROP TABLE 表名;

      ·删除表时判断表是否存在

        DROP TABLE IF EXISTS 表名;

4.修改表

      ·修改表名    ALTER TABLE 表名 RENAME TO 新的表名;

      ·添加一列    ALTER TABLE 表名 ADD 列名 数据类型;

     ·修改教据类型  ALTER TABLE 表名 MODIFY 列名 新数据类型;

     ·修改列名和数据类型 ALTER TABLE 表名 CHANGE 列名 新数据类型;

     ·删除列 ALTER TABLE 表名 DROP 列名;

数据类型

2.DML  (对表中的数据进行增删改)

1.添加数据

        ·给指定列添加数据

INSFRT INT0 表名(列名1,列名2,...)  VALUES(值1, 值2,...);

        ·给全部列添加数据
INSERT INTO 表名 VALUES(值1,值2,...);

       ·批量添加数据
INSERT INTO 表名(列名1,列名2,...) VALUES(值1,值2,..),(值1,值2,..),(值1,值2,..),...;

INSERT INTO 表名(值1,值2,..),(值1,值2,..)...;

2.修改数据

       ·修改数据   UPDATE 表名 SET 列名1=值1,列名2=值2,….[WHERE 条件];

       注意 :修改语句中如果不加条件,则将所有数据都修放!

3.删除数据
       删除数据  DELETE FROM 表名 [WHERE 条件];

注:删除语句中如果不加条件,则将所有数据都删除!

3.DQL  (对表中的数据进行查询)

查询语法

SELECT   字段到表

FRM    表名列表

WHERE   条件列表

GROUP BY  分组字段

HAYING  分组后条件

ORDER BY  排序字段

LIMIT     分页限定

1.基础查询

  ·查询多个字段

SELECT 字段列表 FROM 表名;

SELECT * FROM 表名;        -- 查询所有数据

  ·去除重复记录

SELECT DISTINCT 字段列表 FROM 表名;

   ·起别名
AS:         -- 可以省略,对列起别名

2.条件查询

 ·语法:SELECT 字段列表 FROM 表名 WHERE 条件列表;

·条件:



3.排序查询

   ·语法:SELECT 字段列表 FROM 表名 ORDER BY 排序字段名1[排序方式1],...;

   ·排序方式:

         ASC  升序排列(默认值)    DESC  降序排列

4.分组查询

     >聚合函数
  概念:将一列数据作为一个整体,进行纵向计算

  语法:SELECT 聚合教名(列名) FROM 表名;

:nul值不参与所有聚合函数运算
  分类:


    >分组查询

          分组查询语法:SELELT 字段列表 FROM 表名 [WHERE 分组前条件限定] GROUP BY 分组字段名 [HAVING 分组后条件过滤];

5.分页查询

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

    >起始索引: 从0开始

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

4.DCL  (对数据库进行权限控制)

约束


概念:1.约束是作用于表中列上的规则,用于限制加入表的数据

          2.约束的存在保证了数据库中数据的正确性、有效性和完整性

约束的分类

注:MySQL不支持检查约束
   outo_increment   自动增长

添加约束语法:
       -- 创建表时添加约束

       CREATE TABLE 表名(

                 列高 数据类型 约束关键字,

                    ....

);

外键约束:

     1.添加约束(创建表时)

CREATE TABLE 表名(

                 列名 数据是型
               ICONSTRAINTI [外键名称] FOREIGN KEY(外键列名) REFERENCES  主表(主表列名)

);

 注:在创建表时应先创建主表,添加主表数据,在创从表,添加从表数据。

   2.添加外健(创建完表后)

ALTER TABLE 表名 ADD CONSTRAINT 外键名称 FOREIGN KEY ( 外键字段名称)REFERENCES 主表名(主表列名称);


  3.删除约束

ALTER TABLE 表名 DROP FOREIGN KEY 外键名称;

http://www.lryc.cn/news/578216.html

相关文章:

  • 【知识图谱构建系列7】:结果评价(1)
  • K8s环境下基于Nginx WebDAV与TLS/SSL的文件上传下载部署指南
  • 【Java面试】如何解决MQ死信队列?
  • OpenCV CUDA模块设备层----计算向量的平方根函数sqrt
  • 使用nomachine远程连接ARM设备桌面
  • C# 字符串中‘$‘和‘@‘的使用
  • C++的特殊类
  • STM32——DAP下载程序和程序调试
  • (4)pytest-fixture
  • Go语言安装使用教程
  • 深度剖析 LNK 参数隐藏攻击 (ZDI-CAN-25373)
  • 【甲方安全建设】敏感数据检测工具 Earlybird 安装使用详细教程
  • 门控循环单元(GRU):LSTM 的轻量级高效 “记忆专家”
  • Instrct-GPT 强化学习奖励模型 Reward modeling 的训练过程原理实例化详解
  • beforeRouteLeave 的触发本质
  • 2025年6月个人工作生活总结
  • 字节跳动 C++ QT PC客户端面试
  • 机器人仿真(1)Ubuntu24.04下CLion的ROS2开发环境配置
  • C++ 快速回顾(五)
  • 接口测试之接口关联
  • OpenCV CUDA模块设备层----- 正切(tangent)运算函数tan()
  • 一文讲清楚React中类组件与函数组件的区别与联系
  • C/C++ 使用rapidjson库 操作Json格式文件(创建、插入、解析、修改、删除)
  • 【2025最新】Ubuntu22.04 安装 MySQL8.0 教程
  • 零成本接入+企业级部署:2025年AI大模型实战指南
  • Linux云计算基础篇(2)
  • 对称非对称加密,https和http,https通讯原理,Charles抓包原理
  • 三态门Multisim电路仿真——硬件工程师笔记
  • 大模型在多发性硬化预测及治疗方案制定中的应用研究
  • Python 安装使用教程