码迷,mamicode.com
首页 > 数据库 > 详细

SQL语句 & 查询表结构

时间:2015-07-09 00:42:23      阅读:172      评论:0      收藏:0      [点我收藏+]

标签:

 

【group by】

对结果集进行分组,常与汇总函数一起使用。

SELECT column,SUM(column) FROM table GROUP BY column

HAVING 通常与 GROUP BY 子句同时使用。不使用 GROUP BY 时, HAVING 则与 WHERE 子句功能相似。

 

 

Company                          Amount

W3Schools                         5500

IBM                                       4500

W3Schools                         7100

 

按照 Company 字段进行分组,求出每个 Company 的 Amout 的合计在 10000 以上的数据:

SELECT Company,SUM(Amount) FROM Sales GROUP BY Company HAVING SUM(Amount)>10000

 

返回结果 :

Company                        SUM(Amount)

W3Schools                            12600

 

 

 

 

 

===============================================================

WHERE语句在GROUP BY语句之前;SQL会在分组之前计算WHERE语句。 

HAVING语句在GROUP BY语句之后;SQL会在分组之后计算HAVING语句。

 

===============================================================

 

SELECT Customer,SUM(OrderPrice) FROM Orders
WHERE Customer=‘Bush‘OR Customer=‘Adams‘GROUPBY Customer
HAVINGSUM(OrderPrice)>1500

===============================================================

 

 

订单总金额少于 2000 的客户。

SELECT Customer,SUM(OrderPrice) FROM Orders
GROUPBY Customer
HAVINGSUM(OrderPrice)<2000

===============================================================

 

 

【as子句】
P52    更名运算
select custome_name, borrower, loan_number   as loan_id,amount
 
定义元组变量:
from borrower as T, loan as S
 
自身连接
select disitinct T.branch_name  form branch as T, branch as S
where T.assets > S.assets  and S.branch_city = ‘Brooklyn‘
【MySQL数据库中,如何查看一个表的表结构,如何查看其主键】
desc 表名; 有一个Key的字段,值为‘PRI‘的就是主键
 
 
一、简单描述表结构,字段类型
desc tabl_name;
显示表结构,字段类型,主键,是否为空等属性,但不显示外键。
 
二、查询表中列的注释信息
select * from information_schema.columns
where table_schema = ‘db‘  #表所在数据库
and table_name = ‘tablename‘ ; #你要查的表
 
三、只查询列名和注释
select  column_name, column_comment from information_schema.columns where table_schema =‘db‘  and table_name = ‘tablename‘ ;
 
四、#查看表的注释
select table_name,table_comment from information_schema.tables  where table_schema = ‘db‘ and table_name =‘tablename‘
ps:二~四是在元数据表中查看,我在实际操作中,常常不灵光,不知为什么,有了解的大侠请留印。
 
五、查看表生成的DDL:show create table table_name;表结构、类型,外键,备注全部显示出来。

 

【SQL 函数】
    - AVG (平均)
    - COUNT (计数)
    - MAX (最大值)
    - MIN (最小值)
    - SUM (总合)
 
SELECT "函数名"("栏位名") FROM "表格名";
        SELECT SUM(Sales) FROM Store_Information;
 
 
【count()函数】
http://www.jb51.net/w3school/sql/sql_func_count_ast.htm

本例返回 "Persons" 表中的行数:SELECT COUNT(*) FROM Persons

返回大于 20 岁的人数:SELECT COUNT(*) FROM Persons WHERE Age>20

SELECT COUNT (Store_Name) FROM Store_Information WHERE Store_Name IS NOT NULL;
SELECT COUNT (DISTINCT Store_Name) FROM Store_Information;
SELECT COUNT(DISTINCT Customer) AS NumberOfCustomers FROM Orders


【http://www.w3school.com.cn/sql/】【根据已整理的资料,系统地学习】

 

【http://www.1keydata.com/cn/sql/】

 

首页

SQL 指令

    -  SQL SELECT
SELECT Store_Name FROM Store_Information;
 
    -  SQL DISTINCT
SELECT DISTINCT Store_Name FROM Store_Information;
 
    -  SQL WHERE 
SELECT Store_Name 
FROM Store_Information 
WHERE Sales > 1000;
 
    -  SQL AND OR 
SELECT Store_Name 
FROM Store_Information 
WHERE Sales > 1000 
OR (Sales < 500 AND Sales > 275);
 
    -  SQL IN 
