[JavaWeb]SQL介绍-DDL-DML
SQL介绍-DDL-DML
- 一.SQL简介
- 1.简介
- 2.SQL通用语法
- 3.SQL语言的分类
- 二.DDL-操作数据库与表
- 1.DDL操作数据库
- 2.DDL操作表
- ①.查询表(Retrieve)
- ②.创建表(Create)
- ③.修改表(Update)
- ④.删除表(Delete)
- 三.Navicat的安装与使用
- 四.DML-操作表数据
- 1.添加(Insert)
- 2.修改(Update)
- 3.删除(Delete)
一.SQL简介
1.简介
- SQL: Structured Query Language–结构化查询语言
- 用来操作关系型数据库的编程语言, 定义了关系型数据库的统一标准
- 每一种数据库可能有不一样的语法, 我们称其为"方言"
2.SQL通用语法
- SQL语句可以单行或多行书写,以分号结尾
- MySQL语句不区分大小写, 但是关键字建议用大写
- 注释:
单行注释-- 注释内容(–后必须有空格)或#注释内容(MySQL特有)(#后可以没有空格)
多行注释/*注释*/
3.SQL语言的分类
- DDL(Data Definition Laguage)数据定义语言,用来定义数据对象: 数据库, 表, 列等
- DML(Data Manipulation Laguage)数据操作语言, 用来对数据库中表的数据进行增删改
- DQL(Data Query Language)数据查询语言, 用来查询数据库中的记录(数据)
- DCL(Data Control Language)数据控制语言, 用来定义数据库的访问权限和安全级别, 以及创建用户
二.DDL-操作数据库与表
1.DDL操作数据库
| 动作 | SQL语句 |
|---|---|
| 查询数据库 | SHOW DATABASES; |
| 创建数据库 | CREATE DATABASE 数据库名称; |
| 创建(判断是否已经存在) | CREATE DATABASE IF NOT EXISTS 数据库名称; |
| 删除数据库 | DROP DATABASE 数据库名称; |
| 删除(判断是否还存在) | DROP DATABASE IF EXISTS 数据库名称; |
| 查看当前使用的数据库 | SELECT DATABASE(); |
| 使用数据库 | USE 数据库名称; |
2.DDL操作表
①.查询表(Retrieve)
- 查询当前数据库下所有表的名称
SHOW TABLES; - 查询表结构
DESC 表名称;
②.创建表(Create)
- 创建表用
CREATE TABLE 表名来进行创建具体语法如下
create table 表名 (字段名1 数据类型1,字段名2 数据类型2,...,字段名n 数据类型n
);
- SQL的数据类型基本可以分为三类
数值型
日期型
字符串型

案例练习:

create table student(id int,name varchar(10),gender char(1),birthday date,score double(5,2),email varchar(64),tel varchar(15),status tinyint
);
③.修改表(Update)
- 修改表的命令一般以
ALTER TABLE开头具体可以分为
| 操作 | 语法 |
|---|---|
| 修改表名 | ALTER TABLE 表名 RENAME TO 新表名; |
| 添加一列 | ALTER TABLE 表名 ADD 列名 数据类型; |
| 修改数据类型 | ALTER TABLE 表名 MODIFY 列名 新数据类型; |
| 修改列名和数据类型 | ALTER TABLE 表名 CHANGE 列名 新列名 新数据类型; |
| 删除列 | ALTER TABLE 表名 DROP 列名; |
④.删除表(Delete)
- 删除表
DROP TABLE 表名; - 删除时判断是否存在
DROP TABLE IF EXISTS 表名;
三.Navicat的安装与使用
- Navicat for MySQL是管理和开发MySQL或MariaDB的理想解决方案.
- 它为开发者提供了一款直观而强大的图形界面.
- 官网链接: http://www.navicat.com.cn

