sql_definitive_guide

来源:互联网 发布:浙江计价软件 编辑:程序博客网 时间:2024/06/06 10:02
Structured Query Language检索数据数据操作SELECT|INSERT|DELETE|UPDATE数据定义CREATE|DROP|ALTER TABLECREATE|DROP VIEWCREATE|DROP INDEXCREATE|DROP SCHEMACREATE|DROP|ALTER DOMAIN访问控制GRANT|REVOKE事务控制COMMIT|ROLLBACK|SET TRANSACTION编程SQLDECLARE|EXPLAIN|OPEN|FETCH|CLOSE|PREPARE|EXECUTE|DESCRIBEANSI/ISO SQL2关键字ABSOLUTE|ACTION|ADD|ALL|ALLOCATE|ALTER|AND|ANY|ARE|AS|ASC|ASSERTION|AT|AUTHORIZATION|AVGBEGIN|BETWEEN|BIT|BIT_LENGHT|BOTH|BYCASCADE|CASCADED|CASE|CAST|CATALOG|CHAR|CHARACTER|CHAR_LENGTH|CHARACTER_LENGTH|CHECK|CLOSE|COALESCE|COLLATE|COLLATION|COLUMN|COMMIT|CONNECT|CONNECTION|CONSTRAINT|CONSTRAINTS|CONTINUE|CONVERT|CORRESPONDING|COUNT|CREATE|CROSS|CURRENT|CURRENT_DATE|CURRENT_TIME|CURRENT_TIMESTAMP|CURRENT_USER|CURSORDATE|DAY|DEALLOCATE|DEC|DECIMAL|DECLARE|DEFAULT|DEFERRABLE|DEFERRED|DELETE|DESC|DESCRIBE|DESCRIPTOR|DIAGNOSTICS|DISCONNECT|DISTINCT|DOMAIN|DOUBLE|DROPELSE|END|END_EXEC|ESCAPE|EXCEPT|EXCEPTION|EXEC|EXECUTE|EXISTS|EXTERNAL|EXTRACTFALSE|FETCH|FIRST|FLOAT|FOR|FOREIGN|FOUND|FROM|FULLGET|GLOBAL|GO|GOTO|GRANT|GROUP|HAVING|HOURIDENTITY|IMMEDIATE|IN|INDICATOR|INITIALLY|INNER|INPUT|INSENSITIVE|INSERT|INT|INTEGER|INTERSECT|INTERVAL|INTO|IS|ISOLATIONJOINKEYLANGUAGE|LAST|LEADING|LEFT|LEVEL|LIKE|LOCAL|LOWERMATCH|MAX|MIN|MINUTE|MODULE|MONTHNAMES|NATIONAL|NCHAR|NULLIF|NUMERIC|NEXT|NO|NOT|NULLOCTET_LENGTH|OF|ON|ONLY|OPEN|OPTION|OR|ORDER|OUTER|OUTPUT|OVERLAPSPAD|PARTIAL|POSITION|PRECISION|PREPARE|PRESERVE|PRIMARY|PRIOR|PRIVILEGES|PUBLICREAD|REAL|REFERENCES|RELATIVE|RESTRICT|REVOKE|RIGHT|ROLLBACK|ROWSSCHEMA|SCROLL|SECOND|SECTION|SELECT|SESSION|SESSION_USER|SET|SIZE|SMALLINT|SOME|SPACE|SQL|SQLCODE|SQLERROR|SQLSTATE|SUBSTRING|SUM|SYSTE_USERTABLE|TEMPORARY|THEN|TIME|TIMESTAMP|TIMEZONE_HOUR|TIMEZONE_MINUTE|TO|TRAILING|TRANSACTION|TRANSLATE|TRANSLATION|TRIM|TRUEUNION|UNIQUE|UNKNOWN|UPDATE|UPPER|USAGE|USER|USINGVALUE|VALUES|VARCHAR|VARYING|VIEWWHEN|WHENEVER|WHERE|WITH|WORK|WRITEYEARZONEANSI/SQL2潜在的关键字AFTER|ALIAS|ASYNCBEFORE|BOOLEAN|BREADTHCOMPLETION|CALL|CYCLEDATA|DEPTH|DICTIONARYEACH|ELSEIF|EQUALSGENERALIF|IGNORELEAVE|LESS|LIMIT|LOOPMODIFYNEW|NONEOBJECT|OFF|OID|OLD|OPERATION|OPERATIONS|OTHERSPARAMETERS|PENDANT|PREORDER|PRIVATE|PROTECTEDRECURSIVE|REF|REFERENCING|REPLACE|RESIGNAL|RETURN|RETURNS|ROLE|ROUTING|ROWSAVEPOINT|SEARCH|SENSITIVE|SEQUENCE|SIGNAL|SIMILAR|SQLEXCEPTION|SQLWARNING|STRUCTURETEST|THERE|TRIGGER|TYPEUNDERVARIABLE|VIRTUAL|VISIBLEWAIT|WHILE|WITHOUTANSI/ISO SQL数据类型CHAR(len)|CHARACTER(len)|VARCHAR(len)|CHAR VARYING(len)|CHARACTER VARYING(len)|NCHAR(len)|NCHAR VARYING(len)NATIONAL CHAR(len)|NATIONAL CHARACTER(len)|NATIONAL CHAR VARYING(len)|NATIONAL CHARACTER VARYING(len)INTEGER|INT|SMALLINTBIT(len)|BIT VARYING(len)NUMERIC(precision,scale)|DECIMAL(precision,scale)|DEC(precision,scale)|FLOAT(precision)|REAL|DOUBLE PRECISIONDATETIME(precision)|TIMESTAMP(precision)INTERVALIBM SQL 日期和时间格式美国 mm/dd/yyyy hh:mm am/pm欧洲 dd.mm.yyyy hh.mm.ss日本 yyyy-mm-dd hh:mm:ssISO yyyy-mm-dd hh.mm.ssTIMESTAMP yyyy-mm-dd hh.mm.ss.nnnnnn内嵌的SQL2函数BIT_LENGTH(string)|CHAR_LENGTH(string)|OCTET_LENGTH(string)|CAST(value AS data_type)CONVERT(string USING conv)|TRANSLATE(string USING trans)CURRENT_DATE|CURRENT_TIME(precision)|CURRENT_TIMESTAMP(precision)EXTRACT(port FROM source)LOWER(string)|UPPER(string)POSITION(target IN source)SUBSTRING(source FROM n FOR len)TRIM(BOTH char FROM string)TRIM(LEADING char FROM string)TRIM(TRAILING char FROM string)简单查询SELECT [ALL|DISTINCT] *|[表名 *]|[值表达式 AS 字段名]FROM 表说明WHERE 搜索条件GROUP BY 分组字段列表HAVING 搜索条件ORDER BY 排序字段列表搜索条件比较测试:表达式1 =|<>|<|<=|>|>= 表达式2范围测试:测试表达式 [NOT] BETWEEN 表达式下限 AND 表达式上限组成员测试:测试表达式 [NOT] IN ([,])模式匹配测试:字段名 [NOT] LIKE 模式 [ESCAPE 转义字符],%,_NULL值测试:字段名 IS [NOT] NULL复合搜索条件:AND|OR|NOT组合查询结果:UNION [ALL]多表查询(连接)简单连接(等连接)父子查询不等连接自连接表的别名 表名 [表的别名]外连接 *=,=*,*=*SQL1连接:FROM [,] WHERE自连接表达式:表1 NATURAL INNER|[[FULL|LEFT|RIGHT]OUTER] JOIN 表2SQL2连接连接表达式:表1 INNER|[[FULL|LEFT|RIGHT]OUTER] JOIN 表2 [ON 发送条件]|[USING 字段列表]交叉表达式:表1 CROSS JOIN 表2合并表达式:表1 UNION JOIN 表2汇总查询SQL字段函数SUM(表达式|[DISTINCT 字段名])AVG(表达式|[DISTINCT 字段名])MIN(表达式)MAX(表达式)COUNT([DISTINCT] 字段名)COUNT(*)SELECT查询的步骤:如果语句是SELECT语句的一个UNION,将第2步到第7步应用到每一条语句,以生成他们各自的查询结果形成在FROM子句中提到的表的乘积。如果FROM子句命名了一个表,则积就是那个表如果有一条WHERE子句,把它的搜索条件应用到积表的每一条记录,保留搜索条件为TRUE的记录。如果WHERE子句含有一个子查询,对于要测试的每一条记录,执行这个子查询如果有一条GROUP BY子句,把积表的剩余记录安排到记录组中,以便每个组中的记录在所有的分组字段中有同样的值如果有一条HAVING子句,把它的搜索条件应用到每个记录组,保留其搜索条件为TRUE的那些组。如果HAVING子句含有一个子查询,对于要测试的每一个记录组,执行这个子查询对于每个保留的记录(组),计算选择列表中每一项的值。对于每个字段的引用,使用当前记录中字段的值。对于一个字段函数,如果指定了GROUP BY,使用当前记录组作为它的参数,否则使用全部记录如果指定了SELECT DISTINCT,消除所生成的查询结果中任何重复的记录如果语句是SELECT语句的一个UNION,把各条语句的查询结果合并到一个表中。消除重复的记录,除非指定了UNION ALL如果存在一条ORDER BY子句,按指定的那样排序查询结果子查询和查询表达式子查询不含ORDER BY子句WHERE/HAVING子查询子查询搜索条件比较测试:表达式 =|<>|<|<=|>|>= 子查询组成员测试:测试表达式[NOT] IN 子查询存在测试:[NOT] EXISTS 子查询限定性比较测试:表达式 =|<>|<|<=|>|>= ANY|ALL子查询标量值表达式CAST表达式:CAST(值表达式|NULL AS 数据类型|域名)CASE表达式:CASE WHEN 搜索条件 THEN 结果表达式|NULL ELSE 结果表达式|NULLCASE 测试值 WHEN 值 THEN 结果表达式|NULL ELSE 结果表达式|NULLCOALESCE表达式:COALESCE([,])NULLIF表达式:NULLIF([,])记录值表达式:(值表达式|NULL|DEFAULT|[,])表值表达式:VALUES(记录值结果|[,])查询表达式:连接|并|差|交,JOIN|UNION|DIFFERENCE|INTERSECT更新数据INSERT|UPDATE|DELETE单行INSERT语句:INSERT INTO 表名[(字段名|[,])] VALUES(常量|NULL|[,])多行INSERT语句:INSERT INTO 表名[(字段名)|[,]] 查询大容量装载工具删除数据DELETE FROM 表名 |[WHERE 搜索条件]修改数据UPDATE 表名 SET [字段名=表达式]|[,] WHERE 搜索条件数据完整性要求的数据|有效性检查|实体完整性|引用完整性|其他数据关系|商业规则|一致性删除和更新规则RESTRICT|CASCADE|SET NULL|SET DEFAULTCREATE TABLE完整性约束MATCH FULL|MATCH PARTIAL高级约束功能字段约束|域|表约束|断言断言:CREATE ASSERTION assert CHECK SQL约束类型:NOT NULL|PRIMARY KEY|UNIQUE|FOREIGN KEY|CHECK延期约束检验:DEFERRABLE|NOT DEFERRABLE约束初始状态:INITIALLY IMMEDIATE|INITIALLY DEFERRED触发器SQL Server:CREATE TRIGGER trigger ON table FOR INSERT|DELETE|UPDATE|[,] AS actionDB2:CREATE TRIGGER trigger AFTER INSERT|DELETE|UPDATE|[,] ON table REFERENCING NEW AS new_ FOR EACH ROW MODE DB2SQL BEGIN ATOMIC action ENDInformix:CREATE TRIGGER trigger INSERT|UPDATE|DELETE|[,] ON table AFTER action事务处理ANSI/ISO事务模型COMMIT|ROLLBACK|成功终止程序|非正常终止程序Sybase事务模型BEGIN TRANSACTION|COMMIT TRANSACTION|SAVE TRANSACTION|ROLLBACK TRANSACTION锁定共享锁|独占锁死锁高级锁定技术明锁|绝缘锁|锁定参数明锁独占模式|共享模式LOCK TABLE 表名 IN SHARE|EXCLUSIVE MODE绝缘锁SERIALIZABLE|REPEATABLE READ|READ COMMITTED|READ UNCOMMITTEDSET TRANSACTION ISOLATION LEVEL SERIALIZABLE|REPEATABLE READ|READ COMMITTED|READ UNCOMMITTED  READ WRITE|READ ONLY版本化数据库结构创建数据库数据库定义语言CREATE|DROP|ALTER数据库定义:CREATE|DROP DATABASE表定义创建表CREATE TABLE 表名(字段定义|表约束定义|[,])字段定义:字段名 数据类型 DEFAULT|[] []|NOT NULL 表约束定义 [CONSTRAINT 约束名] 主键字约束|外键字约束|唯一性约束|检验约束 [[NOT] DEFERRABLE] [[INITIALLY IMMEDIATE]|[INITIALLY DEFERRED]]主键字约束:PRIMARY KEY(字段名|[,])外键字约束:FOREIGN KEY (字段名|[,]) REFERENCES 表名[字段名|[,]] [MATCH FULL|DEFAULT] [ON DELETE CASCADE|SET NULL|SET DEFAULT|NO ACTION] [ON UPDATE CASCADE|SET NULL|SET DEFAULT|NO ACTION]唯一性约束:UNIQUE(字段名|[,])检验约束:CHECK(搜索条件)删除表DROP TABLE 表名 [CASCADE|RESTRICT]改变表ALTER TABLE 表名 [ADD 字段定义]|[ALTER 字段定义 [SET DEFAULT 值]|[DROP DEFAULT]] |[DROP 字段名 CASCADE|RESTRICT] |[ADD 主键字定义|外键字定义|唯一性约束|检验约束] |[DROP CONSTRAINT 字段名 CASCADE|RESTRICT]约束定义断言CREATE ASSERTION 断言 CHECK 搜索条件DROP ASSERTION 断言域CREATE DOMAIN 域 数据类型 CHECK 搜索条件DROP DOMAIN 域 CASCADE|RESTRICT别名|匿名CREATE ALIAS 别名 FOR 表名DROP ALIAS 别名索引CREATE [UNIQUE] INDEX 索引名 ON 表名([字段名 [ASC|DESC]] |[,])数据库结构单个数据库|多个数据库|多区域|多台服务器体系结构SQL环境组件DBMS软件|命名的用户|程序模块|目录|数据库数据SQL2模式表|视图|域|断言|权限|字符集|校勘|转换CREATE SCHEMA [模式名 [AUTHORIZATION 用户名]] |[AUTHORIZATION 用户名] [DEFAULT CHARACTER SET 字符集名] [[CREATE TABLE] |[CREATE VIEW] |[CREATE DOMAIN] |[CREATE ASSERTION] |[CREATE CHARACTER SET] |[CREATE COLLATION] |[CREATE TRANSLATION] |GRANT]DROP SCHEMA 模式名 RESTRICT|CASCADE视图CREATE VIEW 视图名[(字段名|[,])] AS 查询 [WITH CHECK OPTION]水平视图|垂直视图|记录/字段子集视图|分组视图|连接视图DROP VIEW 视图名 CASCADE|RESTRICTSQL安全用户|数据库对象|权限GRANT [[DELETE|[SELECT|INSERT|UPDATE|REFERENCES[(字段名|[,])]]] |[,] |[ALL PRIVILEGES] ON 表名] |[USAGE ON [DOMAIN 域名] |[CHARACTER SET 字符集名] |[COLLATION 校勘名] |[TRANSLATION 转换名]] TO 用户名|PUBLIC|[,] [WITH GRANT OPTION]REVOKE [GRANT OPTION FOR] DELETE|USAGE|[SELECT|INSERT|UPDATE|REFERENCES[(字段名|[,])] ON 表名|[DOMAIN 域名] |[CHARACTER SET 字符集名] |[COLLATION 校勘名] |[TRANSLATION 转换名] FROM 用户名|PUBLIC|[,] [CASCADE|RESTRICT]系统目录表|字段|用户|视图|权限SQL编程嵌入式|应用程序接口存储过程条件执行|循环|块结构|命名变量|命名过程

原创粉丝点击