SELECT * 
FROM Store_Information 
WHERE Store_Name IN (‘Los Angeles‘, ‘San Diego‘);
 
    -  SQL BETWEEN 
SELECT * 
FROM Store_Information 
WHERE Txn_Date BETWEEN ‘Jan-06-1999‘ AND ‘Jan-10-1999‘;
 
    -  SQL LIKE 
SELECT "栏位名" 
FROM "表格名" 
WHERE "栏位名" LIKE {套式};

{套式} 经常包括野卡 (wildcard). 以下是几个例子:

  • ‘A_Z‘: 所有以 ‘A‘ 起头,另一个任何值的字原,且以 ‘Z‘ 为结尾的字串。 ‘ABZ‘ 和 ‘A2Z‘ 都符合这一个模式,而 ‘AKKZ‘ 并不符合 (因为在 A 和 Z 之间有两个字原,而不是一个字原)。
  • ‘ABC%‘: 所有以 ‘ABC‘ 起头的字串。举例来说,‘ABCD‘ 和 ‘ABCABC‘ 都符合这个套式。
  • ‘%XYZ‘: 所有以 ‘XYZ‘ 结尾的字串。举例来说,‘WXYZ‘ 和 ‘ZZXYZ‘ 都符合这个套式。
  • ‘%AN%‘: 所有含有 ‘AN‘ 这个套式的字串。举例来说, ‘LOS ANGELES‘ 和 ‘SAN FRANCISCO‘ 都符合这个套式。
SELECT * 
FROM Store_Information 
WHERE Store_Name LIKE ‘%AN%‘;
 
    -  SQL ORDER BY 
SELECT "栏位名" 
FROM "表格名" 
[WHERE "条件"]
ORDER BY "栏位名" [ASC, DESC];
ORDER BY "栏位一" [ASC, DESC], "栏位二" [ASC, DESC]
SELECT Store_Name, Sales, Txn_Date 
FROM Store_Information 
ORDER BY Sales DESC;

在以上的例子中,我们用栏位名来指定排列顺序的依据。除了栏位名外,我们也可以用栏位的顺序 (依据 SQL 句中的顺序)。在 SELECT 后的第一个栏位为 1,第二个栏位为 2,以此类推。在上面这个例子中,我们打以下这一句 SQL 可以达到完全一样的效果:

SELECT Store_Name, Sales, Txn_Date 
FROM Store_Information 
ORDER BY 2 DESC;

    -  SQL 函数 
  • AVG (平均)
  • COUNT (计数)
  • MAX (最大值)
  • MIN (最小值)
  • SUM (总合)
SELECT "函数名"("栏位名") 
FROM "表格名";
SELECT SUM(Sales) FROM Store_Information;
除了函数的运用外,SQL 也可以做简单的数学运算,例如加 (+) 和减 (-)。对于文字类的资料,SQL 也有好几个文字处理方面的函数,例如文字相连 (concatenation),文字修整 (trim),以及子字串 (substring)。不同的数据库对这些函数有不同的语法,所以最好是参考您所用数据库的信息,来确定在那个数据库中,这些函数是如何被运用的。 
 
    -  SQL COUNT 
SELECT COUNT (Store_Name) 
FROM Store_Information 
WHERE Store_Name IS NOT NULL;
 
SELECT COUNT (DISTINCT Store_Name) 
FROM Store_Information;
 
    -  SQL GROUP BY 
SELECT "栏位1", SUM("栏位2") 
FROM "表格名" 
GROUP BY "栏位1";
SELECT Store_Name, SUM(Sales) 
FROM Store_Information 
GROUP BY Store_Name;

 
    -  SQL HAVING 
SELECT "栏位1", SUM("栏位2") 
FROM "表格名" 
GROUP BY "栏位1" 
HAVING (函数条件);

请读者注意: GROUP BY 子句并不是一定需要的。

SELECT Store_Name, SUM(Sales) 
FROM Store_Information 
GROUP BY Store_Name
HAVING SUM(sales) > 1500;
 
    -  SQL ALIAS 
SELECT "表格别名"."栏位1" "栏位别名" 
FROM "表格名" "表格别名";
SELECT A1.Store_Name Store, SUM(A1.Sales) ‘Total Sales‘ 
FROM Store_Information A1
GROUP BY A1.Store_Name;

 
    -  SQL 表格连接 【Join】 
SELECT A1.Region_Name REGION, SUM(A2.Sales) SALES 
FROM Geography A1, Store_Information A2 
WHERE A1.Store_Name = A2.Store_Name 
GROUP BY A1.Region_Name;

