basic operations in sql

原创 2007年10月05日 12:14:00
CREATE TABLE TABNAME{
COL1 NUMBER(8) CONSTRAINT CON1 PRIMARY KEY [ON DELETE RESTRICT|SET NULL|SET DEFAULT|SET CASCADE],
COL2 VARCHAR(20) CONSTRAINT CON2 NOT NULL,
COL3 VARCHAR(20) CONSTRAINT CON3 UNIQUE,
COL4 NUMVER(2) CONSTARIN CON4 CHECK(COL>4),
COL5 NUMVER(3) DEFAULT 'SUN',
COL6 VARCHAR(5) CONSTRAINT COL6 REFERENCES MYTABLE(PK)
}

ALTER TABLE TANNAME
ADD CONSTRAINT CON1 FOREIGN KEY(KEYNAME) REFERENCES TABNAME(COLNAME);

ALTER TABLE TABNAME
ADD CONSTRAINT CON2 PRIMARY KEY(PK);

ALTER TABLE TANNAME
MODIFY COLNAME VARCHAR(2);

ALTER TABLE TABNAME
DROP(COLNAME);

ALTER TABLE TABNAME
DROP PRIMARY KEY;
DROP CONSTRAINT CONNAME;

DROP TABLE TABNAME;
TRUNCATE TABLE TABNMAE;

CREATE UNIQUE INDEX IDXNAME ON TABLE(COLNAME);
DROP INDEX IDXNAME;

INSERT INTO TABNAME(COLNAME...) VALUES(...);
INSERT INTO TABNAME VALUES(...);
INSERT INTO TABNAME(COLNAME...) VALUES(NULL,...);
INSERT INTO TABNAME(COLNAME...) WHERE SELECT COLNAME... FROM TABNAME WHERE...

DELETE FROM TABNAME WHERE...
DELETE FROM TABNAME;

UPDATE TABNAME SET COLNAME=XXX,COLNAME2=XXX WHERE...;

SELECT * FROM TABNAME;
SELECT (ALL) COLNAME FROM TABNAME;
SELECT DISTICT COLNAME FROM TABNAME;
SELECT COL1NAME AS "CUSTOMER1",COL2NAME AS "CUSTOMER2" FROM TABNAME;

SELECT COLNAME FROM TABLENAME WHERE COLNAME = XXX AND COLNAME2 = XXX;
SELECT COLNAME FROM TABLENAME WHERE NOT COLNAME = XXX AND NOT COLNAME = XXX;

SELECT COLNAME FROM TABLENAME WHERE COLNAME (NOT) BETWEEN X AND Y;(包含边界)

SELECT COLNAME FROM TABLENAME WHERE COLNAME (NOT) IN(VALUES);

SELECT COLNAME FROM TABLENAME WHERE COLNAME LIKE PARTTEN.(通配符:%任意多个字符,_一个字符)

SELECT COLNAME FROM TABLENAME WHERE COLNAME IS (NOT) NULL;

SELECT COLNAME FROM TABLENAME ORDER BY (COLNAME|COL_NUMVER) DESC/ASC;

SELECT MIN(COLNAME),MAX(COLNAME),AVG([DISTINCT]COLNAME),SUM([DISTINCT]COLNAME),COUNT(*|[DISTICT] COLNAME) FROM TABLENAME WHERE...
COUNT(*) =  NO.OF ROWS
COUNT(COLNAME) = NO. OF ROWS DO NOT HAVE NULL VALUE

GROUP BY必须在聚合函数使用的情况下使用,并且在select list中出现在的colname不在聚合函数中,就一定要出现在GROUP BY中。
HAVING COLNAME中的colname必须是出现在select list中的。也可以是selct list中的聚合函数
SELECT COLNAME,SUM(COLANME2) FROM TABNAME WHERE... GROUP BY COLNMAE HAVING SUM(COLNAME2) > XXX;

集合运算
并集UNION [ALL]:没有all时,结果消除重复项,有all则保留重复项。任何一个选择自己不能使用ORDER BY,但是UNION结果可以排序    
SELECT COLNAME...COLNAME FROM TAB1
  UNION [ALL]
SELECT COLNAME...COLNAME FROM TAB2

交集INTERSECT
SELECT COLNAME FROM TABNAME1
   INTERSECT
SELECT COLNAME FROM TABNAME2;

补集MINUS
SELECT COLNAME FROM TABNAME1
   MINUS
SELECT COLNAME FROM TABNAME2;

RESTRICTION就是水平投影,选出部分行,所有列,用WHERE实现
PROJECTION就是垂直投影,选出所有行,部分列。

连接运算JOIN
笛卡尔连接,内连接,等值连接,外连接其实质都是笛卡尔连接。
笛卡尔连接:SELECT a.colname1,b.colname2 from TAB1 a,TAB2 b;
            SELECT TAB1.COLNAME1,TAB2.COLNAME2 FROM TAB1,TAB2;

内连接(等值连接):SELECT a.colname1,b.colname2 from TAB1 a,TAB2 b WHERE a.colnamex = b.colnamey;
SELECT TAB1.COLNAME1,TAB2.COLNAME2 FROM TAB1,TAB2 WHERE TAB1.COLNAMEX = TAB2.COLNAMEY;

