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

基本的SELECT语句

1.SQL概述

SQL(Structured Query Language)是一种用于管理和操作关系数据库的编程语言。它是一种标准化的语言,用于执行各种数据库操作,包括创建、查询、插入、更新和删除数据等。

SQL语言具有简单、易学、高效的特点,可以用于处理大量的数据和复杂的查询。它包含了一系列的命令和语句,可以通过这些命令和语句来操作数据库。

SQL语言的主要功能包括:

  1. 数据定义语言(DDL):用于创建和管理数据库对象,如创建表、修改表结构、删除表等。

  2. 数据查询语言(DQL):用于查询和检索数据库中的数据,如SELECT语句。

  3. 数据操纵语言(DML):用于操作数据库中的数据,如插入数据、更新数据、删除数据等。

  4. 数据控制语言(DCL):用于授权和管理数据库的用户访问权限,如GRANT和REVOKE语句。

SQL语言的应用广泛,几乎所有的关系数据库系统都支持SQL语言。它被广泛用于开发应用程序、数据分析、数据管理等领域。

2.SQL语言的规则与规范 

2.1基本规则

> SQL可以写在一行或者多行。为了提高可读性,各子句分行写,必要时使用缩进
> 每条命令以;或\g或\G结束
> 关键字不能被缩写也不能分行
> 关于标点符号
    必须保证所有的()、单引号、双引号是成对结束的面
    必须使用英文状态下的半角输入方式
    字符串型和日期时间类型的数据可以使用单引号(' ')表示
    列的别名,尽量使用双引号(" "),而且不建议省略as

2.2SQL大小写规范

> MySQL 在Windows环境下是大小写是不敏感的。

> MySQL 在Linux环境下是大小写是敏感的。

   数据库名,表名,表的别名,变量名是严格区分大小写的。

   关键字,函数名,列名,列的别名是忽略大小写的。

> 推荐采用统一的书写规范:

   数据库名,表名,表的别名,字段名等都小写。

   关键字,函数名,绑定变量等都是大写。

2.3注释 

单行注释:#注释文字

单行注释:-- 注释文字(--后必须有一个空格)

多行注释:/* 注释文字 */

2.4命名规则 

数据库命名规则是一种规范,用于指导开发人员命名数据库、表、列等数据库对象的名称。以下是一些常见的数据库命名规则:

  1. 使用有意义的、描述性的名称:名称应该能够准确地描述数据库对象的用途和功能,以便其他人能够清楚地理解它们。

  2. 使用小写字母:大多数数据库管理系统(DBMS)区分大小写,因此使用小写字母可以避免不必要的混淆和错误。

  3. 使用下划线或者驼峰命名法:下划线命名法将单词用下划线连接,例如 employee_details;驼峰命名法将单词的首字母大写,例如 employeeDetails。可以根据团队的偏好选择一种。

  4. 避免使用特殊字符和关键字:特殊字符和关键字(如空格、逗号、句点等)可能会导致错误,应该避免在数据库对象的名称中使用它们。

  5. 使用一致的命名约定:在整个数据库中使用一致的命名约定,可以提高代码的可读性和维护性,并减少混乱和错误。

  6. 遵循数据库命名规范:某些DBMS可能有特定的命名规范,如Oracle的命名规范。开发人员应该了解并遵循相应的规范。

  7. 不要使用缩写和简写:尽量避免使用缩写和简写,除非它们被广泛认可并且不会引起混淆。

综上所述,数据库命名规则旨在提高代码的可读性、可维护性和一致性,并减少错误和混淆。

3.导入现有的数据表,表的数据 

3.1方式一:source   文件的全路径名

mysql> source d:\mysqldb.sql

3.2方式二: 基于具体的图形化界面的工具导入数据。

SQLyog和Navicat都是流行的数据库管理工具,它们提供了图形化界面来导入数据。

在SQLyog中,你可以通过以下步骤导入数据:

  1. 打开SQLyog并连接到你的数据库。
  2. 在左侧的导航栏中选择你要导入数据的数据库。
  3. 在顶部菜单中选择"Tools"(工具)然后选择"Import Data from Disk"(从磁盘导入数据)。
  4. 在弹出窗口中选择你要导入的文件类型,如CSV、SQL等。
  5. 浏览并选择要导入的文件。
  6. 根据需要在导入选项中进行设置,如选择导入到哪个表、定义字段分隔符等。
  7. 点击"Import"(导入)按钮开始导入数据。