在第一行中,我们告诉 SQL 去选出两个栏位:第一个栏位是 Geography 表格中的 Region_Name 栏位 (我们取了一个别名叫做 REGION);第二个栏位是 Store_Information 表格中的 Sales 栏位 (别名为 SALES)。请注意在这里我们有用到表格别名:Geography 表格的别名是 A1,Store_Information 表格的别名是 A2。若我们没有用表格别名的话, 第一行就会变成

SELECT Geography.Region_Name REGION, SUM(Store_Information.Sales) SALES

很明显地,这就复杂多了。在这里我们可以看到表格别名的功用:它能让 SQL 句容易被了解,尤其是这个 SQL 句含盖好几个不同的表格时。

接下来我们看第三行,就是 WHERE 子句。 这是我们阐述连接条件的地方。在这里,我们要确认Geography 表格中 Store_Name 栏位的值与 Store_Information 表格中 Store_Name 栏位的值是相等的。这个 WHERE 子句是一个连接的灵魂人物,因为它的角色是确定两个表格之间的连接是正确的。如果 WHERE 子句是错误的,我们就极可能得到一个笛卡儿连接 (Cartesian Join)。笛卡儿连接会造成我们得到所有两个表格每两行之间所有可能的组合。在这个例子中,笛卡儿连接会让我们得到 4 x 4 = 16 行的结果。 

    -  SQL 外部连接 
之 前我们看到的左连接 (left join),又称内部连接 (inner join)。在这个情况下,要两个表格内都有同样的值,那一笔资料才会被选出。那如果我们想要列出一个表格中每一笔的资料,无论它的值在另一个表格中有没 有出现,那该怎么办呢?在这个时候,我们就需要用到 SQL OUTER JOIN (外部连接) 的指令。

我们需要知道每一间店的营业额。如果我们用一个普通的连接,我们将会漏失掉 ‘New York‘ 这个店,因为它并不存在于 Store_Information 这个表格。所以,在这个情况下,我们需要用外部连接来串联这两个表格:

SELECT A1.Store_Name, SUM(A2.Sales) SALES 
FROM Georgraphy A1, Store_Information A2 
WHERE A1.Store_Name = A2.Store_Name (+) 
GROUP BY A1.Store_Name;

我们在这里是使用了 Oracle 的外部连接语法。

请注意: 当第二个表格没有相对的资料时,SQL 会传回 NULL 值。在这一个例子中,‘New York‘ 并不存在于 Store_Information 表格,所以它的 "SALES" 栏位是 NULL。 
 
    -  SQL Subquery 
我们可以在一个 SQL 语句中放入另一个 SQL 语句。当我们在 WHERE 子句或 HAVING 子句中插入另一个 SQL 语句时,我们就有一个 subquery 的架构。 Subquery 的作用是什么呢?第一,它可以被用来连接表格。另外,有的时候 subquery 是唯一能够连接两个表格的方式。
SELECT "栏位1" 
FROM "表格" 
WHERE "栏位2" [比较运算素] 
(SELECT "栏位1" 
FROM "表格"
WHERE "条件");
[比较运算素] 可以是相等的运算素,例如 =, >, <, >=, <=. 这也可以是一个对文字的运算素,例如 "LIKE"。

 

我们要运用 subquery 来找出所有在西部的店的营业额。我们可以用下面的 SQL 来达到我们的目的:

SELECT SUM(Sales) FROM Store_Information
WHERE Store_name IN
(SELECT store_name FROM Geography 
WHERE region_name = ‘West‘);
在这个例子中,我们并没有直接将两个表格连接起来,然后由此直接算出每一间西区店面的营业额。我们做的是先找出哪些店是在西区的,然后再算出这些店的营业额总共是多少。 
 
    -  SQL UNION 
UNION 指令的目的是将两个 SQL 语句的结果合并起来。从这个角度来看, UNION 跟 JOIN 有些许类似,因为这两个指令都可以由多个表格中撷取资料。 UNION 的一个限制是两个 SQL 语句所产生的栏位需要是同样的资料种类。另外,当我们用 UNION 这个指令时,我们只会看到不同的资料值 (类似 SELECT DISTINCT)。
[SQL 语句 1]
UNION
[SQL 语句 2];
SELECT Txn_Date FROM Store_Information
UNION
SELECT Txn_Date FROM Internet_Sales;

 
    -  SQL UNION ALL 
