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

数据库语法复习

总结:

DDL(数据定义语言)

  • CREATE DATABASE:创建一个新的数据库。
  • DROP DATABASE:删除一个数据库。
  • CREATE TABLE:创建一个新的表。
  • DROP TABLE:删除一个表。
  • ALTER TABLE:修改表的结构,如添加、删除或修改列。

DML(数据操作语言)

  • INSERT INTO:向表中插入新记录。
  • SELECT:从表中检索数据。
  • UPDATE:修改表中的现有记录。
  • DELETE:从表中删除记录。

DQL(数据查询语言)

  • 实际上是DML的一部分,但常用来特别指代SELECT命令及其相关操作(如聚合函数、排序、分组等)。

TCL(事务控制语言)

  • BEGIN TRANSACTION(或START TRANSACTION):开始一个新的事务。
  • COMMIT:提交当前事务,使其更改永久化。
  • ROLLBACK:撤销当前事务的更改。

DCL(数据控制语言)

  • GRANT:授予用户或角色对数据库对象的权限。
  • REVOKE:撤销用户或角色对数据库对象的权限。

1.创建数据库

CREATE DATABASE database_name;

2.删除数据库

DROP DATABASE database_name;

 3.选择数据库

USE database_name;

4.创建表

CREATE TABLE table_name (

column1 datatype,

column2 datatype,

column3 datatype,

.... );

5.删除表

 DROP TABLE table_name;

6.插入数据

INSERT INTO table_name (column1, column2, column3, ...)

VALUES (value1, value2, value3, ...);

 7.查询数据

SELECT column1, column2, ...

FROM table_name

WHERE condition;

8.更新数据

UPDATE table_name

SET column1 = value1, column2 = value2, ...

WHERE condition;

9.删除数据

DELETE FROM table_name WHERE condition;

10条件语句

    • 等于: =
    • 不等于: <> 或 !=
    • 大于: >
    • 小于: <
    • 大于等于: >=
    • 小于等于: <=
    • AND, OR, NOT 用于组合条件

11.排序 

SELECT column1, column2, ...

FROM table_name

ORDER BY column1

ASC|DESC;

12.聚合函数

    • COUNT(): 计算行数
    • SUM(): 计算总和
    • AVG(): 计算平均值
    • MAX(): 返回最大值
    • MIN(): 返回最小值

13.分组

SELECT column_name(s), aggregate_function(column_name)

FROM table_name

WHERE condition

GROUP BY column_name(s);

​​​​​​​14.连接表

    • INNER JOIN: 返回两个表中都有的记录
    • LEFT JOIN: 返回左表中的所有记录,以及右表中匹配的记录
    • RIGHT JOIN: 返回右表中的所有记录,以及左表中匹配的记录
    • FULL JOIN: 返回左表和右表中的所有记录,如果某一边没有匹配,则结果中对应字段为空
  1. 15.创建索引

CREATE INDEX index_name ON table_name (column1, column2, ...);

16.删除索引

DROP INDEX index_name ON table_name;

17.修改表结构

  • 添加列: ALTER TABLE table_name ADD column_name datatype;
  • 删除列: ALTER TABLE table_name DROP COLUMN column_name;
  • 修改列: ALTER TABLE table_name MODIFY COLUMN column_name new_datatype; (注意:不是所有数据库系统都支持MODIFY COLUMN)
  • 重命名列: 这通常需要一个两步过程,首先添加一个新列,然后将旧列的数据复制到新列,最后删除旧列。但某些数据库系统(如MySQL)提供了重命名列的直接方法。

18.事务管理

  • 开始事务: BEGIN; 或 START TRANSACTION;
  • 提交事务: COMMIT;
  • 回滚事务: ROLLBACK;

