如何编写列名中带有空格的SQL查询

news2025/1/21 4:44:19

在这篇文章中,我们将学习如何写出列名中带有空格的SQL查询。空格在数据库对象的名称和表的列名的命名规则中受到限制。如果你想在对象名或列名中加入空格,查询和应用代码必须以不同的方式编写。在编写动态SQL查询时,你必须小心和精确。本文解释了我们如何在SQL Server和MySQL中处理带有空白的对象名称和列。

如何在SQL Server中编写列名中有空格的SQL查询

在SQL Server中,我们可以在方括号或小括号中指定带有空格的列名。让我们通过一些例子来理解这个概念。

数据库对象名称中的空格

假设我们想创建一个名为 雇员表.我们创建以下查询来创建该表。

use DemoDatabase
go
create table Employee Table
(
Employee_ID int,
first_name varchar(50),
first_name varchar(50),
Dept_id int,
grade char(5)
)
复制代码

当我们执行该查询时,我们将收到以下错误。

Msg 156, Level 15, State 1, Line 3 Incorrect syntax near the keyword ‘Table’.

为了解决这个错误,我们可以在方括号中指定表名。

use DemoDatabase
go
create table [Employee Table]
(
Employee_ID int,
first_name varchar(50),
last_name varchar(50),
Dept_id int,
grade char(5)
)
复制代码

