SQL基础入门

SQL(结构化查询语言)是用于管理关系型数据库的标准语言,主要用于在数据库中查询、插入、更新和修改数据。

一些基本SQL知识点包括:

  • 数据类型:每个数据库表的列都需要一个数据类型。一些常见的SQL数据类型包括:INT(整数),VARCHAR(可变长字符串),TEXT(长文本),DATE(日期), FLOAT(浮点数),等等。

  • DDL,DML,DCL和TCL命令:DDL是数据定义语言,包括创建(CREATE),删除(DROP),更改(ALTER)等命令。DML是数据操作语言,包括选择(SELECT),插入(INSERT),更新(UPDATE),删除(DELETE)等命令。DCL是数据控制语言,主要包括授权(GRANT)和撤销(REVOKE)命令。TCL是事务控制语言,包括提交(COMMIT),回滚(ROLLBACK)等命令。

  • SELECT语句:是最常用的SQL命令,用于从数据库表中获取数据。可以使用WHERE子句添加条件,ORDER BY子句对结果排序。

  • INSERT语句:用于在数据库表中插入新数据。

  • UPDATE语句:用于修改数据库表中的数据。

  • DELETE语句:用于从数据库表中删除数据。

  • JOINs:包括内连接(INNER JOIN),左外连接(LEFT JOIN),右外连接(RIGHT JOIN),全外连接(FULL JOIN)。连接是通过在两个或多个表之间共享的列(键)将它们链接在一起。

  • 聚合函数:如COUNT(计数),SUM(求和),AVG(平均),MAX(最大),MIN(最小)等,这些函数用于对一组值执行计算,并返回单个值。

  • 分组(GROUP BY):该子句根据一个或多个列对结果集进行分组。一般与聚合函数一起使用。

  • 子查询:就是嵌套在另外一个查询语句内部的查询。

这只是SQL的基础知识,实际上,SQL语法包括许多高级特性,如视图,索引,触发器等。学习和掌握这些知识将变得非常强大,可以帮助你更好地理解和管理数据库。

下面是DDL,DML,DCL和TCL的命令及其含义:

  • DDL(数据定义语言):DDL或数据定义语言实际上是用来定义数据结构的。它们有CREATE,ALTER和DROP等命令。比如,你可以使用CREATE命令来创建新表或数据库,ALTER命令用于修改现有数据库的结构,而DROP命令可用于删除表和数据库。

  • DML(数据操作语言):DML或数据操作语言是用来使用和管理在数据库中保存的数据的。包括SELECT,INSERT,UPDATE,DELETE等这些命令。SELECT命令用于从数据库中选择特定数据,INSERT命令将新数据添加到数据库中,UPDATE命令将更改现有数据,而DELETE命令则从数据库中删除数据。

  • DCL(数据控制语言):DCL或数据控制语言主要与用户权限有关。这包括两个主要的命令,即GRANT和REVOKE。GRANT将特权授予特定用户,而REVOKE将删除用户的特权。

  • TCL(事务控制语言):TCL或事务控制语言用于处理事务中的情况。它包括以下两个命令:COMMIT和ROLLBACK。在更改数据库时,COMMIT用于保存所有事务,而ROLLBACK命令则用于撤销未保存的事务。

提供一些基于DDL,DML,DCL和TCL的简单SQL脚本示例。假设我们有一个名为Students的表,有以下几个字段:StudentID, StudentName, Age, GenderGrade

DDL 示例

创建表:

CREATE TABLE Students ( StudentID INT PRIMARY KEY, StudentName VARCHAR(50), Age INT, Gender CHAR(1), Grade INT);

修改表(添加新列):

ALTER TABLE Students ADD Email VARCHAR(60);

删除表:

DROP TABLE Students;

DML 示例

插入数据:

INSERT INTO Students (StudentID, StudentName, Age, Gender, Grade)VALUES (1, 'Tom', 20, 'M', 3);

选择数据:

SELECT * FROM Students WHERE Grade 2;

更新数据:

UPDATE Students SET Email = 'tom@example.com'WHERE StudentID = 1;