UNION ALL 这个指令的目的也是要将两个 SQL 语句的结果合并在一起。 UNION ALL 和UNION 不同之处在于 UNION ALL 会将每一笔符合条件的资料都列出来,无论资料值有无重复。

结果:

Txn_Date
Jan-05-1999
Jan-07-1999
Jan-08-1999
Jan-08-1999
Jan-07-1999
Jan-10-1999
Jan-11-1999
Jan-12-1999
 
    -  SQL INTERSECT 
和 UNION 指令类似,INTERSECT 也是对两个 SQL 语句所产生的结果做处理的。不同的地方是, UNION 基本上是一个 OR (如果这个值存在于第一句或是第二句,它就会被选出),而INTERSECT 则比较像 AND ( 这个值要存在于第一句和第二句才会被选出)。UNION 是联集,而INTERSECT 是交集。
SELECT Txn_Date FROM Store_Information
INTERSECT
SELECT Txn_Date FROM Internet_Sales;
请注意,在 INTERSECT 指令下,不同的值只会被列出一次。 
 
    -  SQL MINUS 
MINUS 指 令是运用在两个 SQL 语句上。它先找出第一个 SQL 语句所产生的结果,然后看这些结果有没有在第二个 SQL 语句的结果中。如果有的话,那这一笔资料就被去除,而不会在最后的结果中出现。如果第二个 SQL 语句所产生的结果并没有存在于第一个 SQL 语句所产生的结果内,那这笔资料就被抛弃。
SELECT Txn_Date FROM Store_Information
MINUS
SELECT Txn_Date FROM Internet_Sales;
 
    -  SQL CONCATENATE 

有的时候,我们有需要将由不同栏位获得的资料串连在一起。每一种资料库都有提供方法来达到这个目的:

  • MySQL: CONCAT( )
  • Oracle: CONCAT( ), ||
  • SQL Server: +
Oracle 的 CONCAT( ) 只允许两个参数;换言之,一次只能将两个字串串连起来。不过,在Oracle中,我们可以用 ‘||‘ 来一次串连多个字串。

MySQL/Oracle

SELECT CONCAT (Region_Name, Store_Name) FROM Geography 
WHERE Store_Name = ‘Boston‘;

Oracle

SELECT Region_Name || ‘ ‘ || Store_Name FROM Geography 
WHERE Store_Name = ‘Boston‘;

结果:

‘East Boston‘
 
    -  SQL SUBSTRING 
  • MySQL: SUBSTR( ), SUBSTRING( )
  • Oracle: SUBSTR( )
  • SQL Server: SUBSTRING( )
SUBSTR (str, pos)

由 <str> 中,选出所有从第 <pos> 位置开始的字元。请注意,这个语法不适用于 SQL Server 上。

SUBSTR (str, pos, len)

由 <str> 中的第 <pos> 位置开始,选出接下去的 <len> 个字元。

SELECT SUBSTR (Store_Name, 3) 
FROM Geography 
WHERE Store_Name = ‘Los Angeles‘;

结果:

‘s Angeles‘

例2

SELECT SUBSTR (Store_Name, 2, 4) 
FROM Geography 
WHERE Store_Name = ‘San Diego‘;

结果:

‘an D‘
 
    -  SQL TRIM 

SQL 中的 TRIM 函数是用来移除掉一个字串中的字头或字尾。最常见的用途是移除字首或字尾的空白。这个函数在不同的资料库中有不同的名称:

  • MySQL: TRIM( ), RTRIM( ), LTRIM( )
  • Oracle: RTRIM( ), LTRIM( )
  • SQL Server: RTRIM( ), LTRIM( )

各种 trim 函数的语法如下:

TRIM ( [ [位置] [要移除的字串] FROM ] 字串): [位置] 的可能值为 LEADING (起头), TRAILING (结尾), or BOTH (起头及结尾)。 这个函数将把 [要移除的字串] 从字串的起头、结尾,或是起头及结尾移除。如果我们没有列出 [要移除的字串] 是什么的话,那空白就会被移除。

LTRIM(字串): 将所有字串起头的空白移除。

RTRIM(字串): 将所有字串结尾的空白移除。

例1

SELECT TRIM(‘   Sample   ‘);

结果:

‘Sample‘

例2

SELECT LTRIM(‘   Sample   ‘);

结果:

‘Sample   ‘

例3

SELECT RTRIM(‘   Sample   ‘);

结果:

‘   Sample‘
 

