在这篇文章中,我们将学习如何写出列名中带有空格的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 2Invalid column name ‘country’.Msg 207, Level 16, State 1, Line 3Invalid 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 tblcountriesWHERE  [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服务器上执行。

如何编写列名中带有空格的SQL查询相关推荐

  1. 关于Linux系统中文件名中带有空格问题分析

    关于Linux中文件名中带有空格问题分析 因为有的时候,文件或目录带有空格总是操作不便.下面的方法在cp,mv等命令中都可以使用. 方法一:使用shell脚本即linux命令符执行,需要将带有空格的文 ...

  2. bigquery_在BigQuery中链接多个SQL查询

    bigquery Bigquery is a fantastic tool! It lets you do really powerful analytics works all using SQL ...

  3. JAVA报表工具中更为动态的SQL查询(FineReport)

    在用Web报表工具查询数据时,经常会遇到查询条件不定的情况,例如参数过滤列是动态变化的:有时想用A列进行过滤,有时想用B列进行过滤.在FineReport报表中,可以将整个查询条件作为参数传入sql中 ...

  4. mysql 字符串搜_mysql – 在表中搜索字符串的SQL查询?

    嗨,我想在存储在mysql数据库中的表中搜索特定的字符串.表格结构如下: – +------------------------------------------------------------ ...

  5. 微软SCOM管理中最有用的SQL查询(一)

    Microsoft System Center Operations Manager (SCOM)是微软推出的专业系统监控软件,可以监控部署在网络中的服务器.应用系统和客户端,提供图形化视图,使管理员 ...

  6. python数据库查询怎么用变量_python中带变量的SQL查询

    我正在制作一个程序,它是一个小学教师设置的测验的用户界面.我正在尝试使用用户在上一页键入的数据进行此查询.它正在数据库中查找与相关用户名和测验编号匹配的人.这是为了让老师看到学生们在某些测验中的表现. ...

  7. pandas 删除列名字符串中的空格

    import glob import os import pandas as pd csv_path = glob.glob('.\\shares\\*\\*.csv') csv_path 去除列名中 ...

  8. asp sql查询过滤空格_【技术干货】30个最适合初学者的SQL查询

    海牛学院的 | 第 598 期 本文预计阅读 | 11 分钟 毫无疑问,SQL或结构化查询语言是最流行的编程语言之一,尤其是因为它具有访问和修改数据库中数据的功能.SQL与数据库接口的基本用法是其流行 ...

  9. oracle中导出查询结果,Oracle SQL 查询结果导出到文本或Excel文件方法

    (MEMO:利用spool缓冲池技术) 具体步骤如下: 1.在Oracle PL/SQL中输入缓冲开始命令,并指定输出的文件路径和文件名 spool d:\output.txt 2.在命令中输入相应的 ...

最新文章

  1. Chronometer的使用
  2. 【转载】视频CDN技术原理与流程说明
  3. linux limit
  4. 只安装和配置instantclient,用plsql developer,navicat for oracle,sqlplus连接oracle数据库 ....
  5. static方法不能直接访问类内的非static变量和不能调用this,super语句分析
  6. 怎么做app图标_App拉新:以老拉新活动怎么做?
  7. c 不安装oracle,安装oracle 10g 的艰难之旅
  8. 杨森翔书法-明月双溪水
  9. poj 1651区间dp
  10. c语言 prototype_剖析JavaScript中的原型(Prototype)
  11. Python 3.5安装JPype
  12. 技术指南 | 使用 mPaaS 配置 SM2 国密加密指南
  13. 流式上传文件到服务器磁盘,通过HTTP将数据从浏览器流式传输到服务器的方法...
  14. centos修改键盘布局
  15. xcode7的那些坑-“Your binary is not optimized for iPhone 5” (ITMS-90096) when submitting
  16. 什么是CDN,使用CDN有什么作用,华为云内容分发网络 CDN助您全站加速
  17. oracle下的inventory文件夹,Oracle中Inventory目录作用以及如何重建此目录
  18. Fortigate 飞塔防火墙命令行常用操作 CLI
  19. Android80go平台的桌面布局(带gms)
  20. node.js请求接口

热门文章

  1. python学习(第三节课)
  2. 杭电ACM-LCY算法进阶培训班-专题训练(线段树)
  3. numpy中的ndarray方法和属性详解
  4. docker基础入门一:docker安装镜像下载根据镜像创建容器
  5. 超越ChatGPT:AgentGPT正在将自主AI带到浏览器中
  6. socket函数的参数和解释
  7. week9 CSP201609-3-炉石传说
  8. MindMeld中文文档--23.平台架构
  9. 数据库常用操作之删除重复数据且仅保留一条
  10. 东华OJ基础题88 你要乘坐的飞碟在这里