SQL 基础知识

SQL(结构化查询语言)是一种用于管理和操作关系数据库的标准编程语言。以下是一些 SQL 的基础知识:

基本概念

  1. 数据库(Database)
    存储和管理数据的容器。一个数据库可以包含多个表。

  2. 表(Table)
    数据以行和列的形式存储在表中。表的结构包括列(字段),每列有特定的数据类型。

  3. 行(Row)
    表中的每条记录。

  4. 列(Column)
    表中的字段,每个字段存储特定类型的数据。

数据类型

常见的数据类型包括:

  • 整数类型INT, BIGINT, SMALLINT, TINYINT
  • 浮点数类型FLOAT, DOUBLE, DECIMAL
  • 字符类型CHAR, VARCHAR
  • 文本类型TEXT, BLOB
  • 日期和时间类型DATE, TIME, DATETIME, TIMESTAMP

SQL 操作

数据定义语言(DDL)

用于定义和管理数据库结构的命令。

  • 创建数据库

    CREATE DATABASE database_name;
    
  • 创建表

    CREATE TABLE table_name (column1 datatype,column2 datatype,...
    );
    
  • 删除数据库

    DROP DATABASE database_name;
    
  • 删除表

    DROP TABLE table_name;
    
  • 修改表

    ALTER TABLE table_name
    ADD column_name datatype;
    
数据操作语言(DML)

用于数据的查询、插入、更新和删除。

  • 插入数据

    INSERT INTO table_name (column1, column2, ...)
    VALUES (value1, value2, ...);
    
  • 查询数据

    SELECT column1, column2, ...
    FROM table_name
    WHERE condition;
    
  • 更新数据

    UPDATE table_name
    SET column1 = value1, column2 = value2, ...
    WHERE condition;
    
  • 删除数据

    DELETE FROM table_name
    WHERE condition;
    
数据控制语言(DCL)

用于控制对数据库的访问权限。

  • 授予权限

    GRANT ALL PRIVILEGES ON database_name.*
    TO 'username'@'host'
    IDENTIFIED BY 'password';
    
  • 撤销权限

    REVOKE ALL PRIVILEGES ON database_name.*
    FROM 'username'@'host';
    
事务控制语言(TCL)

用于管理事务,确保数据库操作的原子性、一致性、隔离性和持久性(ACID)。

  • 开始事务

    START TRANSACTION;
    
  • 提交事务

    COMMIT;
    
  • 回滚事务

    ROLLBACK;
    

查询示例

  • 简单查询

    SELECT * FROM employees;
    
  • 带条件的查询

    SELECT * FROM employees
    WHERE department = 'Sales';
    
  • 排序查询

    SELECT * FROM employees
    ORDER BY salary DESC;
    
  • 聚合函数

    SELECT COUNT(*), AVG(salary)
    FROM employees
    WHERE department = 'Sales';
    
  • 连接查询

    SELECT employees.name, departments.name
    FROM employees
    INNER JOIN departments
    ON employees.department_id = departments.id;
    

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

C语言 | Leetcode C语言题解之第292题Nim游戏

题目: 题解: bool canWinNim(int n) {return n % 4 ! 0; }

C语言模块化编程技术详解

C语言模块化编程技术详解(第一部分) 模块化编程是一种将程序划分为多个模块的编程方法,每个模块负责完成特定的功能。在C语言中,模块化编程可以提高代码的可读性、可维护性和可重用性。本文将深入探讨C语言模块化编程的工作原理&…

【Linux】文件系统|CHS寻址|LBA逻辑块|文件索引|inode|Date block|inodeBitmap|blockBitmap

前言 一个进程通过文件描述符标识一个打开的文件,进程拿着文件描述符可以在内核中找到目标文件进行读写等操作。这是打开的文件,而没有被打开的文件存储在磁盘中,是如何管理的?操作系统在偌大的磁盘中如何找到想要的文件并打开的…

在CentOS 7上安装Apache Tomcat 10.0.27

要在CentOS 7上安装Apache Tomcat 10.0.27,可以按照以下步骤操作: 安装Java开发工具包 (JDK): Tomcat需要Java环境。可以使用以下命令安装OpenJDK 11: sudo yum install java-11-openjdk-devel下载Tomcat 10.0.27: 从Tomcat官方网站下载Tomca…

凸优化笔记-基本概念