另外,你也可以在双引号(")之间指定表名。

use DemoDatabase
go
create table "Employee Table"
(
Employee_ID int,
first_name varchar(50),
last_name varchar(50),
Dept_id int,
grade char(5)
)
复制代码

列名中的空格

假设我们想创建一个名为 tblCountries.该表有两列,分别为国家代码国家名称。下面是创建表的语句。

create table tblCountries
(
Country code varchar(15),
Country Name varchar(15)
)
复制代码

为了解决这个错误,我们必须在方括号中指定列名。

use DemoDatabase
go
create table tblCountries
(
[Country code] varchar(15),
[Country Name] varchar(15)
)
复制代码

或者,你也可以在双引号(")之间指定列名。

use DemoDatabase
go
create table tblCountries
(
"Country code" varchar(15),
"Country Name" varchar(15)
)
复制代码

在列的名称中带有空格的SELECT语句

你可以使用方括号来填充名称中带有空格的列。假设我们想从tblCountries表中获得国家代码国家名称列。

use DemoDatabase
go
select  country code, country name
from tblCountries
复制代码

SELECT语句返回一个错误。

Msg 207, Level 16, State 1, Line 2

Invalid column name ‘country’.

Msg 207, Level 16, State 1, Line 3

Invalid column name ‘country’.
复制代码

我们必须在方括号或双引号中指定列。查询应该写成如下。

use DemoDatabase
go
/*Query with square bracket*/
select  [country code], [country name]
from tblCountries
Go
/*Query with double quotes*/
select  "country code", "country name"
from tblCountries
Go
复制代码

在列名中带有空格的DML SQL查询

当我们运行INSERT、UPDATE和DELETE语句时,我们必须使用方括号或双引号来处理带有空格的列名。在下面的例子中,我在tblCountries中插入一些记录。该表有国家代码和国家名称两列。

INSERT INTO tblcountries
 
([country code],
    [country name])
 
VALUES      ('AUS',
    'Austrelia')
复制代码

假设我们想用UPDATE语句将国名从印度改为Bharat

UPDATE tblcountries
SET    [country name] = 'Bharat'
WHERE  [country name] = 'India'
复制代码

假设我们想用DELETE语句删除代码为AUS的国家。

DELETE FROM tblcountries
    WHERE  [country code] = 'AUS'
复制代码

现在,让我们了解如何在MySQL Server 8.0中编写列名中带有空格的SQL查询。

如何在MySQL中写出列名中带有空格的SQL查询

数据库对象名称中的空格

假设我们想创建一个名为电影列表的表。我们运行以下查询来创建该表

create table film list
(
film_id int,
title varchar(500),
Certificate varchar(10),
duration int,
rental numeric(10,2)
)
复制代码

当我们执行该查询时,我们将收到以下错误。

error 1064 (42000):你的SQL语法有误;请查看与你的MySQL服务器版本相对应的手册,了解在'list'附近使用的正确语法。

为了解决这个错误,我们可以在后缀中指定表名(`)。CREATE TABLE语句可以写成以下样子。

create table `film list`
(
film_id int,
title varchar(500),
Certificate varchar(10),
duration int,
rental numeric(10,2)
)
复制代码

列名中的空格

假设我们想创建一个名为 tblmultiplex.该表有两列,分别为多路影院名称影院总屏幕。下面是创建表的语句。

create table tblmultiplex
(
ID int,
Multiplex name varchar(500),
Total Cinema screen int,
Address varchar(500),
CityID int
)
复制代码

当我们执行查询时,我们会遇到以下错误。

ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ‘name varchar(500),

为了解决这个错误,我们可以使用反斜线。创建表的语句应该写成以下样子。

create table tblmultiplex
(
ID int,
`Multiplex name` varchar(500),
`Total Cinema screen` int,
Address varchar(500),
CityID int
)
复制代码

列名中带有空格的SELECT语句

你可以使用反符号来填充名称中带有空格的列。假设我们想从tblmultiplex表中填入复式影院名称总影院屏幕列。

select multiple name, Total Cinema Screen from tblmultiplex

我们将遇到以下错误。

ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ‘screen from tblmultiplex’ at line 1

让我们使用反斜线来写SELECT查询。它应该写成以下样子。

select `multiple name`, `Total Cinema Screen` from tblmultiplex
复制代码

正如你所看到的,该查询被成功执行。

列名中带有空格的DML SQL查询

当我们在MySQL服务器上运行INSERT、UPDATE和DELETE语句时,我们必须使用背号来处理带有空格的列名。在下面的例子中,我在tblmultiplex表中插入一些记录。该表有多路电视名称和总电影屏幕列。

insert into tblmultiplex (ID, `multiplex name`, `Total cinema screen`, address, CityID )
values
(2,'Big Cinema Inc',3,'Ashram Road', 1);
 
insert into tblmultiplex (ID, `multiplex name`, `Total cinema screen`, address, CityID )
values
(3,'Wide Angal Mehsana',3,'Near Balaji township', 2);
复制代码

假设我们想用UPDATE语句将多厅影院的名称从Big Cinema Inc改为Cinemax

UPDATE tblmultiplex
SET    `multiplex name` = 'Cinemax'
WHERE  `multiplex name` = 'Big Cinema Inc'
复制代码

假设我们想用DELETE语句删除名称为PVR影院的多路影院的详细信息。

delete from tblmultiplex where `multiplex name`='PVR Multiplex';
复制代码

总结

在这篇文章中,我们学习了如何写一个列名中带有空格的SQL查询。我已经涵盖了以下内容。

  1. 创建一个SQL Server和MySQL表与。
    1. 表名中的空白
    2. 表的列名中的空格
  2. 如何在有空格的列上运行DML语句。DML语句在SQL服务器和MySQL服务器上执行。

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

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

相关文章

【JavaWeb】Servlet系列 --- Tomcat安装及配置和常见的问题(2022最新详解、图文教程)

Tomcat的配置安装1. 关于WEB服务器软件2. 配置Tomcat的服务器第一步:配置Java的运行环境第二步:Tomcat的安装第三步:启动Tomcat3. 问题一:解决Tomcat服务器在DOS命令窗口中的乱码问题(控制台乱码)4. 测试To…

linux 用户不在sudoers文件中,此事将被报告

出现如下提示 gaokaoli 出现不在 sudoers 文件中。此事将被报告 一般是该用户 权限不够 既然知道权限不够可以添加到root用户组,获取权限即可 通过命令行添加到权限,发现还是不行 sudo usermod -g root gaokaoli 那就直接在配置文件中修改 通过执行…

word设置页码从非第一页开始

设置过程 参考:https://zhuanlan.zhihu.com/p/84998841 显示出分隔符和分页符 方法一: 在文档中直接按【CtrlShift8】组合键,即可显示出分节符。. 方法二: 点击【开始】-【段落】-【显示/隐藏编辑标记】按钮,也可显…

如何安装Jmeter监控服务器资源插件(JMeterPlugins + ServerAgent 方法一)?

一、下载插件 ServerAgent-2.2.3.zip 下载 JMeterPlugins-Extras-1.4.0.zip下载 JMeterPlugins-Standard-1.4.0.zip下载 (或者可以到网站下载插件:JMeterPlugins-Standard和JMeterPlugins-Extras 下载地址:https://jmeter-plugins.org/down…

计算机图形学(三) -- 3D 变换

文章目录3D 变换缩放(Scale)平移(Translation)旋转(Rotation)3D 旋转(3D Rotation)什么是欧拉角罗德里格斯旋转公式(Rodrigues Rotation Formula)Viewing transformation什么是 View / Camera Transformation相机标准位置(约定俗成)怎样将一个相机从一个任意的摆放,…

clickhouse单节点以及集群的安装

安装 因为clickHouse很消耗cpu资源,所以需要修改:用户可打开的文件数量和最大进程数: vim /etc/security/limits.conf * soft nofile 65536 * hard nofile 65536 * soft nproc 131072 * hard nproc 131072//第一列代表用户用户组&#x…

[LeetCode周赛复盘] 第 92 场双周赛20221015

[LeetCode周赛复盘] 第 92 场双周赛20221015 一、本周周赛总结二、 [Easy] 6249. 分割圆的最少切割次数1. 题目描述2. 思路分析3. 代码实现三、[Medium] 6277. 行和列中一和零的差值1. 题目描述2. 思路分析3. 代码实现四、[Medium] 6250. 商店的最少代价1. 题目描述2. 思路分析…

org.springframework.test.util.ReflectionTestUtils.invokeMethod方法的使用

序言 为什么要用spring框架的ReflectionTestUtils工具类的invokeMethod方法? 当我们想要调用一个实例对象的私有方法时,我们可以利用反射机制去调用该私有方法。 Demo 含有私有方法的类, public final class DemoClass {private static …

Spring - BeanFactoryPostProcessor 扩展接口

文章目录Preorg.springframework.beans.factory.config.BeanFactoryPostProcessor源码探究1 是否实现BeanDefinitionRegistryPostProcessor 接口,分别写入集合2 处理实现了的PriorityOrdered和 BeanDefinitionRegistryPostProcessors 的 bean3. 处理实现了的Ordered…

Linux基础

一、Linux发展历程 1.1、Linux前身-Unix 1968年Multics 项目 MIT|、Bell 实验室、美国通用电气有限公司走到了一起,致力于开发Multics项目。到后期由于开发进度不是很好,MIT 和Bell实验室相继离开这个项目的开发,最终导致项目搁浅。 1970年 …

接口测试用例设计方法方式和流程一文到底

目录 1、通用信息校验 1、URL校验 2、请求方法校验 3、请求头 4、接口鉴权 2、接口参数校验 1、参数的必填项校验 2、参数的选填项校验 3、参数长度校验 4、参数数据类型校验 5、参数的有效性校验 6、参数的唯一性校验 7、参数关联项校验 3、其他补充项 1、幂等…

Kafka必问面试题

一、说说你对kafka的理解 kafka本身是一个流式处理平台,同时也具有消息系统得能力,在我们得系统中更多得是把kafka作为一个消息队列系统来使用 而如果来介绍kafka,大致可以分为这几块: kafka集群元数据得管理,集群得…

【云原生 | Kubernetes 实战】04、k8s 名称空间和资源配额

目录 一、什么是命名空间? 二、namespace 应用场景 三、namespacs 使用案例 四、namespace 资源限额 一、什么是命名空间? Kubernetes 支持多个虚拟集群,它们底层依赖于同一个物理集群。 这些虚拟集群被称为命名空间。 命名空间namespace…

《基础IO》

【一】C文件接口 我们使用C语言向文件写入东西的时候,基本上的套路都是先打开文件,然后调用C的文件接口,向文件中输入相应的数据,然后关闭文件。 a.size_t fwrite( const void *buffer, size_t size, size_t count, FILE *stream …

AlibabaP9整理出微服务笔记:Spring微服务不止架构和设计

微服务是一种架构风格,也是一种针对现代业务需求的软件开发方法。微服务并非发明出来的,确切地说是从之前的架构风格演进而来的。 但是深入介绍Spring Boot、Spring Cloud、Docker、 Mesos和Marathon掌握响应式微服务设计原则,轻松构建大规模…

每天五分钟机器学习:常用的聚类算法——k均值的运行原理和实现

本文重点 K-均值是聚类算法之一,该算法接受一个没有标签的数据集,然后将数据聚类成不同的簇。 k-均值运行原理 K-均值是一个迭代算法,假设我们想要将数据聚类成k个组,其方法为: 1.首先选择 k 个随机的点(样本点),称为聚类中心。 2.遍历数据集中的每一个数据,计算距离…

single sign on 与 cas

single sign on 与 cas cookie与session与token、普通登录、单点登录、三种常见实现方式、cas-server、cas-client 注:oauth2 是保护服务端资源,即受 oauth2 保护的资源能不能被客户端访问;cas 是保护用户信息,即该用户有没有权…

第五届传智杯【初赛】- F-二人的大富翁游戏

F-二人的大富翁游戏 题目预览 题目背景(推荐阅读 题目预览) 如果遇到提交失败,请多次刷新,多次提交,会有成功几率 作为大学生,莲子和梅莉有着比高中时更为闲暇的课余时光。在没有课的时候,她们喜欢玩大富翁这一游戏…

08.OpenWrt-连接wifi网络

08.OpenWrt-连接wifi网络 8.1 连接其他wifi热点上网 rootOpenWrt:/# cat /etc/config/wireless config wifi-device ‘radio0’ option type ‘mac80211’ option path ‘platform/10300000.wmac’ option channel ‘1’ option band ‘2g’ option htmode ‘HT20’ option …

NFIQ怎么使用?NFIQ2.0软件怎么操作来进行图片质量得分计算?NFIQ2.0支持什么图片格式

一、背景 前段时间准备写个指纹图像生成论文,结果需要用NFQI进行分析,参考的论文中都是结果,还是折线图,看着好厉害,但论文中没有说明具体咋出来的值。网上找了半天相关的,一个有用的信息都没有,好不容易找…