外连接
左外连接:SELECT TAB1.COLNAME1,TAB2.COLNAME2 FROM TAB1,TAB2 WHERE TAB1.COLNAMEX = TAB2.COLNAMEY(+);
右外连接:SELECT TAB1.COLNAME1,TAB2.COLNAME2 FROM TAB1,TAB2 WHERE TAB1.COLNAMEX(+) = TAB2.COLNAMEY;

自连接(一定要定义表的别名和列的别名):
SELECT COL1 AS "CL1",COL2 AS "CL2"... FROM TAB a,TAB b WHERE a.colname = b.colname;

独立子查询和相关查询
对于独立自查询而言,内查询先独立于外查询而执行,暂时存储查询结果,然后再独立进行外查询
相关查询:即内查询中要用到外查询的表。对外查询表的每一行,内查询都要全部执行一次。

EXIST
SELECT COLNAME...FROM TAB1 WHERE [NOT] EXIST (SELECT COLNAME... FROM TAB2 WHERE TAB1.COL = TAB2.COL) (WITH CHECK OPTION);

VIEW
CREATE VIEW VEIW_NAME(COL1,COL2...) AS SELECT ... FROM ...;
INSERT INTO VIEW_NAME(COL1...) VALUES(...);
DELETE VIEW_NAME WHERE...;
UPDATE VIEW_NAME SET...;
DROP VIEW VIEW_NAME;

GRANT
GRANT ALL [PRIVILEGES]|UPDATE(COLNAMES..)|SELECT|... ON TABNAME|VIWE_NAME TO USERNAME|PUBLIC [WITH GRANT OPTION];

REMOVE ALL [PRIVILEGES]|UPDATE(COLNAMES..)|SELECT|... ON TABNAME|VIWE_NAME FROM USERNAME|PUBLIC;

数据库——SQL server2008安装与visual basic连接

这是自己当时初始CSDN上写的第一篇博客,其中当时的心情依然记忆尤新,总之美美的。...
  • u013030601
  • u013030601
  • 2014年06月29日 11:32
  • 1487

2016年中国大学生程序设计竞赛(杭州) F Four Operations(暴力枚举)

题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=5938 Four OperationsTime Limit: 2000/1000 MS (Java/O...
  • qq_32866009
  • qq_32866009
  • 2016年10月31日 10:35
  • 278

HTTP使用BASIC认证的原理及实现方法

一.   BASIC认证概述 在HTTP协议进行通信的过程中,HTTP协议定义了基本认证过程以允许HTTP服务器对WEB浏览器进行用户身份证的方法,当一个客户端向HTTP服务器进行数据请求时,如...
  • lvxinzhi
  • lvxinzhi
  • 2015年10月09日 14:46
  • 1920

认证模式之Basic模式

HTTP协议规范中有两种认证方式,一种是Basic认证,另外一种是Digest认证,这两种方式都属于无状态认证方式,所谓无状态即服务端都不会在会话中记录相关信息,客户端每次访问都需要将用户名和密码放置...
  • wangyangzhizhou
  • wangyangzhizhou
  • 2016年04月15日 18:09
  • 8620

Apache认证配置之一Basic认证(一)

经常上网的读者会遇到这种情况:访问一些网站的某些资源时,浏览器弹出一个对话框,要求输入用户名和密码来获取对资源的访问。...
  • yupei881027
  • yupei881027
  • 2014年05月29日 18:31
  • 1342

Basic表示一个简单的属性

5、@Basic(fetch=FetchType,optional=true)   可选   @Basic表示一个简单的属性到数据库表的字段的映射,对于没有任何标注的getXxxx()方法,默认 ...
  • u014131893
  • u014131893
  • 2014年03月25日 23:19
  • 1999

Http认证之Basic认证

文章主要讲如何在tomcat中配置Basic认证以及工作流程: Tomcat配置: 1 在tomcat的webapps下新建一个目录authen,再建立子目录subdir,下面放一个ind...
  • zmx729618
  • zmx729618
  • 2016年05月11日 10:04
  • 2195

Visual Basic快捷教程——流程控制

在顺序执行的过程中,有时希望计算机根据条件判断来选择性地执行(或者不执行)一些代码,这时就需要用到选择结构(或称分支结构)。另外一些时候,希望计算机能够(有条件地)重复地执行某一段代码,这时就需要用到...
  • baimafujinji
  • baimafujinji
  • 2017年04月04日 15:14
  • 3093

BASIC语言五十周年:怀念当年风华正茂的APPLE-II主机

关于APPLEII比较齐全的资料。包括APPLEII机模拟器、APPLEII的PASCAL开发工具、以及FC主机的FBASIC、GBASIC等。APPLEII模拟器自带最早的带行号的BASIC语言开发...
  • ephesians
  • ephesians
  • 2014年10月08日 15:13
  • 533

怎样解决无法初始化Visual Basic环境的问题

经常使用word软件,难免是遇到这样那样的问题,今天笔者在录制新宏时出现错误提示“无法初始化Visual Basic环境”,对于此问题我们该如何来解决。 工具/原料 ...
  • kyfvc
  • kyfvc
  • 2013年10月30日 09:57
  • 1532
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:basic operations in sql
举报原因:
原因补充:

(最多只允许输入30个字)