原文 文章目录 最小二乘问题 仿射affine hullaffine dimension 凸集锥集超平面和半空间单纯形整半定锥保凸性的操作透视函数 凸函数的条件1阶判定条件2阶判定条件 Epigraph 外图 m i n i m i z e f 0 ( x ) minimize\ \ \ f_0(x) minimize f0​(x) s u b j e c t t o f i ( …

Leetcode32-求出出现两次数字的 XOR 值(3158)

1、题目 给你一个数组 nums ,数组中的数字 要么 出现一次,要么 出现两次。 请你返回数组中所有出现两次数字的按位 XOR 值,如果没有数字出现过两次,返回 0 。 示例 1: 输入:nums [1,2,1,3] 输出&…

C#实现数据采集系统-Tcp粘包处理

Tcp通信中会出现粘包的情况,Tcp数据不是完全一收一发,而是会将接收到数据存在一个接收缓冲区,等到调用接收的把数据从缓冲区取出来 大部分时候,我们收发消息频率不高,看上去就是发一条,收一条,完整数据;理论上,接收一次,是会出现各种情况, 粘包的几种情况 接收不完…

Spring Boot入门指南:留言板

一.留言板 1.输⼊留⾔信息,点击提交.后端把数据存储起来. 2.⻚⾯展⽰输⼊的表⽩墙的信息 规范: 1.写一个类MessageInfo对象,添加构造方法 虽然有快捷键,但是还是不够偷懒 项目添加Lombok。 Lombok是⼀个Java⼯具库,通过添加注…

Java从基础到高级特性及应用

Java,作为一门历史悠久且广泛应用的编程语言,自1995年问世以来,便以其跨平台性、面向对象、自动内存管理等特点,在软件开发领域占据了举足轻重的地位。从桌面应用到企业级系统,从移动开发到云计算服务,Java…

Spring Boot 与 MongoDB 整合指南

MongoDB MongoDB 是一种基于文档的NoSQL数据库,以其高性能、高可用性和易扩展性而著称。它使用 BSON(类似 JSON 的二进制格式)来存储数据,提供了灵活的数据模型,使得开发者可以更轻松地存储和查询复杂的数据结构。将M…

2024年钉钉杯大数据竞赛A题超详细解题思路+python代码手把手保姆级运行讲解视频+问题一代码分享

初赛A:烟草营销案例数据分析 AB题综合难度不大,难度可以视作0.4个国赛,题量可以看作0.35个国赛题量。适合于国赛前队伍练手,队伍内磨合。竞赛获奖率50%,八月底出成绩,参赛人数3000队左右。本文将为大家进行…

七夕特献:用代码编织爱情的浪漫,程序员的专属爱情证书生成器

文章目录 1. 背景介绍2. **为什么是爱情证书生成器?**3. **功能亮点**4. **技术实现**5. **如何获取?**6. 总结 1. 背景介绍 在这个数字化的时代,程序员们用代码编织世界,创造无限可能。七夕将至,一个充满古老传说和浪…

ElasticSearch核心之DSL查询语句实战

什么是DSL? Elasticsearch提供丰富且灵活的查询语言叫做DSL查询(Query DSL),它允许你构建更加复杂、强大的查询。 DSL(Domain Specific Language特定领域语言)以JSON请求体的形式出现。目前常用的框架查询方法什么的底层都是构建DSL语句实现的,所以你必…

Dockerfile指令详解和Docker操作命令

1.容器的特点:1)自包含(包括应用程序及其运行环境);2)可移植;3)相互隔离;4)轻量级。 2.docker成为容器的事实标准在于:1)在运行环境上…

【区块链】如何发行自己的加密货币到以太坊测试网络,remixIDE发行自己的数字货币

如何发行自己的加密货币到以太坊测试网络 环境 reminx在线编辑器:https://remix.ethereum.org/安装有小狐狸钱包插件(MetaMask) 如何部署代币? 创建一个名字叫做HelloMyToken.sol的文件。编写好智能合约,这边我要发…

文件包含漏洞--pyload

文章目录 前言一、pandas是什么?二、使用步骤 1.引入库2.读入数据总结 一.PHP伪协议利用 php://协议 php://filter :用于在读取作用和写入文件时进行过滤和转换操作。 作用1:利用base64编码过滤器读取源码 通常利用文件包含执行php://filte…

Opencv学习项目4——手部跟踪

上一篇博客我们介绍了mediapipe库和对手部进行了检测,这次我们进行手部关键点的连线 代码实现 import cv2 import mediapipe as mpcap cv2.VideoCapture(1) mpHands mp.solutions.hands hands mpHands.Hands() mpDraw mp.solutions.drawing_utilswhile True:…

Flutter - 安卓一次打包不同包名的apk

demo 地址: https://github.com/iotjin/jh_flutter_demo 代码不定时更新,请前往github查看最新代码 有时为了方便测试,同一个app需要在一个手机上装两个,直接改包名的话比较麻烦,这时可以通过添加flavor进行多维度打包&#xff0c…

Spring Security面试三道题

针对Spring Security的面试题,从简单到困难,我可以给出以下三道题目: 1. Spring Security的基本功能是什么? 答案: Spring Security是Spring Framework的一部分,它提供了一种将安全层应用于Java应用程序的…

Flink入门(更新中)

目录 一、Flink 1.1 基本概念 1.1.1 flink简介 1.2 flink编程模版 1.3 常用概念 1.2.1 datastream 1.2.2 算子、Task 1.2.3 多流操作 1.2.6 时间语义 二、Flink编程实战(Java) 2.1 wordcount 一、Flink 1.1 基本概念 1.1.1 flink简介 1.图片介绍 性能&#xff1a…