数据库语法通常指的是用于管理和操作数据库的各种命令和语句。
这些语法因不同的数据库管理系统(DBMS)而异,但大多数关系
型数据库管理系统(RDBMS)都支持SQL(结构化查询语言)作
为其核心语言。以下是一些常见的数据库语法示例,这些示例在
大多数RDBMS中都是通用的或相似的:1. DDL (数据定义语言)
创建数据库sql
CREATE DATABASE database_name;
删除数据库sql
DROP DATABASE database_name;
创建表sql
CREATE TABLE table_name (  column1 datatype,  column2 datatype,  ...  
);
删除表sql
DROP TABLE table_name;
修改表结构sql
-- 添加列  
ALTER TABLE table_name ADD column_name datatype;  -- 删除列  
ALTER TABLE table_name DROP COLUMN column_name;  -- 修改列的数据类型  
ALTER TABLE table_name ALTER COLUMN column_name new_datatype;
2. DML (数据操作语言)
插入数据sql
INSERT INTO table_name (column1, column2, ...)  
VALUES (value1, value2, ...);
查询数据sql
SELECT column1, column2, ...  
FROM table_name  
WHERE condition;
更新数据sql
UPDATE table_name  
SET column1 = value1, column2 = value2, ...  
WHERE condition;
删除数据sql
DELETE FROM table_name WHERE condition;
3. DQL (数据查询语言)
聚合函数sql
SELECT COUNT(column_name), AVG(column_name), ...  
FROM table_name  
WHERE condition;
排序sql
SELECT column1, column2, ...  
FROM table_name  
ORDER BY column1 ASC|DESC;
分组sql
SELECT column_name(s), aggregate_function(column_name)  
FROM table_name  
WHERE condition  
GROUP BY column_name(s);
4. TCL (事务控制语言)
开始事务sql
BEGIN TRANSACTION;
提交事务sql
COMMIT;
回滚事务sql
ROLLBACK;
5. DCL (数据控制语言)
创建用户 (在SQL Server中)sql
CREATE LOGIN login_name WITH PASSWORD = 'password';  
CREATE USER username FOR LOGIN login_name;
授予权限sql
GRANT permission ON object TO user_or_role;
撤销权限sql
REVOKE permission ON object FROM user_or_role;
请注意,上述语法示例在不同的DBMS中可能有所差异。
例如,某些数据库系统可能使用不同的关键字或语法来
执行相同的操作。因此,在使用特定的DBMS时,建议查阅该
DBMS的官方文档以获取准确的语法和用法信息。

相关文章:

数据库语法复习

总结&#xff1a; DDL&#xff08;数据定义语言&#xff09; CREATE DATABASE&#xff1a;创建一个新的数据库。DROP DATABASE&#xff1a;删除一个数据库。CREATE TABLE&#xff1a;创建一个新的表。DROP TABLE&#xff1a;删除一个表。ALTER TABLE&#xff1a;修改表的结构&a…...

Tomcat、MySQL、Redis最大支持说明

文章目录 一、Tomcat二、MySQL三、Redis1、最大连接数2、TPS、QPS3、key和value最大支持 一、Tomcat 查看SpringBoot内置Tomcat的源码&#xff0c;如下&#xff1a; 主要就是看抽象类AbstractEndpoint&#xff0c;可以看到默认的核心线程数10&#xff0c;最大线程数200 通过…...

MATLAB数值计算工具箱介绍

MATLAB是一个强大的数学计算平台&#xff0c;它提供了广泛的数值计算工具箱&#xff0c;这些工具箱覆盖了从基础的线性代数到复杂的数值分析和优化问题。以下是MATLAB中一些关键工具箱的详细介绍&#xff1a; 1. 线性代数工具箱&#xff08;Linear Algebra Toolbox&#xff09…...

2023 广东省大学生程序设计竞赛(部分题解)

目录 A - Programming Contest B - Base Station Construction C - Trading D - New Houses E - New but Nostalgic Problem I - Path Planning K - Peg Solitaire A - Programming Contest 签到题&#xff1a;直接模拟 直接按照题目意思模拟即可&#xff0c;为了好去…...

ROS2学习——Docker环境下安装于使用(1)

目录 一、简要 二、ROS2和ROS1区别 三、环境搭建与安装 &#xff08;2&#xff09;拉取ubuntu22.04镜像 &#xff08;2&#xff09;安装ROS2 1. 基本设置 2.设置源 3.安装ROS2功能包 4.测试 四、相关指令学习 1.小海龟测试 2.ros2 node等指令 3.rqt 一、简要 随着R…...

数据仓库之Hologres

官方文档 简介 Hologres是阿里云推出的一种云原生的实时分析型数据仓库。它是基于开源项目Apache Hudi&#xff08;Hadoop Upserts Deletes and Incrementals&#xff09;进行扩展和优化的。Hologres提供了高性Hologres是阿里云推出的一种云原生的实时分析型数据仓库。它是基…...

MacOS搭建docker本地私有镜像库

相关环境 macOS: bigsur 11.7.8 docker desktop: 4.22.0 docker engine: 24.0.5 准备工作 本机已经安装好docker desktop&#xff0c;未安装的自行参考其他教程。如果不能翻墙&#xff0c;可以修改本地的镜像地址&#xff0c;可在docker desktop 设置中的docker engine中修…...

Unity Material(材质)、Texture(纹理)、Shader(着色器)简介

