sql语句学习

SQL语法   
Select  
SELECT "栏位" FROM "表格名" 
 
Distinct
SELECT DISTINCT "栏位"  FROM "表格名"  
 
Where  
SELECT "栏位"  FROM "表格名"  WHERE "condition"   

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", ...) 

 

 

表格名Store_Imformation      
字段名 store_name    Sales      Date三个字段
表格数据如下:
store_name       Sales        Date
Los Angeles    $1500   20140518
Boston     $1200   20140818
Loritas     $800   20140419
Anntia     $2300   20140618
Emma     $8500   20140320
James     $1000   20140815
Boston     $900   20140908

select "栏位名" from "表格名"
select store_name, Sales, Date from Store_Imformation  //将Store_Imformation表中store_name、Sales、Date三栏的数据都查询出来

select distinct "栏位名" from "表格名"   //找出不同的栏位名    distinct不同的
select distinct store_name from Store_Imformation 

select "栏位名" from "表格名" where "条件"  //条件可以由and和or连接而成
select store_name from Store_Imformation where Sales > 1200


select "栏位名" from "表格名" where "简单条件"{[and|or]"简单条件"}+
select store_name from Store_Imformation where Sales > 1200 or (Sales > 800 and Sales < 1000)

select "栏位名" from "表格名" where "栏位名" in (值一,值二...)
select * from Store_Imformation where store_name in(Boston, Emma)

select "栏位名" from "表格名" where "栏位名" Between "值一" and "值二"  //Between查询某一范围的值

select "栏位名" from "表格名" where "栏位名" like {模式} 
模式经常包括wildcard, 例如:
'A_Z':  'A'开头, 'Z'结尾, 中间是任意字符
'ABC%': 所有以'ABC'开头的字符串
'%XYZ': 所有以'XYZ'结尾的字符串
'%AN%': 所有含有'AN'这个模式的字符串

select "栏位名" from "表格名" where "条件" order by "栏位名" [asc, desc]  //asc从小到大排   desc从大到小排
还可以照好几个栏位来排序   order by子句语法如下:
order by "栏位一" [asc|desc] "栏位二" [asc|desc]

sql提供一些函数对数据进行运算
AVG(平均数)
COUNT(计数)
MAX(最大值)
MIN(最小值)
SUM(总和)

select "函数名"("栏位名") from "表格名"
COUNT经常和DISTINCT一起使用,查询表格中有多少笔不同的资料

select "栏位1", SUM("栏位2") from "表格名" GROUP BY "栏位1"  //GROUP BY分组查询,通常和聚合函数一起使用
select store_name, SUM(Sales) from Store_Imformation group by store_name
group by 有原则, select 面所有列,没有使用聚合函数列,必须出现 group by 面

select "栏位1", SUM("栏位2") from "表格名" GROUP BY "栏位1" HAVING(函数条件)   //HAVING跟where一样,有聚合函数的时候只能用HAVING, 不能用where
HAVING :对函数产生的值设定条件

栏位别名和表格别名语法:
select "表格别名"."栏位1" "栏位别名" from "表格名" "表格别名"
select A1.store_name Store, SUM(A1.Sales) "Total Sales" from Store_Imformation A1 group by A1.store_name

将不同栏位的资料连接在一起
MySQL:  CONCAT()
Oracle: CONCAT(), ||
SQL Server: +
MySQL和Oracle:
SELECT CONCAT(region_name,store_name) FROM Geography WHERE store_name = 'Boston';

SUBSTRING 抓出一个栏位资料中的一部分
MYSQL: SUBSTR,  SUBSTRING
ORACLE: SUBSTR
SQL SERVER: SUBSTRING()

select substring(store_name, 3) from Store_Imformation where store_name='Emma'

TRIM  用来移除掉一个字符串中的字头和字尾,最常用的是移除字首和字尾的空白
MySQL:  TRIM(), LTRIM(), RTRIM()
ORALCE: RTRIM(), LTRIM()
SQL SERVER: RTRIM(), LTRIM()

LTRIM():  所有字符串起头的空白移除
RTRIM():  所有字符串结尾的空白移除
select TRIM('  SAMPLE   ')


建表语法:

create table "表格名"
("栏位1" "栏位1资料类型"
"栏位2" "栏位2资料类型"
......)

常见的几种限制
NOT NULL
UNIQUE
CHECK
主键(Primary Key)
外键(Foreign Key)

视观表语法:
CREATE VIEW "VIEW_NANE" AS "SQL语句"

创建索引语法:
CREATE INDEX "INDEX_NAME" ON "TABLE_NAME"(COLUMN_NAME)

