《PHP和MySQL Web开发从新手到高手(第5版)》一2.6 将数据插入到表中

本文涉及的产品
云数据库 RDS MySQL Serverless,0.5-2RCU 50GB
简介:

本节书摘来自异步社区《PHP和MySQL Web开发从新手到高手(第5版)》一书中的第2章,第2.6节,作者【澳】Kevin Yank,更多章节内容可以访问云栖社区“异步社区”公众号查看

2.6 将数据插入到表中

PHP和MySQL Web开发从新手到高手(第5版)
数据库创建好了,表也创建好了,剩下的工作就是将笑话放入到数据库中。将数据插入到数据库中的命令叫作INSERT,名字相当贴切。这条命令有两种基本形式:

INSERT INTO tableName SET
 column1Name = column1Value,
 column2Name = column2Value,
 ⋮
INSERT INTO tableName
 (column1Name, column2Name, …)
 VALUES (column1Value, column2Value, …)

因此,要把一个笑话添加到表中,可以使用如下两条命令中的任何一条:

INSERT INTO joke SET
joketext = "Why did the chicken cross the road? To get to the other
side!",
jokedate = "2012-04-01"
INSERT INTO joke
(joketext, jokedate) VALUES (
"Why did the chicken cross the road? To get to the other side!",
"2012-04-01")

注意,在INSERT命令的两种形式中,列的顺序必须与值的顺序保持一致。否则,列的顺序就没有意义了。继续进行,交换列和值对的顺序并尝试该查询命令。

当你输入查询的时候,应该会注意到,我们使用了双引号(")来表明笑话的文本从哪里开始以及从哪里结束。像这样用引号括起来的一段文本,叫作文本字符串(text string)。这也是在SQL中表示大多数数据值的一种方式。例如,日期也是以"YYYY-MM-DD".的形式作为文本字符串输入的。

如果你愿意,可以输入单引号而不是双引号把文本字符串括起来:

INSERT INTO joke SET
joketext = 'Why did the chicken cross the road? To get to the other
side!',
jokedate = '2012-04-01'

你可能会感到奇怪,当笑话文本中使用了引号,会发生什么情况。如果文本包含了单引号,你应该用双引号将文本括起来。相反,如果文本包含双引号,用单引号将文本括起来。

如果我们想要包含在查询中的文本,这样会既包括单引号也包括双引号。因此,你必须在文本字符串中将冲突的符号进行转义(escape)。在SQL中,通过在一个字符的前面添加一个反斜杠()来进行转义。这会通知MySQL,忽略掉这个字符可能具有的任何“特殊含义”。在单引号或双引号的例子中,它告知MySQL不要将这个符号当作是文本字符串的结束符号。

为了让这一点尽可能的清晰,以下是用于一则既包含单引号又包含双引号的笑话的INSERT命令的例子:

INSERT INTO joke
(joketext, jokedate) VALUES (
'Knock-knock! Who\'s there? Boo! "Boo" who? Don\'t cry; it\'s only a
joke!',
"2012-04-01")

如上所示,我使用单引号标记了笑话文本的文本字符串的开始和结束。因此,我必须将字符串中的那3个单引号(即撇号)进行转义,可以通过在它们前面放置反斜杠来实现。MySQL将会看到这些反斜杠,并且知道将字符串中的这些字符当作单引号,而不是当作字符串的结束标记。

现在你可能会问,如何在SQL文本字符串中包含真正的反斜杠呢?答案是,输入一个双反斜杠(),MySQL会将其当作是文本字符串中的一个单个的反斜杠。

相关实践学习
基于CentOS快速搭建LAMP环境
本教程介绍如何搭建LAMP环境,其中LAMP分别代表Linux、Apache、MySQL和PHP。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助     相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
相关文章
|
PHP
PHP:变量类型获取和数据类型转换
PHP:变量类型获取和数据类型转换
75 0
|
存储 自然语言处理 JavaScript
PHP变量和数据类型
1.静态类型语言,比如:C/Java等,在静态语言类型中,类型的检查是在编译期(compile-time)确定的。 2. 动态语言类型,比如:PHP,python等各种脚本语言,这类语言中的类型是在运行时确定的。 3. 无类型语言,比如:汇编语言,汇编语言操作的是底层存储,他们对类型毫无感知。
PHP变量和数据类型
|
安全 PHP Shell
PHP变量的定义与相应的数据类型
在PHP中,变量的定义和C语言定义的方法是类似的,但是在PHP中,变量使用起来就非常灵活,一个变量既可以做整型,也可以是浮点型,也可以是字符串或者字符类型,通通只要在变量名前面加一个$然后加上你的变量名,再初始化,那么编译器在编译的时候就可以将对应的转换成为相应的数据类型,这点是跟bash shell 很像的,我们可以来看看: php中的变量 变量: 值存储在内存中 有名称的信息。
956 0
|
存储 PHP 索引
PHP变量和数据类型
原文:PHP变量和数据类型 编程语言可以分为三大类 1. 静态类型语言,比如:C/Java等,在静态语言类型中,类型的检查是在编译期(compile-time)确定的。 2. 动态语言类型,比如:PHP,python等各种脚本语言,这类语言中的类型是在运行时确定的。
1406 0
|
7月前
|
关系型数据库 MySQL PHP
PHP 原生操作 Mysql
PHP 原生操作 Mysql
81 0
|
7月前
|
关系型数据库 MySQL 数据库连接
PHP 原生连接 Mysql
PHP 原生连接 Mysql
107 0
|
7月前
|
关系型数据库 MySQL Unix
PHP MySql 安装与连接
PHP MySql 安装与连接
130 0
|
3月前
|
关系型数据库 MySQL PHP