文章目录 一、概念二、Rendering Mode三、Main Maps三、参考文章 一、概念 Material(材质)&#xff1a;物体的“色彩”、“纹理”、“光滑度”、“透明度”、“反射率”、“折射率”、“发光度”等&#xff0c;材质的本质是shader的实例(载体)Texture(贴图)&#xff1a;附件到…...

《视觉十四讲》例程运行记录(1)—— 课本源码下载和3rdparty文件夹是空的解决办法

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 文章目录 前言一、第二版十四讲课本源码下载1. 安装git工具 二、Pangolin下载和安装1. 源码下载2. Pangolin的安装(1) 安装依赖项(2) 源码编译安装(2) 测试是否安装成功 二、…...

VLM与基础分割模型的联合使用

最近做的项目里有涉及大模型&#xff0c;里面有一部分的功能是&#xff1a; 将图片输入VLM(视觉语言模型&#xff0c;我使用的是llava)&#xff0c;询问图中最显著的物体&#xff0c;将其给出的答案作为基础分割模型&#xff08;我使用的是Grounded-SAM&#xff09;的text prom…...

JS数组去重的方法

目录 1、includes 2、indexOf 3、Set结合Array.from 4、filter 5、reduce 6、使用双重for循环 介绍一下数组常用的去重复方法 以以下数组为例子来介绍&#xff0c;一维的数字类型数组&#xff1a; const arr [1, 2, 2, 2, 3, 1, 6, 4, 4, 6, 5, 7] 1、includes funct…...

Go实战训练之Web Server 与路由树

Server & 路由树 Server Web 核心 对于一个 Web 框架&#xff0c;至少要提供三个抽象&#xff1a; Server&#xff1a;代表服务器的抽象Context&#xff1a;表示上下文的抽象路由树 Server 从特性上来说&#xff0c;至少要提供三部分功能&#xff1a; 生命周期控制&…...

C#中接口设计相关原则

在C#中&#xff0c;接口&#xff08;Interface&#xff09;是一种引用类型&#xff0c;它定义了一个契约&#xff0c;指定了一个类必须实现的成员&#xff08;属性、方法、事件、索引器&#xff09;。接口不提供这些成员的实现&#xff0c;只指定成员必须按照特定的方式被实现。…...

Pytorch学习笔记——卷积操作

一、认识卷积操作 卷积操作是一种数学运算&#xff0c;它涉及两个函数&#xff1a;输入函数&#xff08;通常是图像&#xff09;和卷积核&#xff08;也称为滤波器或特征检测器&#xff09;。卷积核在输入函数上滑动&#xff0c;将核中的每个元素与其覆盖的输入函数区域中的对应…...

探索鸿蒙开发:鸿蒙系统如何引领嵌入式技术革新

嵌入式技术已经成为现代社会不可或缺的一部分。而在这个领域&#xff0c;华为凭借其自主研发的鸿蒙操作系统&#xff0c;正悄然引领着一场技术革新的浪潮。本文将探讨鸿蒙开发的特点、优势以及其对嵌入式技术发展的深远影响。 鸿蒙操作系统的特点 鸿蒙&#xff0c;作为华为推…...

chrome extension插件替换网络请求中的useragent

感觉Chrome商店中的插件不能很好的实现自己想要的效果,那么就来自己动手吧。 本文以百度为例: 一般来说网页请求如下: 当前使用的useragent是User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/124.0.0.0 Safar…...

PHP基础【介绍,注释,更改编码,赋值,数据类型】

源码 <?php //单行注释 /* 多行注释 *///通过header()函数发送http头的请求信息用来指定页面的字符集编码 header("Content-type:text/html;Charsetutf-8"); //告诉浏览器&#xff0c;当前页面的内容类型是HTML&#xff0c;并且页面内容使用的是UTF-8编码。//ph…...

ASP.NET小型证券术语解释及翻译系统的设计与开发

摘 要 在系统设计上&#xff0c;综合各种翻译类型网站优缺点&#xff0c;设计出具有任何使用者都可添加术语信息的且只有管理员能够实现术语修改及删除等独特方式的术语查看管理系统。此方式能够使术语量快速增大&#xff0c;并且便于使用者及管理员操作&#xff0c;满足相互…...

硬件知识积累 音频插座的了解,看音频插座的原理图来了解音频插座的引脚。

1. 音频接口 音频插座是一种用于连接音频信号线路的电子元件&#xff0c;常见于音频设备&#xff08;如音响、耳机、话筒等&#xff09;中。它的主要作用是将电子信号转化为声音信号&#xff0c;以满足人们对于音乐、电影、游戏等方面的需求。 根据插头形状的不同&#xff0c;音…...