删除数据:

DELETE FROM Students WHERE StudentID = 1;

DCL 示例

授权:

GRANT SELECT, UPDATE ON Students TO user1;

撤销权限:

REVOKE UPDATE ON Students FROM user1;

TCL 示例

这些命令通常在修改数据库时使用:

START TRANSACTION; -- 开始一个新事务...UPDATE Students -- 做一些改变...SET Grade = 4WHERE StudentID = 1;COMMIT; -- 确认更改。START TRANSACTION; -- 开始另一个新事务...DELETE FROM Students -- 尝试删除一些内容...WHERE StudentID = 1;ROLLBACK; -- 改变主意,取消删除。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mfbz.cn/a/555938.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Python进阶编程 --- 3.闭包、装饰器、设计模式、多线程、网络编程、正则表达式、递归

文章目录 第三章:3.1 闭包3.2 装饰器语法糖写法 3.3 设计模式3.3.1 单例模式3.3.2 工厂模式 3.4 多线程3.4.1 进程、线程和并行执行3.4.2 多线程编程 3.5 网络编程3.5.1 Socket3.5.2 服务端开发3.5.3 客户端开发 3.6 正则表达式3.6.1 基础匹配3.6.2 元字符匹配单字符…

风力发电自动化控制系统中的智能化技术应用研究

风力发电自动化控制系统中的智能化技术应用研究 随碳中和目标的提出和执行,风能发电作为新能源行业的核心部分,步入了它的黄金发展期。由于风能资源具有间歇性、随机性等特点,这给风电的高效利用带来了巨大挑战。为了增强风力发电系统的工作效…

Py深度学习基础|Numpy基础总结

注:本文来自菜鸟教程学习总结 一、数组属性 NumPy 的数组中比较重要 ndarray 对象属性有: 注意:使用reshape后,数组的结构(即元素的排列顺序和内在连接)没有改变,但因为返回的是一个视图&#…

PTA L1-009 N个数求和 【C++】【辗转相除法】【Python】

C: 辗转相除法: 每次算最小公倍数和最大公约数都是用的常规思路,本身是不会有错的,但是当数据很大时,就会出现错误,时间复杂度过高 辗转相除法,又称欧几里德算法(Euclidean Algori…

接口压力测试 jmeter--增强篇(二)

前期准备 1. JMeter的插件的安装 下载Jmeter Plugins Manager对插件进行管理 (1)下载地址:https://jmeter-plugins.org/install/Install/ (2)下载后,将jar包放到jmeter包目录下/lib/ext目录下 &#xff0…

【YOLOv8改进[检测头Head]】YOLOv8的“新头”之动态头(DynamicHead)

目录 一 DynamicHead 二 YOLOv8的“新头”之动态头 1 总体修改 2 配置文件 3 训练 其他 一 DynamicHead 官方论文地址:https://arxiv.org/pdf/2106.08322.pdf 官方代码地址:GitCode - 开发者的代码家园 在计算机视觉应用中,目标检测…

启动appium服务的2种方法(python脚本cmd窗口)

1.通过cmd窗口命令来启动 2.通过python代码启动 2.1启动单个appium服务 2.2启动多个appium服务 3.端口说明 一.端口号设置Appium服务器端口:4723 bp端口:4724 Appium服务器端口:4725 bp端口:4726可以看到appium服务器端口和bp端…

SpringBoot(一)【入门】

前言 1、SpringBoot 快速入门 1.1、SpringBoot 简介 SpringBoot 是用来简化 Spring 应用的初始搭建以及开发过程 首先我们回顾一下 SpringMVC 项目的开发过程: 导入依赖(javax.servlet-api 和 spring-webmvc)Servlet 容器配置类&#xff…

VirtualBox虚拟机使用win11系统,忘记密码如何重置密码

1. 点击重启同时按住Shift(按住不放) 2. 直到出现下面的界面,释放Shift,并进入疑难解答 3. 进入高级选项 4. 进入命令提示符 5. 发现当前是在X盘? 6. 进入C:\Windows\System32 c: cd Windows\System32 7. 备份osk.exe…

SpringCloud系列(5)--SpringCloud微服务工程公共部分提取

前言:在上一章节中我们创建了两个个SpringCloud工程,但在两个工程中分别存在着一些重复的部分,例如重复的实体类(如图所示),这样会造成系统的冗余,所以我们需要把公共的类提取到一个工程里&…

预约小程序新选择:强大后端管理功能一览

拥有一个功能齐全、操作便捷的小程序对于商家来说至关重要。为了满足广大商家的需求,乔拓云平台提供了丰富的模板资源,帮助用户快速搭建预约型小程序,并配备了强大的后端管理功能,让商家能够轻松管理预约订单,提升运营…

Centos7 ElasticSearch集群搭建

1. 服务器环境配置 1.1 配置hosts文件 3台服务器都要执行 vim /etc/hosts; # 将以下内容写入3台服务器hosts文件 192.168.226.148 es001 192.168.226.149 es002 192.168.226.150 es003 1.2 关闭防火墙 3台服务器都要执行 systemctl stop firewalld; systemctl disable…

【opencv】dnn示例-speech_recognition.cpp 使用DNN模块结合音频信号处理技术实现的英文语音识别...

模型下载地址: https://drive.google.com/drive/folders/1wLtxyao4ItAg8tt4Sb63zt6qXzhcQoR6 终端输出:(audio6.mp3 、audio10.mp3) [ERROR:00.002] global cap_ffmpeg_impl.hpp:1112 open VIDEOIO/FFMPEG: unsupported parameter…

# 从浅入深 学习 SpringCloud 微服务架构(一)基础知识

从浅入深 学习 SpringCloud 微服务架构(一)基础知识 1、系统架构演变: 1)单体应用架构。如电商项目。 用户管理、商品管理、订单管理,在一个模块里。 优点:开发简单,快速,适用于…

