基本语句:
/*dorp colunm*/
语法:ALTER TABLE 表名 DROP COLUMN 要删除的字段 验证财务转换的正确性,查询以下两个表是否有数据
/*表连接inner jion*/
语法:left join(左联接) 返回包括左表中的所有记录和右表中联结字段相等的记录,右表中没有对应的列的话就显示为空 right join(右联接) 返回包括右表中的所有记录和左表中联结字段相等的记录,左表中没有对应的列的话就显示为空 inner join(等值连接) 只返回两个表中联结字段相等的行 select 要展示的列 from A inner join B on A.aID = B.bID
/*select*/
语法:SELECT 栏位名 FROM 表格名 将资料从数据库中的表格内选出
/*DISTINCT*/
语法:SELECT DISTINCT 栏位名 FROM 表格名 查询表格/栏位内有哪些不同的值,而每个值出现的次数并不重要
/*where*/
语法: SELECT 栏位名 FROM 表格名 WHERE 条件选择性地抓取资料where 备注:SQL 使用单引号来环绕文本值(大部分数据库系统也接受双引号)。如果是数值,请不要使用引号。
/*AND|OR*/
语法:SELECT 栏位名 FROM 表格名 WHERE 简单条件 AND|OR 简单条件复杂条件是由二或多个简单条件透过AND 或是 OR 的连接而成and or
/*in*/
语法: SELECT 栏位名 FROM 表格名 WHERE 栏位名 IN ('值一', '值二', ...)依照一或数个不连续 (discrete) 的值的限制之内抓出资料库中的值。
/*BETWEEN*/
语法:SELECT 栏位名 FROM 表格名 WHERE 栏位名 ( NOT)BETWEEN '值一' AND '值二' 可以运用一个范围 (range) 内抓出资料库中的值
/*LIKE*/
语法:SELECT 栏位名 FROM 表格名 WHERE 栏位名 LIKE {'模式'} 能让我们依据一个模式(pattern) 来找出我们要的资料 % 替代一个或多个字符 _ 仅替代一个字符 [charlist] 字符列中的任何单一字符 [^字符]或者[!字符] 不在字符列中的任何单一字符
/*ORDER BY*/
语法: SELECT 栏位名1,栏位二 FROM 表格名 WHERE 条件 ORDER BY 栏位一 ASC/ DESC, 栏位二 ASC, DESC 对抓出的资料排列。 『备注:ASC从小到大;DESC从大到小』
/*函数*/
语法: SELECT 函数名(栏位名) FROM 表格名对数字做一些运算
『备注:函数名:AVG (平均);COUNT (计数);MAX (最大值);MIN (最小值);SUM (总合);UCASE (函数把字段的值转换为大写);LCASE (函数把字段的值转换为小写)。SELECT MID(column_name,start[,length]) FROM table_name提取栏位中的某一些值』UCASE() 语法: SELECT UCASE(column_name) FROM table_name 函数UCASE 函数把字段的值转换为大写。
/*GROUP BY*/
语法:SELECT "栏位1", SUM("栏位2") FROM "表格名"GROUP BY "栏位1" 根据栏位1来分类
/*HAVING*/
语法:SELECT "栏位1", SUM("栏位2")FROM "表格名"GROUP BY "栏位1" HAVING (函数条件)对函数的产生的值来设定条件,此处为SUM("栏位2),即通过GROUP BY "栏位1"将栏位一相同的和起来,SUM("栏位2")的值为合起来的值,HAVING (函数条件)筛选计算得到的值
/* 别名*/
语法:SELECT "表格别名"."栏位1" "栏位别名"FROM "表格名" "表格别名"
/*TRIM*/
语法:TRIM([[位置] [要移除的字符串] FROM ] 字符串)[位置] 的可能值为 LEADING (起头), TRAILING (结尾), or BOTH (起头及结尾)。 这个函数将把 [要移除的字符串] 从字符串的起 头、结尾,或是起头及结尾移除。如果我们没有列出 [要移除的字符串] 是什么的话,那空 白就会被移除。 LTRIM(字符串) 将所有字符串起头的空白移除。 RTRIM(字符串) 将所有字符串结尾的空白移除。TRIM 函数是用来移除掉一个字符串中的字头或字尾。最常见的用途是移除字首 或字尾的空白。 备注:这个函数在不同的数据库中有不同的名称; MySQL: TRIM(), RTRIM(), LTRIM() Oracle: RTRIM(), LTRIM() SQL Server: RTRIM(), LTRIM()
/*CONCAT*/
语法: CONCAT(字符串1, 字符串2, 字符串3, ...) 将字符串1、字符串2、字符串3,等字符串连 在一起。请注意,Oracle 的CONCAT()只允许两个参数;换言之,一次只能将两个字符串串 连起来。不过,在Oracle 中,我们可以用 || 来一次串连多个字符串CONCATENATE:将由不同栏位获得的资料串连在一起。 备注:每一种数据库都有提供方法来达到这个目的:MySQL: CONCAT() Oracle: CONCAT(), || SQL Server: +
/*SUBSTR*/
语法: MySQL: SUBSTR(), SUBSTRING() Oracle: SUBSTR() SQL Server: SUBSTRING()substring 函数是用来抓出一个栏位资料中的其中一部分 最常用到的方式如下 (在这里我们用SUBSTR()为例): SUBSTR(str,pos): 由<str>中,选出所有从第<pos>位置开始的字符。请注意,这个语法不适 用于SQL Server 上。 SUBSTR(str,pos,len): 由<str>中的第<pos>位置开始,选出接下去的<len>个字符
/*建表CREATE*/
语法:CREATE TABLE "表格名"("栏位 1" "栏位 1 资料种类","栏位 2" "栏位 2 资料种类",... ) 备注:NOT NULL;UNIQUE(唯一):栏位名 UNIQUE:;CHECK(条件)(栏位中的所有资料均符合条件要求):CHECK(栏位名><=某值); 主键 (Primary Key):栏位名 Primary Key ;外来键 (Foreign Key)与references合用•NOT NULL ;DEFAULT :默认值
/*新建视图*/
语法: CREATE VIEW "VIEW_NAME" AS "SQL 语句"
/*新建索引索引 (Index)*/
语法:CREATE INDEX "INDEX_NAME" ON "TABLE_NAME" (COLUMN_NAME)新建索引索引 (Index) 可以帮助我们从表格中快速地找到需要的资料
/*ALTER*/
语法:ALTER TABLE "table_name"[改变方式]改变表格结构,[改变方式] :加一个栏位: ADD "栏位 1" "栏位 1 资料种类";删去一个栏位: DROP "栏位 1";改变栏位名称: CHANGE "原本栏位名" "新栏位名" "新栏位名资料种类";改变栏位的资料种类: MODIFY "栏位 1" "新资料种类";
/* 删除表格*/
语法:DROP TABLE "表格名"
/*清除表格内容*/
语法: TRUNCATE TABLE "表格名"
/*给表格输入资料*/
语法: INSERT INTO "表格名" ("栏位1", "栏位2", ...)VALUES ("值1", "值2", ...)一次一笔 INSERT INTO "表格1" ("栏位1", "栏位2", ...)SELECT "栏位3", "栏位4", ...FROM "表格2"数据源来自另一个表格
/*修改表中资料*/
语法: UPDATE "表格"SET "栏位1" = [值1], "栏位2" = [值2]WHERE {条件} /*Update 语句用于修改表中的数据*/ UPDATE 表名称 SET 列名称 = 新值 WHERE 列名称 = 某值
/*直接由数据库中去除一些资料。*/
语法:DELETE FROM "表格名" WHERE {条件}
/*UNION*/
语法: [SQL 语句 1]UNION[SQL 语句 2]查询出两个表格之中有相同栏位名的内容并且内容不可以重复
/*UNION ALL*/
语法: [SQL 语句 1] UNION ALL[SQL 语句 2]查询出两个表格之中有相同栏位名的内容可以重复
/*INTERSECT*/
语法:[SQL 语句 1]INTERSECT[SQL 语句 2]UNION 基本上是一个 OR (如果这个值存在于第一句或是第二句,它就会被选 出),而 INTERSECT 则比较像 AND (这个值要存在于第一句和第二句才会被选出)。 UNION 是联集,而 INTERSECT 是交集 MINUSSQL [SQL 语句 1]MINUSSQL 语句 2]先找出第一个 SQL 语句所产生的结果,然后 看这些结果有没有在第二个 SQL 语句的结果中。如果有的话,那这一笔资料就被去除,而 不会在最后的结果中出现。如果第二个 SQL 语句所产生的结果并没有存在于第一个 SQL 语句所产生的结果内,那这笔资料就被抛弃,即为同时又或者同时没有,但是不同的值只会列一次
/*比较运算素*/
语法: SELECT "栏位1"FROM "表格"WHERE "栏位2" [比较运算素](SELECT "栏位1"FROM "表格"WHERE [条件]) [比较运算素] 可以是相等的运算素,例如 =, >, <, >=, <=. 这也可以是一个对文字的运算素, 例如 "LIKE"。
/*EXISTS*/
语法: SELECT "栏位1"FROM "表格1"WHERE EXISTS(SELECT *FROM "表格2"WHERE [条件])EXISTS 是用来测试内查询有没有产生任何结果。如果有的话,系统就会执行外 查询中的 SQL。若是没有的话,那整个 SQL 语句就不会产生任何结果。
/*CASE*/
语法:SELECT CASE ("栏位名") WHEN "条件1" THEN "结果1" WHEN "条件2" THEN "结果2" ... [ELSE "结果N"] END FROM "表格名" "条件" 可以是一个数值或是公式。 ELSE 子句则并不是必须的。
/*COALESCE*/
语法: SELECT COALESCE(NULL,NULL,3,4,5) FROM dual返回表达式中第一个非空表达式 其返回结果为:3
/*TOP*/ 子句:
语法:TOP 子句用于规定要返回的记录的数目。对于拥有数千条记录的大型表来说,TOP 子句是非常有用的。 SELECT TOP 数字|百分比 column_name(s)FROM table_name SQL Server SELECT column_name(s) FROM table_name LIMIT 数字 MySQL SELECT column_name(s) FROM table_name WHERE ROWNUM <= 数字 Oracle
/*select into from*/
语法:SELECT 列名 INTO 新表名 [IN 数据库名] FROM 旧表名 把希望的列插入新表
/*CREATE DATABASE*/
语法:CREATE DATABASE 数据库名 用于创建数据库。
/*substr*/
语法: substr('字符串', 起始位置, 长度) 取得字符串中指定起始位置和长度的字符串 /*NULLIF*/ NULLIF(value1, value2) 当且仅当value1和value2相等时,NULLIF才返回NULL。否则它返回value1。
/*GREATEST/ LEAST*/
语法: GREATEST(value1, value2,value3......valuen) LEAST(value1, value2,value3......valuen))GREATEST和LEAST函数从一个任意的数字表达式列表里选取最大或者最小的数值。列表中的NULL数值将被忽略。 只有所有表达式的结果都是NULL的时候,结果才会是NULL。
/*NVL*/
语法:NVL( string1, replace_with)。它的功能是如果string1为NULL,则NVL函数返回replace_with的值, 否则返回string1的值,如果两个参数都为NULL ,则返回NULL
扩展用户的表空间:
语法: alter user 用户名 unlimited on 表空间名
给用户赋予权限
语法: grant all privileges to 用户名 新建表空间 create tablespace 表空间名 datafile '服务器上的路径表空间名' size 大小;
示例:
/*建表*/ CREATE TABLE STUDENT ( NAME CHAR(10), SALES CHAR(10) CHECK(SALES>0) ) CREATE TABLE GEOGRAPHY ( REGION_NAME CHAR(10), STORE_NAME CHAR(10) )
CREATE TABLE STORE_INFORMATION ( STORE_NAME CHAR(10), SALES CHAR(10), shijian char(20) )
ALTER TABLE GEOGRAPHY MODIFY STORE_NAME CHAR(20)
ALTER TABLE STUDENT ADD SEX CHAR(20) ALTER TABLE STUDENT CHANGE SEX SEXY CHAR(10)
/*ALTER TABLE STUDENT DROP SEX */ CREATE VIEW V_GEOGRAPHY AS SELECT STORE_NAME FROM GEOGRAPHY
CREATE INDEX IDX_STUDENT_SALES ON STUDENT (SALES)
/*UPDATE STUDENT SEI SALES = 100 WHERE NAME = 'Sophia'*/
/*插数据*/
INSERT INTO STUDENT (NAME,SALES) VALUES('john','10');
INSERT INTO STUDENT (NAME,SALES) VALUES('Jennifer','15');
INSERT INTO STUDENT (NAME,SALES) VALUES('Stella','20');
INSERT INTO STUDENT (NAME,SALES) VALUES('Sophia','40');
INSERT INTO STUDENT (NAME,SALES) VALUES('Greg','50');
INSERT INTO STUDENT (NAME,SALES) VALUES('Jeff','20');
/*删除数据*/
DELETE FROM STUDENT WHERE NAME = 'john' INSERT INTO STORE_INFORMATION (store_NAME,SALES,shijian) VALUES('Los Angeles','$1500','Jan-05-1999');
INSERT INTO STORE_INFORMATION (store_NAME,SALES,shijian) VALUES('San Diego','$250','Jan-07-1999');
INSERT INTO STORE_INFORMATION (store_NAME,SALES,shijian) VALUES('Los Angeles','$300','Jan-08-1999');
INSERT INTO STORE_INFORMATION (store_NAME,SALES,shijian) VALUES('Boston','$700','Jan-08-1999');
INSERT INTO GEOGRAPHY (REGION_NAME,STORE_NAME) VALUES('East','Boston');
INSERT INTO GEOGRAPHY (REGION_NAME,STORE_NAME) VALUES('East','New York');
INSERT INTO GEOGRAPHY (REGION_NAME,STORE_NAME) VALUES('West','Los Angeles');
INSERT INTO GEOGRAPHY (REGION_NAME,STORE_NAME) VALUES('West','San Diego');
/*操作语句*/
SELECT store_NAME FROM STORE_INFORMATION
SELECT DISTINCT store_NAME FROM STORE_INFORMATION
SELECT a1.store_name, (a1.sales) a2 FROM STORE_INFORMATION A1 WHERE A1.SALES > 1000
SELECT A1.STORE_NAME ,SUM(A1.SALES) FROM STORE_INFORMATION a1 WHERE A1.SALES > 1000 OR (A1.SALES > 250 AND A1.SALES< 725) GROUP BY A1.STORE_NAME
SELECT a1.store_name, a1.sales FROM STORE_INFORMATION A1 WHERE A1.STORE_NAME IN ('Los Angeles','San Diego')
SELECT a1.store_name, a1.sales ,A1.SHIJIAN FROM STORE_INFORMATION A1 WHERE A1.SHIJIAN BETWEEN 'Jan-07-1999' AND 'Jan-08-1999'
SELECT * FROM STORE_INFORMATION A1 WHERE A1.STORE_NAME LIKE '%os%'
/*SELECT * FROM STORE_INFORMATION ORDER BY SALES DESC*/
SELECT * FROM STUDENT ORDER BY SALES DESC ,NAME DESC SELECT SUM(A1.SALES) ZONGHE FROM STORE_INFORMATION A1
SELECT COUNT(A1.STORE_NAME) JISHU FROM STORE_INFORMATION A1 WHERE A1.STORE_NAME IS NULL/IS NOT NULL SELECT COUNT(DISTINCT A1.STORE_NAME) JISHU FROM STORE_INFORMATION A1
SELECT SUM(A1.SALES) ,A1.STORE_NAME FROM STORE_INFORMATION A1 GROUP BY A1.STORE_NAME SELECT A1.STORE_NAME , SUM(A1.SALES) FROM STORE_INFORMATION A1 GROUP BY STORE_NAME HAVING SUM(A1.SALES) > 1400
SELECT A2.REGION_NAME ,SUM(A1.SALES) FROM STORE_INFORMATION A1 ,GEOGRAPHY A2 WHERE A1.STORE_NAME = A2.STORE_NAME GROUP BY A2.REGION_NAME
SELECT A2.STORE_NAME,SUM(A1.SALES) FROM STORE_INFORMATION A1 ,GEOGRAPHY A2 WHERE A2.STORE_NAME = A1.STORE_NAME(+) GROUP BY A2.STORE_NAME CREATE VIEW V_ZONGJI2 AS
SELECT A2.STORE_NAME,SUM(A1.SALES)a FROM STORE_INFORMATION A1 ,GEOGRAPHY A2 WHERE A2.STORE_NAME = A1.STORE_NAME(+) GROUP BY A2.STORE_NAME SELECT B1.REGION_NAME ||''||B1.STORE_NAME FROM GEOGRAPHY B1 WHERE B1.STORE_NAME = 'Boston' select * from V_ZONGJI2 drop view V_ZONGJI2
SELECT a1.name,a1.sales,sum(a2.sales) FROM STUDENT a1, STUDENT a2 WHERE a1.sales< a2.sales OR (A1.NAME = A2.NAME AND A1.SALES = A2.SALES) GROUP BY A1.NAME,A1.SALES ORDER BY A1.SALES DESC,A1.NAME DESC select sum(a1.sales) from STORE_INFORMATION A1 inner join GEOGRAPHY A2 on a2.REGION_NAME = 'West' and a1.store_name = a2.store_name
SELECT NAME ,SALES , RANK1 FROM (SELECT a1.name,a1.sales,COUNT(a1.sales)RANK1 FROM STUDENT a1, STUDENT a2 WHERE a1.sales< a2.sales OR (A1.NAME = A2.NAME AND A1.SALES = A2.SALES) GROUP BY A1.NAME,A1.SALES ORDER BY A1.SALES DESC,A1.NAME DESC)A3 WHERE RANK1 =( SELECT CEIL(COUNT(SALES)/2) FROM STUDENT)
SQL基本语句以及示例的更多相关文章
-
SQL查询语句 常用示例
SQL语言的应用 1. 找出姓李的读者姓名和所在单位. 2. 列出图书库中所有藏书的书名及出版单位. 3. 查找高等教育出版社的 所有图书及单价,结果按单价降序排序. 4. ...
-
sql查询语句示例
今天没事又专门学习了一下sql查询语句,个人感觉太重要了,于是就找了网上的一个示例自己练了起来,感觉学到了很多,下面跟大家分享一下sql查询语句的示例操作. 首先,我建了5张表,分别如下: (a)学生 ...
-
在EF4.1的DBContext中实现事务处理(BeginTransaction)和直接执行SQL语句的示例
在EF4.1的DBContext中实现事务处理(BeginTransaction)和直接执行SQL语句的示例 (2012-03-13 10:12:48) 转载▼ public ActionResu ...
-
C#与数据库访问技术总结(六)之Command对象创建SQl语句代码示例
Command对象创建SQl语句代码示例 说明:前面介绍了 Command 对象的方法和一些属性,回顾一下 Command对象主要用来执行SQL语句.利用Command对象,可以查询数据和修改数据. ...
-
[转]MySQL 最基本的SQL语法/语句
MySQL 最基本的SQL语法/语句,使用mysql的朋友可以参考下. DDL-数据定义语言(Create,Alter,Drop,DECLARE) DML-数据操纵语言(Select,Delete ...
-
15个初学者必看的基础SQL查询语句
本文由码农网 – 小峰原创翻译,转载请看清文末的转载要求,欢迎参与我们的付费投稿计划! 本文将分享15个初学者必看的基础SQL查询语句,都很基础,但是你不一定都会,所以好好看看吧. 1.创建表和数据插 ...
-
(转)经典SQL查询语句大全
(转)经典SQL查询语句大全 一.基础1.说明:创建数据库CREATE DATABASE database-name2.说明:删除数据库drop database dbname3.说明:备份sql s ...
-
经典SQL查询语句大全
一.基础1.说明:创建数据库CREATE DATABASE database-name2.说明:删除数据库drop database dbname3.说明:备份sql server--- 创建 备份数 ...
-
最基本的SQL语法/语句
DDL—数据定义语言(Create,Alter,Drop,DECLARE) DML—数据操纵语言(Select,Delete,Update,Insert) DCL—数据控制语言(GRANT,REVOK ...
随机推荐
-
Android开发笔记之《知识漏点纪录与学习》
1. NDK的异常捕获方法 2. Andorid性能优化:http://www.cnblogs.com/yezhennan/p/5442557.html 3. 插件化与组件化:http://blog. ...
-
可在广域网部署运行的QQ高仿版 -- GG叽叽V1.8(源码)
距离的GG 1.0发布已经三周了,这三周内,我利用业余时间为GG增加了视频聊天的功能.个人觉得进展有些缓慢,主要是因为大多数时间都花在了UI上.由于本人不会PS,所以图片素材都是从网上一个一个搜下来的 ...
-
泛函编程(37)-泛函Stream IO:通用的IO处理过程-Free Process
在上两篇讨论中我们介绍了IO Process:Process[I,O],它的工作原理.函数组合等.很容易想象,一个完整的IO程序是由 数据源+处理过程+数据终点: Source->Process ...
-
NumPy 学习(1): ndarrays
Numpy 是Numerical Python的简写,用来进行高性能的科学计算以及数据分析的基础包.它是一些高级工具(pandas)的基础.它主要提供以下几个功能: (1). ndarray:计算快, ...
-
表单验证插件jquery.validate的使用方法演示
jQueryValidate表单验证效果 jquery.validate验证错误信息的样式控制 <!--validate验证插件的基础样式--> input.error{border: 1 ...
-
C++实现串口的自动识别
1.首先需要遍历注册表得到所有可用的串口 将得到的每一个串口保存到向量vector中,代码如下: // 得到所有的串口号 vector<string> cnComm::getComPort ...
-
当我们用自定义的类对象作为key时,我们必须在程序中覆盖HashCode()和equals()。
Key值既然可以作为对象,那么也可以用一个自定义的类.比如: m.put(new sutdent(“Liucy”,30),”boss”) 如果没有语句来判定Student类对象是否相同,则会全部打印出 ...
-
(27)Cocos2d-x 3.0 Json用法
Cocos2d-x 3.0 加入了rapidjson库用于json解析.位于external/json下. rapidjson 项目地址:http://code.google.com/p/rapidj ...
-
20155320 2016-2017-2《Java程序设计》第1周学习总结
20155320 2016-2017-2<Java程序设计>第1周学习总结 教材学习内容总结 本周学习内容 浏览课本,并就每一章提出一个问题. 认真学习第一.第二章的内容. 1至18章每章 ...
-
[转]Shell脚本中获取SELECT结果值的方法
http://blog.itpub.net/13885898/viewspace-1670297/ 有时候我们可能会需要在Shell脚本中执行SELECT语句,并将结果赋值给一个变量,对于这样的情形, ...