在Navicat中,你可以按照以下步骤导入数据:

  1. 打开Navicat并连接到你的数据库。
  2. 在左侧的导航栏中选择你要导入数据的数据库。
  3. 右键点击数据库并选择"Import Wizard"(导入向导)。
  4. 在弹出窗口中选择你要导入的文件类型,如CSV、SQL等。
  5. 浏览并选择要导入的文件。
  6. 根据需要在导入选项中进行设置,如选择导入到哪个表、定义字段分隔符等。
  7. 点击"Next"(下一步)按钮开始导入数据。
  8. 完成向导的剩余步骤(如字段映射、表设置等),然后点击"Finish"(完成)按钮。

这些工具为用户提供了一个更直观和方便的方式来导入数据,无需编写复杂的导入脚本。

4.基本的SELECT语句 

SELECT...

SELECT 1; #没有任何子句

SELECT 9/2; #没有任何子句

4.1SELECT...FROM 

> 语法:

SELECT    标识选择哪些列

FROM       标识从哪个表中选择

SELECT employee_id,first_name,email
FROM employees;

4.2 列的别名

#列的别名
#as:全称:alias(别名),可以省略
#列的别名可以使用""引起来

SELECT employee_id emp_id,last_name AS lname,department_id "部门id",salary*11 annual
FROM employees;

4.3去除重复行 

#去除重复行
#查询员工表中一共有哪些部门id呢?
SELECT department_id 
FROM employees;
#distinct 去重
SELECT  DISTINCT department_id
FROM employees; 
#没有实际意义
SELECT DISTINCT department_id,salary
FROM employees;

4.4空值参与运算


#空值参与运算
#空值:null
#null不等同于0,'','null'
SELECT*FROM employees;
#空值参与运算结果也为null
SELECT employee_id,salary "月工资",salary * (1+commission_pct) *12 "年工资"
FROM employees;
#实际问题的解决方法:引入ifnull
SELECT employee_id,salary "月工资",salary * (1+IFNULL(commission_pct,0)) *12 "年工资"
FROM employees;

4.5着重号 ``
 

  • 是 SQL 中的保留关键字。
    • 如果有一个表名为order,在查询这个表时就需要使用着重号来避免语法错误。正确的查询语句可以是SELECT * FROM order;。如果不使用着重号,MySQL 会将order理解为排序相关的关键字,而不是表名,从而导致查询出错。
  • 对象名称包含特殊字符或空格的情况
    • 假设创建了一个表名为my table(包含空格),在引用这个表名时,必须使用着重号,如SELECT * FROM my table;。否则,MySQL 无法正确解析这个表名。同样,如果表名中包含其他特殊字符,如-#等,也需要使用着重号。
SELECT*FROM `order`;

 5.显示表结构

使用DESCRIBE或DESC 命令,表示表结构。

DESCRIBE  employees;

DESC  employees;

6.过滤数据 


#查询90号部门的员工信息
#过滤条件 where department_id=90;where声明在from后面
 

SELECT*
FROM employees
WHERE department_id=90;
SELECT*
FROM employees
WHERE last_name='king';

 

相关文章:

基本的SELECT语句

1.SQL概述 SQL(Structured Query Language)是一种用于管理和操作关系数据库的编程语言。它是一种标准化的语言,用于执行各种数据库操作,包括创建、查询、插入、更新和删除数据等。 SQL语言具有简单、易学、高效的特点,…...

51c自动驾驶~合集30

我自己的原文哦~ https://blog.51cto.com/whaosoft/12086789 #跨越微小陷阱,行动更加稳健 目前四足机器人的全球市场上,市场份额最大的是哪个国家的企业?A.美国 B.中国 C.其他 波士顿动力四足机器人 云深处 绝影X30 四足机器人 &#x1f…...

Python Tutor网站调试利器