表格处理

    -  SQL CREATE TABLE
CREATE TABLE Customer
(First_Name char(50),
Last_Name char(50),
Address char(50),
City char(50),
Country char(25),
Birth_Date datetime);
 
    -  SQL CREATE VIEW
CREATE VIEW V_Customer
AS SELECT First_Name, Last_Name, Country
FROM Customer;
 

我们就可以用以下的指令来建一个包括每个地区 (Region) 销售额 (Sales) 的视观表:

CREATE VIEW V_REGION_SALES
AS SELECT A1.Region_Name REGION, SUM(A2.Sales) SALES
FROM Geography A1, Store_Information A2
WHERE A1.Store_Name = A2.Store_Name
GROUP BY A1.Region_Name;

这就给我们有一个名为 V_REGION_SALES 的视观表。这个视观表包含不同地区的销售哦。如果我们要从这个视观表中获取资料,我们就打入,

SELECT * FROM V_REGION_SALES;
    -  SQL CREATE INDEX

若我們要在 Last_Name 這個欄位上建一個索引,我們就打入以下的指令,

CREATE INDEX IDX_CUSTOMER_LAST_NAME
ON Customer (Last_Name);

若我们要在 Last_Name 这个栏位上建一个索引,我们就打入以下的指令,

CREATE INDEX IDX_CUSTOMER_LOCATION
ON Customer (City, Country);
 
    -  SQL ALTER TABLE
ALTER TABLE "table_name"
[改变方式];

[改变方式] 的详细写法会依我们想要达到的目标而有所不同。再以上列出的改变中,[改变方式] 如下:

  • 加一个栏位: ADD "栏位 1" "栏位 1 资料种类"
  • 删去一个栏位: DROP "栏位 1"
  • 改变栏位名称: CHANGE "原本栏位名" "新栏位名" "新栏位名资料种类"
  • 改变栏位的资料种类: MODIFY "栏位 1" "新资料种类"
ALTER TABLE Customer ADD Gender char(1);
ALTER TABLE Customer CHANGE Address Addr char(50);
ALTER TABLE Customer MODIFY Addr char(30);
ALTER TABLE Customer DROP Gender;
 
    -  SQL 主键

MySQL

CREATE TABLE Customer 
(SID integer, 
Last_Name varchar(30), 
First_Name varchar(30), 
PRIMARY KEY (SID));

Oracle

CREATE TABLE Customer 
(SID integer PRIMARY KEY, 
Last_Name varchar(30), 
First_Name varchar(30));

SQL Server

CREATE TABLE Customer 
(SID integer PRIMARY KEY, 
Last_Name varchar(30), 
First_Name varchar(30));

以下则是以改变现有表格架构来设定主键的方式:

MySQL

ALTER TABLE Customer ADD PRIMARY KEY (SID);

Oracle

ALTER TABLE Customer ADD PRIMARY KEY (SID);

SQL Server

ALTER TABLE Customer ADD PRIMARY KEY (SID);

请注意,在用 ALTER TABLE 语句来添加主键之前,我们需要确认被用来当做主键的栏位是设定为 『NOT NULL』 ;也就是说,那个栏位一定不能没有资料。 

 
 
    -  SQL 外来键
外来键是一个(或数个)指向另外一个表格主键的栏位。外来键的目的是确定资料的参考完整性 (referential integrity)。换言之,只有被准许的资料值才会被存入资料库内。
所有的订购资料中的顾客,都一定是要跟在 CUSTOMER 表格中存在。
我们就会在 ORDERS 表格中设定一个外来键,而这个外来键是指向 CUSTOMER 表格中的主键。这样一来,我们就可以确定所有在ORDERS 表格中的顾客都存在 CUSTOMER 表格中。换句话说,ORDERS 表格之中,不能有任何顾客是不存在于 CUSTOMER 表格中的资料。

MySQL

CREATE TABLE ORDERS 
(Order_ID integer, 
Order_Date date, 
Customer_SID integer, 
Amount double, 
PRIMARY KEY (Order_ID), 
FOREIGN KEY (Customer_SID) REFERENCES CUSTOMER (SID));

Oracle

CREATE TABLE ORDERS 
(Order_ID integer PRIMARY KEY, 
Order_Date date, 
Customer_SID integer REFERENCES CUSTOMER (SID), 
Amount double);

SQL Server

CREATE TABLE ORDERS 
(Order_ID integer PRIMARY KEY, 
Order_Date datetime, 
Customer_SID integer REFERENCES CUSTOMER (SID), 
Amount double);