修改表格的结构语法:
ALTER TABLE "table_name" [改变方式]
改变方式有以下几种:
加一个栏位: ADD "栏位1" "栏位1资料种类"
删去一个栏位: DROP "栏位1"
改变栏位名称: CHANGE "原本栏位名" "新栏位名" "新栏位名资料种类"
改变栏位的资料种类: MODIFY "栏位1" "新资料种类"
Alter table Store_Imformation add Number char(5)  //在表Store_Imformation中添加一个Number的栏位。

删除表格语法:
DROP "表格名"

DROP TABLE Store_Imformation

清除表格中的所有资料语法:
TRUNCATE TABLE "表格名"   //truncate table "表格名"

插入数据语法:
insert into "表格名"("栏位1","栏位2",...)value("值1","值2",...)

插入从另一个表格查询出来的资料到当前表格中语法:
insert into "表格1"("栏位1","栏位2",...) select "栏位3" "栏位4" from "表格2"

修改表格中的记录语法:
UPDATE "表格名" SET "栏位1" = [新值] where [条件]
UPDATE "表格名" SET "栏位1" = [值1]", "栏位2" = [值2]"  where [条件]

删除表格中的一些数据
DELETE FROM "表格名" where [条件]

 

UNIQUE将两个sql语句合并起来(去掉重复的), 跟OR差不多,语法如下:
[SQL 语句1]  UNIQUE [SQL 语句 2]

UNIQUE ALL将两个sql语句合并起来(不会去掉重复的), 跟OR差不多,语法如下:
[SQL 语句1]  UNIQUE ALL [SQL 语句 2]

INTERSECT将两个sql语句合并起来, 等同于AND
[SQL 语句1]  INTERSECT [SQL 语句 2]

MINUS将两个sql语句合并起来, 求差集
[SQL 语句1]  MINUS [SQL 语句 2]

子查询语句
SELECT "栏位1" FROM "表格名" where "栏位2" [比较运算符](SELECT "栏位1" FROM "表格名" where [条件])
比较运算符可以是相等的运算符,例如=、>、<、>=、<=,也可以是文字运算符,如like, in等等。

EXISTS用来测试内查询有没有产生任何结果,有的话就执行外查询的SQL语句,否则整个SQL语句不产生任何结果
SELECT "栏位1" FROM "表格1" where EXISTS(SELECT * FROM "表格2" where [条件])

CASE是SQL用来作为if-then-else之类逻辑的关键字。语法如下:
SELECT CASE("栏位名")
 WHEN "条件1" THEN "结果1"
 WHEN "条件2" THEN "结果2"
 ....
 [ELSE "结果N"]
 END
FROM "表格名"
条件可以是一个数值或者公式,ELSE子句并不是必须的。

 

 

 

 

 

 

 

 

 

 

 

 


 

C++本科毕业设计-ROS机械臂上位机源码(下载即用),个人经导师指导并认可通过的高分设计项目,评审分98分,项目中的源码都是经过本地编译过可运行的,都经过严格调试,确保可以运行!主要针对计算机相关专业的正在做大作业、毕业设计的学生和需要项目实战练习的学习者,资源项目的难度比较适中,内容都是经过助教老师审定过的能够满足学习、使用需求,如果有需要的话可以放心下载使用。 C++本科毕业设计-ROS机械臂上位机源码(下载即用)C++本科毕业设计-ROS机械臂上位机源码(下载即用)C++本科毕业设计-ROS机械臂上位机源码(下载即用)C++本科毕业设计-ROS机械臂上位机源码(下载即用)C++本科毕业设计-ROS机械臂上位机源码(下载即用)C++本科毕业设计-ROS机械臂上位机源码(下载即用)C++本科毕业设计-ROS机械臂上位机源码(下载即用)C++本科毕业设计-ROS机械臂上位机源码(下载即用)C++本科毕业设计-ROS机械臂上位机源码(下载即用)C++本科毕业设计-ROS机械臂上位机源码(下载即用)C++本科毕业设计-ROS机械臂上位机源码(下载即用)C++本科毕业设计-ROS机械臂上位机源码(下载即用)C++本科毕业设计-ROS机械臂上位机源码(下载即用)C++本科毕业设计-ROS机械臂上位机源码(下载即用)C++本科毕业设计-ROS机械臂上位机源码(下载即用)C++本科毕业设计-ROS机械臂上位机源码(下载即用)C++本科毕业设计-ROS机械臂上位机源码(下载即用)C++本科毕业设计-ROS机械臂上位机源码(下载即用)C++本科毕业设计-ROS机械臂上位机源码(下载即用)C++本科毕业设计-ROS机械臂上位机源码(下载即用)C++本科毕业设计-ROS机械臂上位机源码(下载即用)C++本科毕业设计-ROS机械臂上位机源码(下载即用)C++本科毕业设计-ROS机械臂上位机源
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值