概述 本文主要是推荐一个网站:Python Tutor. 网站首页写道: Online Compiler, Visual Debugger, and AI Tutor for Python, Java, C, C++, and JavaScript Python Tutor helps you do programming homework assignments in Python, Java, C, C++, and JavaScript. It contai…...

h5小游戏实现获取本机图片

h5小游戏实现获取本机图片 本文使用cocos引擎 1.1 需求 用户通过文件选择框选择图片。将图片内容转换为Cocos Creator的纹理 (cc.Texture2D),将纹理设置到 cc.SpriteFrame 并显示到节点中。 1.2 实现步骤 创建文件输入框用于获取文件 let input document.createElement(&quo…...

前端 javascript a++和++a的区别

前端 javascript a和a的区别 a 是先执行表达式后再自增,执行表达式时使用的是a的原值。a是先自增再执行表达示,执行表达式时使用的是自增后的a。 var a0 console.log(a); // 输出0 console.log(a); // 输出1var a0 console.log(a); // 输出1 console.l…...

OceanBase V4.x应用实践:如何排查表被锁问题

DBA在日常工作中常常会面临以下两种常见情况: 业务人员会提出问题:“表被锁了,导致业务受阻,请帮忙解决。” 业务人员还会反馈:“某个程序通常几秒内就能执行完毕,但现在却运行了好几分钟,不清楚…...

ctfshow-web入门-SSRF(web351-web360)

目录 1、web351 2、web352 3、web353 4、web354 5、web355 6、web356 7、web357 8、web358 9、web359 10、web360 1、web351 看到 curl_exec 函数,很典型的 SSRF 尝试使用 file 协议读文件: urlfile:///etc/passwd 成功读取到 /etc/passwd 同…...

【日常记录-Git】如何为post-checkout脚本传递参数

1. 简介 在Git中,post-checkout 钩子是一个在git checkout 或git switch命令成功执行后自动调用的脚本。该脚本不接受任何来自Git命令的直接参数,因为Git设计该钩子是为了在特定的版本控制操作后执行一些预定义的任务,而不是作为一个通用的脚…...

《机器人控制器设计与编程》考试试卷**********大学2024~2025学年第(1)学期

消除误解,课程资料逐步公开。 复习资料: Arduino-ESP32机器人控制器设计练习题汇总_arduino编程语言 题-CSDN博客 试卷样卷: 开卷考试,时间: 2024年11月16日 001 002 003 004 005 ……………………装………………………...

后台管理系统(开箱即用)

很久没有更新博客了,给大家带上一波福利吧,大佬勿扰 现在市面上流行的后台管理模板很多,若依,芋道等,可是这些框架对我们来说可能会有点重,所以我自己从0到1写了一个后台管理模板,你们使用时候可扩展性也会更高 项目主要功能: 成员管理,部门管理&#…...

5G CPE与4G CPE的主要区别有哪些

什么是CPE? CPE是Customer Premise Equipment(客户前置设备)的缩写,也可称为Customer-side Equipment、End-user Equipment或On-premises Equipment。CPE通常指的是位于用户或客户处的网络设备或终端设备,用于连接用户…...

量化交易系统开发-实时行情自动化交易-4.1.3.A股平均趋向指数(ADX)实现

19年创业做过一年的量化交易但没有成功,作为交易系统的开发人员积累了一些经验,最近想重新研究交易系统,一边整理一边写出来一些思考供大家参考,也希望跟做量化的朋友有更多的交流和合作。 接下来继续说说A股平均趋向指数实现。 …...

tcp的网络惊群问题

1. SO_REUSEPORT 可以解决epoll的惊群问题 但是,现在的 TCP Server,一般都是 多进程多路IO复用(epoll) 的并发模型,比如我们常用的 nginx 。如果使用 epoll 去监听 accept socket fd 的读事件,当有新连接建立时,所有进…...

云原生之运维监控实践-使用Prometheus与Grafana实现对Nginx和Nacos服务的监测

背景 如果你要为应用程序构建规范或用户故事,那么务必先把应用程序每个组件的监控指标考虑进来,千万不要等到项目结束或部署之前再做这件事情。——《Prometheus监控实战》 去年写了一篇在Docker环境下部署若依微服务ruoyi-cloud项目的文章,当…...

软考教材重点内容 信息安全工程师 第 4 章 网络安全体系与网络安全模型

4,1 网络安全体系的主要特征: (1)整体性。网络安全体系从全局、长远的角度实现安全保障,网络安全单元按照一定的规则,相互依赖、相互约束、相互作用而形成人机物一体化的网络安全保护方式。 (2)协同性。网络安全体系依赖于多种安全机制,通过各…...

机器学习——期末复习 重点题归纳

第一题 问题描述 现有如下数据样本: 编号色泽敲声甜度好瓜1乌黑浊响高是2浅白沉闷低否3青绿清脆中是4浅白浊响低否 (1)根据上表,给出属于对应假设空间的3个不同假设。若某种算法的归纳偏好为“适应情形尽可能少”,…...

MYSQL——数据更新

一、插入数据 1.插入完整的数据记录 在MYSQL中,使用SQL语句INSERT插入一条完整的记录,语法如下: INSERT INTO 表名 [(字段名1[,...字段名n])] VALUES (值1[...,值n]); 表名——用于指定要插入的数据的表名 字段名——用于指定需要插入数据…...

Vite 基础理解及应用

文章目录 概要Vite基础知识点1. 快速启动和热更新热更新原理 2. 基于ES模块的构建3. 对不同前端框架的支持 vite.config.js配置实例1. 基本结构2. 服务器相关配置3. 输入输出路径配置4. 打包优化配置 项目构建一、项目初始化二、项目结构理解三、CSS处理四、静态资源处理五、构…...

[JAVA]用MyBatis框架实现一个简单的数据查询操作

基于在前面几章我们已经学习了对MyBatis进行环境配置,并利用SqlSessionFactory核心接口生成了sqlSession对象对数据库进行交互,执行增删改查操作。这里我们就先来学习如何对数据进行查询的操作,具体查询操作有以下几个步骤 创建实体类创建Ma…...

CSS 样式的优先级?

在CSS中,样式的优先级决定了当多个样式规则应用于同一个元素时,哪个样式会被最终使用。以下是一些决定CSS样式优先级的规则: 就近原则: 最后应用在元素上的样式具有最高优先级。这意味着如果两个选择器都应用了相同的样式&#xf…...

Linux驱动开发快速入门——字符设备驱动(直接操作寄存器设备树版)

Linux驱动开发快速入门——字符设备驱动 前言 笔者使用开发板型号:正点原子的IMX6ULL-alpha开发板。ubuntu版本为:20.04。写此文也是以备忘为目的。 字符设备驱动 本小结将以直接操作寄存器的方式控制一个LED灯,可以通过read系统调用可以…...

数据结构《栈和队列》

文章目录 一、什么是栈?1.1 栈的模拟实现1.2 关于栈的例题 二、什么是队列?2.2 队列的模拟实现2.2 关于队列的例题 总结 提示:关于栈和队列的实现其实很简单,基本上是对之前的顺序表和链表的一种应用,代码部分也不难。…...

C# 超链接控件LinkLabel无法触发Alt快捷键

在C#中,为控件添加快捷键的方式有两种,其中一种就是Windows中较为常见的Alt快捷键,比如运行对话框,记事本菜单等。只需要按下 Alt 框号中带下划线的字母即可触发该控件的点击操作。如图所示 在C#开发中,实现类似的操作…...

JVM类加载过程-Loading

一、Class对象的生命周期 .class文件是如何加载到内存中:.class文件是ClassLoader通过IO将文件读到内存,再通过双亲委派的模式进行Loading,再Linking、以及Initializing,代码调用等一系列操作后,进行GC,组成完整的生命周期; 二、双亲委派模式(Loading的过程): 1、类…...

2024年11月19日Github流行趋势

项目名称:build-your-own-x 项目维护者:danistefanovic, rohitpaulk, sarupbanskota 等项目介绍:通过从零开始重新创建你最喜欢的技术来掌握编程。项目star数:312,081项目fork数:29,004 项目名称:freqtrad…...

详细描述一下Elasticsearch索引文档的过程?

大家好,我是锋哥。今天分享关于【详细描述一下Elasticsearch索引文档的过程?】面试题。希望对大家有帮助; 详细描述一下Elasticsearch索引文档的过程? Elasticsearch的索引文档过程是其核心功能之一,涉及将数据存储到…...

基于css的Grid布局和vue实现点击左移右移轮播过渡动画效果

直接上代码&#xff0c;以下代码基于vue2,需要Vue3或者react可以使用国内直连GPT/Claude来帮你转换下 代码如下&#xff1a; // ScrollCardsGrid.vue <template><div class"scroll-cards-container"><!-- 左箭头 --><div v-show"showLef…...

HarmonyOS NEXT应用元服务开发Intents Kit(意图框架服务)习惯推荐方案概述

一、习惯推荐是HarmonyOS学习用户的行为习惯后做出的主动预测推荐。 1.开发者将用户在应用/元服务内的使用行为向HarmonyOS共享&#xff0c;使得HarmonyOS可以基于共享的数据学习用户的行为习惯。 2.在HarmonyOS学习到用户的行为习惯后&#xff0c;会给用户推荐相应功能&#x…...

【AtCoder】Beginner Contest 380-F.Exchange Game

题目链接 Problem Statement Takahashi and Aoki will play a game using cards with numbers written on them. Initially, Takahashi has N N N cards with numbers A 1 , … , A N A_1, \ldots, A_N A1​,…,AN​ in his hand, Aoki has M M M cards with numbers B …...

30. 并发编程

一、什么是多任务 如果一个操作系统上同时运行了多个程序&#xff0c;那么称这个操作系统就是 多任务的操作系统&#xff0c;例如&#xff1a;Windows、Mac、Android、IOS、Harmony 等。如果是一个程序&#xff0c;它可以同时执行多个事情&#xff0c;那么就称为 多任务的程序。…...

做儿童业态招商要去哪些网站/推广一般去哪发帖

SpringBoot使用注解方式开启定时任务 1&#xff09;启动类里面 EnableScheduling开启定时任务&#xff0c;自动扫描 2&#xff09;定时任务业务类 加注解 Component被容器扫描 3&#xff09;定时执行的方法加上注解 Scheduled(fixedRate20…...

国外对企业网站开发的研究/留手机号广告

看到这篇文章的朋友应该都差不多开工了吧。但是我还没有&#xff0c;我甚至不知道自己什么时候才能有工作…… 又是一年初&#xff0c;而我也已经失业一年多了……今天就说说我自己吧——一个有着8年 Android 开发经验的无业游民。 前言 近年来&#xff0c;当程序员真的是越来…...

天津网站开发tjniu/百度快照怎么用

用Linux守护进程检测某个程序是否运行 本文博客链接:http://blog.csdn.net/jdh99,作者:jdh,转载请注明. 环境&#xff1a; 主机:Fedora12 目标板&#xff1a;SC6410 目标板LINUX内核版本&#xff1a;2.6.36 实现功能&#xff1a; 做的一个嵌入式板子开机会自启动一个程序&am…...

前端开发人员怎么做网站/1688的网站特色

var是否可以省略 一般情况下&#xff0c;是可以省略var的&#xff0c;但有两点值得注意&#xff1a; 1、var a1 与 a1 &#xff0c;这两条语句一般情况下作用是一样的。但是前者不能用delete删除。不过&#xff0c;绝大多数情况下&#xff0c;这种差异是可以忽略的。 2、在函数…...

银川专业做网站的公司/推广方案有哪些

Python数字运算 Python 解释器可以作为一个简单的计算器&#xff1a;您可以在解释器里输入一个表达式&#xff0c;它将输出表达式的值。 表达式的语法很直白&#xff1a; , -, * 和/ 和在许多其它语言&#xff08;如Pascal或C&#xff09;里一样&#xff1b;括号可以用来为运算…...

从零开始建设企业网站/简阳seo排名优化课程

成交量&#xff08;VOL&#xff09;作为市场较为重要的指标之一&#xff0c;其量增量缩影响着价格的变动&#xff0c;亦看做是多空双方博弈的结果。那么如何洞察成交量&#xff08;VOL&#xff09;以进行交易呢&#xff1f; 首先我们先了解成交量&#xff08;VOL&#xff09;&…...