以下的例子则是藉着改变表格架构来指定外来键。这里假设 ORDERS 表格已经被建置,而外来键尚未被指定:

MySQL

ALTER TABLE ORDERS 
ADD FOREIGN KEY (Customer_SID) REFERENCES CUSTOMER (SID);

Oracle

ALTER TABLE ORDERS 
ADD (CONSTRAINT fk_orders1) FOREIGN KEY (Customer_SID) REFERENCES CUSTOMER (SID);

SQL Server

ALTER TABLE ORDERS 
ADD FOREIGN KEY (Customer_SID) REFERENCES CUSTOMER (SID);
 
    -  SQL DROP TABLE 
DROP TABLE Customer;
 
    -  SQL TRUNCATE TABLE 
有时候我们会需要清除一个表格中的所有资料。要达到者个目的,一种方式是我们在 SQL DROP 那一页 看到 的 DROP TABLE 指令。不过这样整个表格就消失,而无法再被用了。另一种方式就是运用 TRUNCATE TABLE 的指令。在这个指令之下,表格中的资料会完全消失,可是表格本身会继续存在。
 
    -  SQL INSERT INTO 
INSERT INTO "表格名" ("栏位1", "栏位2", ...)
VALUES ("值1", "值2", ...);
第二种 INSERT INTO 能够让我们一次输入多笔的资料。
INSERT INTO "表格1" ("栏位1", "栏位2", ...)
SELECT "栏位3", "栏位4", ...
FROM "表格2";
INSERT INTO Store_Information (Store_Name, Sales, Txn_Date)
SELECT store_name, Sales, Txn_Date
FROM Sales_Information
WHERE Year (Txn_Date) = 1998;

 
    -  SQL UPDATE 
UPDATE Store_Information
SET Sales = 500
WHERE Store_Name = ‘Los Angeles‘ 
AND Txn_Date = ‘Jan-08-1999‘;

在这个例子中,只有一笔资料符合 WHERE 子句中的条件。如果有多笔资料符合条件的话,每一笔符合条件的资料都会被修改的。

我们也可以同时修改好几个栏位。这语法如下:

UPDATE "表格"
SET "栏位1" = [值1], "栏位2" = [值2]
WHERE "条件";
    -  SQL DELETE FROM
DELETE FROM Store_Information
WHERE Store_Name = ‘Los Angeles‘;
 

SQL 语法

SQL 指令的语法。简洁的 SQL 语法做为读者参考之用。

Select 
SELECT "栏位" FROM "表格名";

Distinct 
SELECT DISTINCT "栏位" 
FROM "表格名";

Where 
SELECT "栏位" 
FROM "表格名" 
WHERE "条件";

And/Or 
SELECT "栏位" 
FROM "表格名" 
WHERE "简单条件" 
{[AND|OR] "简单条件"}+;

In 
SELECT "栏位" 
FROM "表格名" 
WHERE "栏位" IN (‘值1‘, ‘值2‘, ...);

Between 
SELECT "栏位" 
FROM "表格名" 
WHERE "栏位" BETWEEN ‘值1‘ AND ‘值2‘;

Like 
SELECT "栏位" 
FROM "表格名" 
WHERE "栏位" LIKE {模式};

Order By 
SELECT "栏位" 
FROM "表格名" 
[WHERE "条件"]
ORDER BY "栏位" [ASC, DESC];

Count 
SELECT COUNT("栏位") 
FROM "表格名";

Group By 
SELECT "栏位1", SUM("栏位2") 
FROM "表格名" 
GROUP BY "栏位1";

Having 
SELECT "栏位1", SUM("栏位2") 
FROM "表格名" 
GROUP BY "栏位1" 
HAVING (栏位);

Create Table 
CREATE TABLE "表格名"
("栏位 1" "栏位 1 资料种类",
"栏位 2" "栏位 2 资料种类",
... );

Drop Table 
DROP TABLE "表格名";

Truncate Table 
TRUNCATE TABLE "表格名";

Insert Into 
INSERT INTO "表格名" ("栏位1", "栏位2", ...)
VALUES ("值1", "值2", ...);

Update 
UPDATE "表格名"
SET "栏位1" = [新值]
WHERE "条件";

Delete From 
DELETE FROM "表格名"
WHERE "条件";

 

SQL语句 & 查询表结构

标签:

原文地址:http://www.cnblogs.com/lsx1993/p/4631698.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!