Mac下brew安装php7.4

这里作者挂了梯子,所以很流畅! brew的下载,可参考另外一篇博文~Homebrew 安装与卸载 1、将第三方仓库加入brew brew tap shivammathur/php2、安装指定版本的PHP brew install php7.43、替换Mac自带PHP环境并刷新环境变量 -> …

基于simulink的模拟锁相环和数字锁相环建模与对比仿真

目录 1.课题概述 2.系统仿真结果 3.核心程序与模型 4.系统原理简介 4.1 模拟锁相环(PLL)的基本原理 4.2 数字锁相环(DPLL)的基本原理 5.完整工程文件 1.课题概述 模拟锁相环和数字锁相环建模的simulink建模,对…

OpenHarmony UI动画-recyclerview_animators

简介 带有添加删除动画效果以及整体动画效果的list组件库 下载安装 ohpm install ohos/recyclerview-animatorsOpenHarmony ohpm 环境配置等更多内容,请参考如何安装OpenHarmony ohpm 包 使用说明 引入组件库 import { RecyclerView } from "ohos/recycler…

Qt/C++音视频开发70-无感切换通道/无缝切换播放视频/多通道流畅切换/不同视频打开无缝切换

一、前言 之前就写过这个方案,当时做的是ffmpeg内核版本,由于ffmpeg内核解析都是代码实现,所以无缝切换非常完美,看不到丝毫的中间切换过程,看起来就像是在一个通道画面中。其实这种切换只能说是取巧办法,…

排序算法之计数排序

目录 一、简介二、代码实现三、应用场景 一、简介 算法平均时间复杂度最好时间复杂度最坏时间复杂度空间复杂度排序方式稳定性计数排序O(nk )O(nk)O(nk)O(k)Out-place稳定 稳定:如果A原本在B前面,而AB,排序之后A仍然在B的前面; 不…

稀碎从零算法笔记Day52-LeetCode:从双倍数组中还原原数组

题型:数组、贪心 链接:2007. 从双倍数组中还原原数组 - 力扣(LeetCode) 来源:LeetCode 题目描述 一个整数数组 original 可以转变成一个 双倍 数组 changed ,转变方式为将 original 中每个元素 值乘以 …
最新文章