安装完成后直接打开,填写需要连接的ip与主机的地址
如果连接过程提示报错,可以参看这个博主的文章 - 登录成功后可以通过Navicat来查看MySQL的数据库了
四.DML-操作表数据
1.添加(Insert)
| 说明 | 语法 |
|---|---|
| 给指定的列添加数据 | INSERT INTO 表名(列名1,列名2,...) VALUES(值1,值2,...); |
| 给全部列添加数据 | INSERT INTO 表名 VALUES(值1,值2,...); |
| 批量添加数据 | INSERT INTO 表名(列名1,列名2,...) VALUES(值1,值2,...),(值1,值2,...),(值1,值2,...),...INSERT INTO 表名 VALUES(值1,值2,...),(值1,值2,...),(值1,值2,...)...; |
-- 查询所有数据
SELECT*
FROMstu;-- 给指定列添加数据 INSERT INTO 表名(列名1,列名2,...) VALUES(值1,值2,...);
INSERT INTO stu (id, NAME) VALUES (1, '叶子');-- 给所有列添加数据(可以省略列名的列表)INSERT INTO 表名 VALUES(值1,值2,...);
INSERT INTO stu
VALUES (2,'老黄','男','1997-07-24',99.1,'14587138@qq.com','11929305651',1);-- 批量添加,其实就是把之前的括号中的内容多次执行
INSERT INTO stu
VALUES(3,'罗磊','男','1997-05-24',110.1,'14333138@qq.com','11929467551',1),(4,'娟老师','女','1999-04-14',120.1,'556587138@qq.com','1349305651',1),(5,'雷der','男','1993-04-24',130.1,'16487138@qq.com','17629305651',1);SELECT * FROM stu;
2.修改(Update)
- 语法
UPDATE 表名 SET 列名1=值1,列名2=值2,... [WHERE 条件];
-- 将表中 老黄的邮箱改为163邮箱
UPDATE stu SET email = 'finsq@163.com' WHERE id=2;-- 将表中老黄的分数改为100,电话改为110,状态改为3
UPDATE stu SET score=100,tel=110,`status`=3 WHERE name='老黄';-- 注意:如果update语句中不添加where条件,则会修改表中的所有数据!!!!
3.删除(Delete)
- 与修改相似
DELETE FROM 表名 [WHERE 条件];
-- 删除表中 '雷der'相关的数据
DELETE FROM stu WHERE name='雷der';SELECT * FROM stu;
-- 如果不加where限制会清除所有表数据
B站视频课程
笔记与源码文件
相关文章:
[JavaWeb]SQL介绍-DDL-DML
SQL介绍-DDL-DML 一.SQL简介1.简介2.SQL通用语法3.SQL语言的分类 二.DDL-操作数据库与表1.DDL操作数据库2.DDL操作表①.查询表(Retrieve)②.创建表(Create)③.修改表(Update)④.删除表(Delete) 三.Navicat的安装与使用四.DML-操作表数据1.添加(Insert)2.修改(Update)3.删除(Del…...
git源码安装(无sudo权限)
git源码安装(无sudo权限) 下载源码解压安装添加到环境变量 下载源码 去https://mirrors.edge.kernel.org/pub/software/scm/git/下载需要的版本。我下载的是2.41.0版本 wget https://mirrors.edge.kernel.org/pub/software/scm/git/git-2.41.0.tar.gz解…...
Web3 叙述交易所授权置换概念 编写transferFrom与approve函数
前文 Web3带着大家根据ERC-20文档编写自己的第一个代币solidity智能合约 中 我们通过ERC-20一种开发者设计的不成文规定 也将我们的代币开发的很像个样子了 我们打开 ERC-20文档 我们transfer后面的函数就是transferFrom 这个也是 一个账号 from 发送给另一个账号 to 数量 val…...
Redis系列二:Clion+MAC+Redis环境搭建
1. ClionMACRedis-3.0-annotated环境搭建 参考: https://github.com/huangz1990/redis-3.0-annotated https://gitee.com/dumpcao/redis-3.0-annotated-cmake-in-clion https://tool.4xseo.com/a/12910.html 1.1 下载并导入Clion git clone https://gitee.com/dum…...
Linux下 Docker容器引擎基础(2)
目录 创建私有仓库 将修改过的nginx镜像做标记封装,准备上传到私有仓库 将镜像上传到私有仓库 从私有仓库中下载镜像到本地 CPU使用率 CPU共享比例 CPU周期限制 CPU 配额控制参数的混合案例 内存限制 Block IO 的限制 限制bps 和iops 创建私有仓库 仓库&a…...
现场服务管理系统有哪些?5个现场服务管理软件对比
现场售后服务管理软件的使用者通常是机械设备、家电、仪表仪器、医疗器械等厂商的工程师和客服调度人员。现场售后服务管理软件可将服务过程标准化,包括工单派发、服务过程步骤、配件订购出货和付款、客户评价都有系统支持,有的现场售后服务软件还支持数…...
leetcode 912.排序数组
⭐️ 题目描述 🌟 leetcode链接:排序数组 思路: 此题如果使用冒泡插入选择这些时间复杂度 O ( N 2 ) O(N^2) O(N2) 的算法会超时,使用快排 优化也过不去,因为里面有一个测试用例全是 2 即使加了三数取中也会是 O (…...
利用MMPreTrain微调图像分类模型
前言 MMPreTrain是一款基于PyTorch的开源深度学习预工具箱,是OpenMMLab项目的成员之一MMPreTrain的主要特性有: 支持多元化的主干网络与预训练模型支持多种训练策略(有监督学习,无监督学习,多模态学习等)提…...
express学习笔记3 - 三大件
便于统一管理router,创建 router 文件夹,创建 router/index.js: const express require(express)// 注册路由 const router express.Router() router.get(/,function(req,res){res.send(让我们开始express之旅) }) /*** 集中处理404请求的…...
Java课题笔记~Maven基础
2、Maven 基础 2.1 Maven安装与配置 下载安装 配置:修改安装目录/conf/settings.xml 本地仓库:存放的是下载的jar包 中央仓库:要从哪个网站去下载jar包 - 阿里云的仓库 2.2 创建Maven项目...
三步问题(力扣)n种解法 JAVA
目录 题目:1、dfs:2、dfs 备忘录(剪枝):(1)神器 HashMap 备忘录:(2)数组 memo 备忘录: 3、动态规划:4、利用 static 的储存功能:&…...
flask---》登录认证装饰器/配置文件/路由系统
登录认证装饰器 # 0 装饰器的本质原理-# 类装饰器:1 装饰类的装饰器 2 类作为装饰器 # 1 装饰器使用位置,顺序 # 3 flask路由下加装饰器,一定要加endpoint-如果不指定endpoint,反向解析的名字都是函数名,不加装饰器…...
Jvm实际运行情况-JVM(十七)
上篇文章说jmap和jstat的命令,如何查看youngGc和FullGc耗时和次数。 Jmap-JVM(十六) Jvm实际运行情况 背景: 机器配置:2核4G JVM内存大小:2G 系统运行天数:7天 期间发生FULL GC次数和耗时…...
【BASH】回顾与知识点梳理(二)
【BASH】回顾与知识点梳理 二 二. Shell 的变量功能2.1 什么是变量?2.2 变量的取用与设定: echo, 变量设定规则: set/unset2.3 环境变量的功能用 set 观察所有变量 (含环境变量与自定义变量)export: 自定义变量转成环境变量那如何将环境变量转成自定义变…...
【分布式训练】Accelerate 多卡训练,单卡评测,进程卡住的解决办法
最近想把之前的一个模型的改成多卡训练的。我并不懂DDP,DP。一开始打算使用Transformers的Trainer,但是配置的过程踩了很多坑也没有弄成功。【我是自己写的评测方法,但是我找不到能让触发Trainer去用我的方法评测的路劲】,后来偶然…...
时间复杂度为O(nlogn)的两种排序算法
1.归并排序 归并排序的核心思想:如果要排序一个数组,我们先把数组从中间分成前后两部分,然后对前后两部分分别排序,再将排好序的两部分合并在一起,这样整个数组就都有序了。 归并排序使用的就是分治思想。分治&#x…...
java调用onnx模型,支持yolov5和yolov7
不点star不给解答问题 可直接运行主文件:ObjectDetection_1_25200_n.java 或者 ObjectDetection_n_7.java 都可以直接运行两个可以运行的主文件是为了支持不用网络结构的模型,即使是onnx模型,输出的结果参数也不一样,支持以下两种…...
DP-GAN损失
在前面我们看了生成器和判别器的组成。 生成器损失公式: 首先将fake image 和真实的 image输入到判别器中: 接着看第一个损失:参数分别为fake image经过判别器的输出mask,和真实的label进行损失计算。对应于: 其中l…...
自监督去噪:Noise2Void原理和调用(Tensorflow)
文章原文: https://arxiv.org/abs/1811.10980 N2V源代码: https://github.com/juglab/n2v 参考博客: https://zhuanlan.zhihu.com/p/445840211https://zhuanlan.zhihu.com/p/133961768https://zhuanlan.zhihu.com/p/563746026 文章目录 1. 方法原理1.1 Noise2Noise回…...
Mac 安装配置adb命令环境(详细步骤)
一、注意:前提要安装java环境。 因为android sdk里边开发的一些包都是依赖java语言的,所以,首先要确保已经配置了java环境。 二、在Mac下配置android adb命令环境,配置方式如下: 1、下载并安装IDE (andr…...
conda相比python好处
Conda 作为 Python 的环境和包管理工具,相比原生 Python 生态(如 pip 虚拟环境)有许多独特优势,尤其在多项目管理、依赖处理和跨平台兼容性等方面表现更优。以下是 Conda 的核心好处: 一、一站式环境管理:…...
css实现圆环展示百分比,根据值动态展示所占比例
代码如下 <view class""><view class"circle-chart"><view v-if"!!num" class"pie-item" :style"{background: conic-gradient(var(--one-color) 0%,#E9E6F1 ${num}%),}"></view><view v-else …...
Android15默认授权浮窗权限
我们经常有那种需求,客户需要定制的apk集成在ROM中,并且默认授予其【显示在其他应用的上层】权限,也就是我们常说的浮窗权限,那么我们就可以通过以下方法在wms、ams等系统服务的systemReady()方法中调用即可实现预置应用默认授权浮…...
深入解析C++中的extern关键字:跨文件共享变量与函数的终极指南
🚀 C extern 关键字深度解析:跨文件编程的终极指南 📅 更新时间:2025年6月5日 🏷️ 标签:C | extern关键字 | 多文件编程 | 链接与声明 | 现代C 文章目录 前言🔥一、extern 是什么?&…...
springboot整合VUE之在线教育管理系统简介
可以学习到的技能 学会常用技术栈的使用 独立开发项目 学会前端的开发流程 学会后端的开发流程 学会数据库的设计 学会前后端接口调用方式 学会多模块之间的关联 学会数据的处理 适用人群 在校学生,小白用户,想学习知识的 有点基础,想要通过项…...
CRMEB 中 PHP 短信扩展开发:涵盖一号通、阿里云、腾讯云、创蓝
目前已有一号通短信、阿里云短信、腾讯云短信扩展 扩展入口文件 文件目录 crmeb\services\sms\Sms.php 默认驱动类型为:一号通 namespace crmeb\services\sms;use crmeb\basic\BaseManager; use crmeb\services\AccessTokenServeService; use crmeb\services\sms\…...
Kubernetes 网络模型深度解析:Pod IP 与 Service 的负载均衡机制,Service到底是什么?
Pod IP 的本质与特性 Pod IP 的定位 纯端点地址:Pod IP 是分配给 Pod 网络命名空间的真实 IP 地址(如 10.244.1.2)无特殊名称:在 Kubernetes 中,它通常被称为 “Pod IP” 或 “容器 IP”生命周期:与 Pod …...
鸿蒙HarmonyOS 5军旗小游戏实现指南
1. 项目概述 本军旗小游戏基于鸿蒙HarmonyOS 5开发,采用DevEco Studio实现,包含完整的游戏逻辑和UI界面。 2. 项目结构 /src/main/java/com/example/militarychess/├── MainAbilitySlice.java // 主界面├── GameView.java // 游戏核…...
车载诊断架构 --- ZEVonUDS(J1979-3)简介第一篇
我是穿拖鞋的汉子,魔都中坚持长期主义的汽车电子工程师。 老规矩,分享一段喜欢的文字,避免自己成为高知识低文化的工程师: 做到欲望极简,了解自己的真实欲望,不受外在潮流的影响,不盲从,不跟风。把自己的精力全部用在自己。一是去掉多余,凡事找规律,基础是诚信;二是…...
Java并发编程实战 Day 11:并发设计模式
【Java并发编程实战 Day 11】并发设计模式 开篇 这是"Java并发编程实战"系列的第11天,今天我们聚焦于并发设计模式。并发设计模式是解决多线程环境下常见问题的经典解决方案,它们不仅提供了优雅的设计思路,还能显著提升系统的性能…...
