有的时候,我们有需要将由不同栏位获得的资料串连在一起。每一种资料库都有提供方法来达到这个目的:MySQL: CONCAT( )Oracle: CONCAT( ), ||SQL Server: +CONCAT( ) 的语法如下:CONCAT (字串1, 字串2, 字串3, ...)将字串1、字串2、字串3,等字串连在一起。请注意,Oracle 的 CONCAT( ) 只允许两个参数;换言之,一次只能将两个字串串连起来。不过,在Oracle中,我们可以用 ‘||‘ 来一次串连多个字串。来看几个例子。假设我们有以...
LIKE 是另一个在 WHERE 子句中会用到的指令。基本上,LIKE 能让我们依据一个套式 (pattern)来找出我们要的资料。相对来说,在运用 IN 的时候,我们完全地知道我们需要的条件;在运用 BETWEEN 的时候,我们则是列出一个范围。 LIKE 的语法如下:SELECT "栏位名"
FROM "表格名"
WHERE "栏位名" LIKE {套式};{套式} 经常包括野卡 (wildcard). 以下是几个例子:‘A_Z‘: 所有以 ‘A‘ 起头,另一个任何值的字原,且以 ‘Z‘ 为结尾的...
到目前为止,我们已学到如何藉由 SELECT 及WHERE 这两个指令将资料由表格中抓出。不过我们尚未提到这些资料要如何排列。这其实是一个很重要的问题。事实上,我们经常需要能够将抓出的资料做一个有系统的显示。这可能是由小往大(ascending) 或是由大往小 (descending)。在这种情况下,我们就可以运用 ORDER BY这个指令来达到我们的目的。ORDER BY 的语法如下:SELECT "栏位名"
FROM "表格名"
[WHERE "条件"]
ORDER BY "栏位名" [AS...
接下来,我们讨论 alias (别名) 在 SQL 上的用处。最常用到的别名有两种: 栏位别名及表格别名。简单地来说,栏位别名的目的是为了让 SQL 产生的结果易读。在之前的例子中,每当我们有营业额总合时,栏位名都是 SUM(Sales)。 虽然在这个情况下没有什么问题,可是如果这个栏位不是一个简单的总合,而是一个复杂的计算,那栏位名就没有这么易懂了。若我们用栏位别名的话,就可以确认结果中的栏位名是简单易懂的。第二种别名是表格别名...
在上一页有提到,COUNT 是函数之一。由于它的使用广泛,我们在这里特别提出来讨论。基本上,COUNT 让我们能够数出在表格中有多少笔资料被选出来。它的语法是:SELECT COUNT("栏位名")
FROM "表格名";举例来说,若我们要找出我们的示范表格中有几笔 store_name 栏不是空白的资料时,Store_Information 表格Store_NameSalesTxn_DateLos Angeles150005-Jan-1999San Diego25007-Jan-1999Los Angeles30008-Jan-1999Boston70008-Jan-199...
表格是数据库中储存资料的基本架构。在绝大部份的情况下,数据库厂商不可能知道您需要如何储存您的资料,所以通常您会需要自己在数据库中建立表格。虽然许多数据库工具可以让您在不需用到 SQL 的情况下建立表格,不过由于表格是一个最基本的架构,我们决定包括 CREATE TABLE的语法在这个网站中。在我们跳入 CREATE TABLE 的语法之前,我们最好先对表格这个东西有些多一点的了解。表格被分为栏位 (column) 及列位 (row)。每一列代表...
linux下在Laravel配置数据唯一性校验的时候生成的SQL查询存在语法错误,导致查询失败,原因是laravel生成的语句中name = 123@test.com中查询的值不是字符串,应该要解析为name = 123@test.com才对如图:这个是不是Laravel的BUG啊?还是框架哪里的配置不对
回复内容:
linux下在Laravel配置数据唯一性校验的时候生成的SQL查询存在语法错误,导致查询失败,原因是laravel生成的语句中name = 123@test.com中查询的值不是字符串,应该要解...
8.3 使用C语言访问MySQL数据
8.3.3 执行SQL语句
执行SQL语句的主要API函数被恰当的命名为:
int mysql_query(MYSQL *connection, const char *query);
这个例程接受连接结构指针和文本字符串形式的有效SQL语句,如果成功,它返回0.
1.不返回数据的SQL语句
为简单起见,先看一些不返回任何数据的SQL语句:UPDATE,DELETE和INSERT.
下面的函数用于检查受查询影响的行数:
my_ulonglong mysql_affected_rows(MYSQL *connection);
这个函数...
登录 : [root@localhost root]# mysql -uroot -proot123
1、创建book数据库
mysql> create database book;Query OK, 1 row affected (0.08 sec)
2、授权给 lili 用户
mysql> grant all on book.* to lili@localhost identified by "lili123";Query OK, 0 rows affected (0.06 sec)
mysql> exitBye
3、lili登录
创建lili用户
[root@localhost html]# mysql -u lili -pEnter passwor...
基本上,这两种别名都是放在它们要替代的物件后面。而它们中间由一个空白分开。我们 继续使用Store_Information 这个表格来做样例:
Store_Information 表格Store_Name
Sales
Txn_DateLos Angeles
1500
05-Jan-1999San Diego
250
07-Jan-1999Los Angeles
300
08-Jan-1999Boston
700
08-Jan-1999我们用跟 SQL GROUP BY 那一页 一样的样例。这里的不同处是我们加上了栏位别名以及表格别名:
SELECT A1.Store_Name Store, SUM(A1.Sale...
我们用和上一页相同的样例来显示出 UNION ALL 和 UNION 的不同。相同如果我们有下面两个表格,
Store_Information 表格Store_Name
Sales
Txn_DateLos Angeles
1500
05-Jan-1999San Diego
250
07-Jan-1999Los Angeles
300
08-Jan-1999Boston
700
08-Jan-1999Internet Sales 表格Txn_Date
Sales07-Jan-1999
25010-Jan-1999
53511-Jan-1999
32012-Jan-1999
750而我们要找出有店面营业额以及网络营业额的日子。要达到这个目的。我们用下...
由 <str> 中,选出全部从第 <pos> 位置開始的字元。请注意,这个语法不适用于 SQL Server 上。
SUBSTR (str, pos, len)
由 <str> 中的第 <pos> 位置開始,选出接下去的 <len> 个字元。
如果我们有下面的表格:
Geography 表格Region_Name
Store_NameEast
BostonEast
New YorkWest
Los AngelesWest
San Diego例1
SELECT SUBSTR (Store_Name, 3)
FROM Geography
WHERE Store_Name = ‘Los Angeles‘;
结果:
‘s Angeles‘
例2
SELE...
{套式} 常常包含野卡 (wildcard). 下面是几个样例:‘A_Z‘: 全部以 ‘A‘ 起头,还有一个不论什么值的字原。且以 ‘Z‘ 为结尾的字串。 ‘ABZ‘ 和 ‘A2Z‘ 都符合这一个模式,而 ‘AKKZ‘ 并不符合 (由于在 A 和 Z 之间有两个字原,而不是一个字原)。‘ABC%‘: 全部以 ‘ABC‘ 起头的字串。举例来说。‘ABCD‘ 和 ‘ABCABC‘ 都符合这个套式。‘%XYZ‘: 全部以 ‘XYZ‘ 结尾的字串。举例来说。‘WXYZ‘ 和 ‘ZZXYZ‘ 都符合这个套...
中的每一笔资料都是表格中的唯一值。换言之。它是用来独一无二地确认一个表格中的每一行资料。主键能够是原本资料内的一个栏位。或是一个人造栏位 (与原本资料没有关系的栏位)。主键能够包括一或多个栏位。当主键包括多个栏位时,称为组合键(Composite Key)。
主键能够在建置新表格时设定 (运用 CREATE TABLE 语句),或是以改变现有的表格架构方式设定 (运用 ALTERTABLE)。
下面举几个在建置新表格时设定主键的方式:
MySQL:
CREA...
中的每一笔资料都是表格中的唯一值。换言之,它是用来独一无二地确认一个表格中的每一行资料。主键能够是原本资料内的一个栏位,或是一个人造栏位 (与原本资料没有关系的栏位)。主键能够包括一或多个栏位。当主键包括多个栏位时,称为组合键(Composite Key)。
主键能够在建置新表格时设定 (运用 CREATE TABLE 语句)。或是以改变现有的表格架构方式设定 (运用 ALTERTABLE)。
下面举几个在建置新表格时设定主键的方式:
MySQL:
CREA...