error LNK2001: 无法解析的外部符号 “__declspec(dllimport) public: __cdecl ......

运行程序时&#xff0c;报如上图所示错误&#xff0c;其中一条是&#xff1a; ReflectionProbe.obj : error LNK2001: 无法解析的外部符号 "__declspec(dllimport) public: __cdecl osg::Object::Object(bool)" (__imp_??0ObjectosgQEAA_NZ) 报这个错误一般是因为…...

日语AI面试高效通关秘籍:专业解读与青柚面试智能助攻

在如今就业市场竞争日益激烈的背景下&#xff0c;越来越多的求职者将目光投向了日本及中日双语岗位。但是&#xff0c;一场日语面试往往让许多人感到步履维艰。你是否也曾因为面试官抛出的“刁钻问题”而心生畏惧&#xff1f;面对生疏的日语交流环境&#xff0c;即便提前恶补了…...

深入剖析AI大模型:大模型时代的 Prompt 工程全解析

今天聊的内容&#xff0c;我认为是AI开发里面非常重要的内容。它在AI开发里无处不在&#xff0c;当你对 AI 助手说 "用李白的风格写一首关于人工智能的诗"&#xff0c;或者让翻译模型 "将这段合同翻译成商务日语" 时&#xff0c;输入的这句话就是 Prompt。…...

Cesium1.95中高性能加载1500个点

一、基本方式&#xff1a; 图标使用.png比.svg性能要好 <template><div id"cesiumContainer"></div><div class"toolbar"><button id"resetButton">重新生成点</button><span id"countDisplay&qu…...

Swift 协议扩展精进之路:解决 CoreData 托管实体子类的类型不匹配问题(下)

概述 在 Swift 开发语言中&#xff0c;各位秃头小码农们可以充分利用语法本身所带来的便利去劈荆斩棘。我们还可以恣意利用泛型、协议关联类型和协议扩展来进一步简化和优化我们复杂的代码需求。 不过&#xff0c;在涉及到多个子类派生于基类进行多态模拟的场景下&#xff0c;…...

【生成模型】视频生成论文调研

工作清单 上游应用方向&#xff1a;控制、速度、时长、高动态、多主体驱动 类型工作基础模型WAN / WAN-VACE / HunyuanVideo控制条件轨迹控制ATI~镜头控制ReCamMaster~多主体驱动Phantom~音频驱动Let Them Talk: Audio-Driven Multi-Person Conversational Video Generation速…...

脑机新手指南(七):OpenBCI_GUI:从环境搭建到数据可视化(上)

一、OpenBCI_GUI 项目概述 &#xff08;一&#xff09;项目背景与目标 OpenBCI 是一个开源的脑电信号采集硬件平台&#xff0c;其配套的 OpenBCI_GUI 则是专为该硬件设计的图形化界面工具。对于研究人员、开发者和学生而言&#xff0c;首次接触 OpenBCI 设备时&#xff0c;往…...

WebRTC从入门到实践 - 零基础教程

WebRTC从入门到实践 - 零基础教程 目录 WebRTC简介 基础概念 工作原理 开发环境搭建 基础实践 三个实战案例 常见问题解答 1. WebRTC简介 1.1 什么是WebRTC&#xff1f; WebRTC&#xff08;Web Real-Time Communication&#xff09;是一个支持网页浏览器进行实时语音…...

论文阅读笔记——Muffin: Testing Deep Learning Libraries via Neural Architecture Fuzzing

Muffin 论文 现有方法 CRADLE 和 LEMON&#xff0c;依赖模型推理阶段输出进行差分测试&#xff0c;但在训练阶段是不可行的&#xff0c;因为训练阶段直到最后才有固定输出&#xff0c;中间过程是不断变化的。API 库覆盖低&#xff0c;因为各个 API 都是在各种具体场景下使用。…...

Android写一个捕获全局异常的工具类

项目开发和实际运行过程中难免会遇到异常发生&#xff0c;系统提供了一个可以捕获全局异常的工具Uncaughtexceptionhandler&#xff0c;它是Thread的子类&#xff08;就是package java.lang;里线程的Thread&#xff09;。本文将利用它将设备信息、报错信息以及错误的发生时间都…...

Vue 3 + WebSocket 实战:公司通知实时推送功能详解

&#x1f4e2; Vue 3 WebSocket 实战&#xff1a;公司通知实时推送功能详解 &#x1f4cc; 收藏 点赞 关注&#xff0c;项目中要用到推送功能时就不怕找不到了&#xff01; 实时通知是企业系统中常见的功能&#xff0c;比如&#xff1a;管理员发布通知后&#xff0c;所有用户…...