SQL语法参考手册
分类:数据库应用:通用数据库应用作者:出处:加入时间:2000-11-17 11:21:19DB2 提供了关连式资料库的查询语言SQL (Structured Query Language),是一种非常口语化、既易学又易懂的语法。
此一语言几乎是每个资料库系统都必须提供的,用以表示关连式的操作,包含了资料的定义(DDL)以及资料的处理(DML)。
SQL原来拼成SEQUEL,这语言的原型以“系统R“的名字在 IBM 圣荷西实验室完成,经过IBM内部及其他的许多使用性及效率测试,其结果相当令人满意,并决定在系统R 的技术基础发展出来 I BM 的产品。
而且美国国家标准学会(ANSI)及国际标准化组织(ISO)在1987遵循一个几乎是以 IBM SQL 为基础的标准关连式资料语言定义。
一、资料定义 DDL (Data Definition Language)资料定语言是指对资料的格式和形态下定义的语言,他是每个资料库要建立时候时首先要面对的,举凡资料分哪些表格关系、表格内的有什麽栏位主键、表格和表格之间互相参考的关系等等,都是在开始的时候所必须规划好的。
1、建表格:CREATE TABLE table_name(column1 DATATYPE [NOT NULL] [NOT NULL PRIMARY KEY],column2 DATATYPE [NOT NULL],...)说明:DATATYPE --是资料的格式,详见表。
NUT NULL --可不可以允许资料有空的(尚未有资料填入)。
PRIMARY KEY --是本表的主键。
2、更改表格ALTER TABLE table_nameADD COLUMN column_name DATATYPE说明:增加一个栏位(没有删除某个栏位的语法。
ALTER TABLE table_nameADD PRIMARY KEY (column_name)说明:更改表得的定义把某个栏位设为主键。
ALTER TABLE table_nameDROP PRIMARY KEY (column_name)说明:把主键的定义删除。
3、建立索引CREATE INDEX index_name ON table_name (column_name)说明:对某个表格的栏位建立索引以增加查询时的速度。
4、删除DROP table_nameDROP index_name二、资料形态 (DATATYPES)smallint16 位元的整数。
interger32 位元的整数。
decimal(p,s)p 精确值和 s 大小的十进位整数,精确值p是指全部有几个数(digits)大小值,s是指小数点後有几位数。
如果没有特别指定,则系统会设为 p=5; s=0 。
float32位元的实数。
double64位元的实数。
char(n)n 长度的字串,n不能超过 254。
varchar(n)长度不固定且其最大长度为 n 的字串,n不能超过 4000。
graphic(n)和 char(n) 一样,不过其单位是两个字元 double-bytes, n不能超过127。
这个形态是为了支援两个字元长度的字体,例如中文字。
vargraphic(n)可变长度且其最大长度为 n 的双字元字串,n不能超过 2000。
date包含了年份、月份、日期。
time包含了小时、分钟、秒。
timestamp包含了年、月、日、时、分、秒、千分之一秒。
三、资料操作 DML (Data Manipulation Language)资料定义好之後接下来的就是资料的操作。
资料的操作不外乎增加资料(insert)、查询资料(query)、更改资料(update) 、删除资料(delete)四种模式,以下分别介绍他们的语法:1、增加资料:INSERT INTO table_name (column1,column2,...)VALUES ( value1,value2, ...)说明:1.若没有指定column 系统则会按表格内的栏位顺序填入资料。
2.栏位的资料形态和所填入的资料必须吻合。
3.table_name 也可以是景观 view_name。
INSERT INTO table_name (column1,column2,...)SELECT columnx,columny,... FROM another_table说明:也可以经过一个子查询(subquery)把别的表格的资料填入。
2、查询资料:基本查询SELECT column1,columns2,...FROM table_name说明:把table_name 的特定栏位资料全部列出来SELECT *FROM table_nameWHERE column1 = xxx[AND column2 > yyy] [OR column3 <> zzz]说明:1.'*'表示全部的栏位都列出来。
2.WHERE 之後是接条件式,把符合条件的资料列出来。
SELECT column1,column2FROM table_nameORDER BY column2 [DESC]说明:ORDER BY 是指定以某个栏位做排序,[DESC]是指从大到小排列,若没有指明,则是从小到大排列组合查询组合查询是指所查询得资料来源并不只有单一的表格,而是联合一个以上的表格才能够得到结果的。
SELECT *FROM table1,table2WHERE table1.colum1=table2.column1说明:1.查询两个表格中其中 column1 值相同的资料。
2.当然两个表格相互比较的栏位,其资料形态必须相同。
3.一个复杂的查询其动用到的表格可能会很多个。
整合性的查询:SELECT COUNT (*)FROM table_nameWHERE column_name = xxx说明:查询符合条件的资料共有几笔。
SELECT SUM(column1)FROM table_name说明:1.计算出总和,所选的栏位必须是可数的数字形态。
2.除此以外还有 AVG() 是计算平均、MAX()、MIN()计算最大最小值的整合性查询。
SELECT column1,AVG(column2)FROM table_nameGROUP BY column1HAVING AVG(column2) > xxx说明:1.GROUP BY: 以column1 为一组计算 column2 的平均值必须和 AVG、SUM等整合性查询的关键字一起使用。
2.HAVING : 必须和 GROUP BY 一起使用作为整合性的限制。
复合性的查询SELECT *FROM table_name1WHERE EXISTS (SELECT *FROM table_name2WHERE conditions )说明:1.WHERE 的 conditions 可以是另外一个的 query。
2.EXISTS 在此是指存在与否。
SELECT *FROM table_name1WHERE column1 IN (SELECT column1FROM table_name2WHERE conditions )说明:1. IN 後面接的是一个集合,表示column1 存在集合里面。
2. SELECT 出来的资料形态必须符合 column1。
其他查询SELECT *FROM table_name1WHERE column1 LIKE 'x%'说明:LIKE 必须和後面的'x%' 相呼应表示以 x为开头的字串。
SELECT *FROM table_name1WHERE column1 IN ('xxx','yyy',..)说明:IN 後面接的是一个集合,表示column1 存在集合里面。
SELECT *FROM table_name1WHERE column1 BETWEEN xx AND yy说明:BETWEEN 表示 column1 的值介於 xx 和 yy 之间。
3、更改资料:UPDATE table_nameSET column1='xxx'WHERE conditoins说明:1.更改某个栏位设定其值为'xxx'。
2.conditions 是所要符合的条件、若没有 WHERE 则整个 table 的那个栏位都会全部被更改。
4、删除资料:DELETE FROM table_nameWHERE conditions说明:删除符合条件的资料。
说明:关于WHERE条件后面如果包含有日期的比较,不同数据库有不同的表达式。
具体如下:(1)如果是ACCESS数据库,则为:WHERE mydate>#2000-01-01#(2)如果是ORACLE数据库,则为:WHERE mydate>cast('2000-01-01' as date)或:WHERE mydate>to_date('2000-01-01','yyyy-mm-dd') 在Delphi中写成:thedate= '2000-01-01';query1.SQL.add('select * from abc where mydate>cast('+''''+thedate+''''+' as date)');如果比较日期时间型,则为:WHERE mydatetime>to_date('2000-01-01 10:00:01','yyyy-mm-dd hh24:mi:ss')。
ODPS最新SQL参考手册
ODPS SQL 参考手册
修改记录 修改日期 2012/9/8 2012/10/09 2012/11/19 初始版本 更新 ALTER TABLE 及 CHAR_MATCHCOUNT 的说明 更新 show tables in project ceil/percent_rank/regexp_extract 自动统计的行为(inf,filter) Mapjoin 支持不等值 join 及 or 修改说明 作者 张云远 张云远 张云远
2 Aliyun
ODPSSQL 参考手册
可用函数......................................................................................................................... 18 3.1. 数学运算函数 ..................................................................................................... 18 3.2. 字符串处理函数 ................................................................................................. 24 3.3. 日期函数............................................................................................................. 33 3.4. 窗口函数............................................................................................................. 40 3.5. 聚合函数............................................................................................................. 44 3.6. 其他函数............................................................................................................. 46 4. 类型转换和异常处理 ..................................................................................................... 52 4.1. 类型转换规则 ..................................................................................................... 53 5. 表的统计信息....................................................................................ห้องสมุดไป่ตู้............................ 57 5.1. 定义统计项......................................................................................................... 57 5.2. 查看统计项......................................................................................................... 62 5.3. 查看统计数据 ..................................................................................................... 62 5.4. 查看可用统计项 ................................................................................................. 62 5.5. 移除统计数据 ..................................................................................................... 62 5.6. 执行统计过程 ..................................................................................................... 63 5.7. 使用实例............................................................................................................. 63 5.8. 使用表统计信息的注意事项 ............................................................................. 64 6. 字符串与转义................................................................................................................. 64 7. 正则表达式规范............................................................................................................. 65 8. 分区的裁剪优化............................................................................................................. 67 9. 工具................................................................................................................................. 67 9.1. 血缘关系分析 ..................................................................................................... 67 10. 作业的优先级............................................................................. 错误!未定义书签。 11. 使用注意事项............................................................................................................. 68 3.
ORACLE-SQL语句学习教程
目录概述 (2)第一章SQL*PLUS 工具软件的使用 (5)第二章基本查询 (9)第三章条件查询 (13)第四章单行函数 (16)第五章多表查询 (20)第六章组函数 (23)第七章子查询 (25)第八章运行期间指定变量 (29)第九章创建基表 (31)第十章ORACLE数据字典 (36)第十一章操纵数据 (38)第十二章修改基表及其约束 (42)第十三章创建序列 (45)第十四章创建视图 (47)第十五章创建索引 (50)概述20世纪70年代初,E.F。
Codd 在计算机学会(Association of Computer Machinery,简写为ACM)期刊Communications of the ACM(ACM 通讯)发表了题为”A Relational Model of Data for Large Shared Data Banks”(大型共享数据库的数据关系模型)的论文,该论文提出的关系数据库模型成为今天最为权威的关系型数据库管理模型.IBM公司首先使用该模型开发出了结构化英语查询语言SEQUEL(Structured English Query Language),作为其关系数据库原型System R的操作语言,实现对关系数据库的信息检索.SEQUEL后来简写为SQL,即Structured Query Language(结构化查询语言)的缩写.ORACLE公司于1997年推出了第一个商业应用的SQL软件.20世纪80年代初,美国国家标准化组织(ANSI)开始着手制订SQL标准,最早的ANSI 标准于1986年颁布,它也被称为SQL-86。
标准的出台使SQL作为标准的关系数据库语言的地位得到加强。
SQL标准几经修改和完善,目前SQL语言方面新的ANSI标准是1992年制定的ANSI X3.135—1992,“Database Language SQL”。
此标准也被国际电工委员会(International Electro technical Commission,即IEC)所属的国际标准化组织(International Standards Organization, 即ISO)所接受,并将它命名为ISO/IEC9075:1992, “Database Language SQL”。
SQL语言入门
SQL语⾔⼊门内容来源:唐成. PostgreSQL修炼之道[M]. 机械⼯业出版社, 2015.此书购买链接:SQL(Structured Query Language)结构化查询语⾔1. 语法简介1.1 语句分类DDL (Data Definition Language)数据定义语⾔,主要⽤于创建、删除,以及修改表、索引等数据库对象语⾔。
DML (Data Manupulation Language)数据操作语句,主要⽤于插⼊、更新、删除数据,所以分为INSERT、UPDATE、DELETE三种语句。
DQL (Data Query Language)数据查询语句,基本就是SELECT查询语句,⽤于数据查询。
1.2 语法结构多条SQL语句之间⽤分号(;)隔开每个SQL命令有⼀些列的记号组成:关键字标识符双引号包围的标识符常量单引号包围的⽂本常量特殊的字符……2. DDL语句2.1 建表语句表⽰关系型数据库中最基本的对象,有很多列也有很多⾏,每⼀列有⼀个名字,不同的列有不同的数据类型。
建表语句的⼀个简单语法如下:CREATE TABLE table_name (col01_name data_type,col02_name data_type,col03_name data_type,col04_name data_type);其中CREATE和TABLE为关键字,表⽰创建表。
table_name为表名,col01_name col02_name col03_name col04_name分别表⽰列名。
data_type表⽰数据类型,不同的数据库系统有不同的数据类型名称。
变长的字符串在⼤多数数据库中都可使⽤varchar类型。
整形数据⼀般使⽤int类型。
⽇期类型使⽤date。
例如:CREATE TABLE score (student_name varchar(40),chinese_score int,math_score int,test_date date);在建表的时候,可以指定表的主键,主键是表中⾏的唯⼀标识,这个唯⼀标识,是不能重复的。
SQL数据库基础语法
SQL数据库基础语法SQL语句的概述SQL语⾔的分类 数据定义语⾔(Data Definition Language)主要⽤于修改、创建和删除数据库对象,其中包括CREATE ALTER DROP语句。
数据查询语⾔(Data Query Language)主要⽤于查询数据库中的数据,其主要是SELECT语句,SELECT语句包括五个⼦句,分别是FROM WHERE HAVING GROUP BY和WITH语句。
数据操作语⾔(Data Manipulation Language)主要⽤于更新数据库⾥数据表中的数据,包括INSERT UODATE DELETE语句。
数据控制语⾔(Data Control Language)主要⽤于授予和回收访问数据库的某种权限。
包括GRANT REVOKE等语句。
事物控制语⾔,主要⽤于数据库对事物的控制,保证数据库中数据的⼀致性,包括COMMIT ROLLBACK语句。
常⽤的数据类型 MYSQL: SQL语句的书写规范 SQL语句中不区分关键字的⼤⼩写 SQL语句中不区分列名和对象名的⼤⼩写 SQL语句对数据库中数据的⼤⼩写敏感 SQL语句中使⽤--注释时,--后⾯⾄少有⼀个空格,多⾏注释⽤/* */ 数据库的创建与删除 (1)数据库的创建: CREATE DATABASE database_name; 在中书写SQL语句时,在SQL语句后⾯都要加上分号 (2)数据库的删除 DROP DATABASE database_name;数据表的创建与更新 数据库中的表 (1)数据记录:在数据表中的每⼀⾏被称为数据记录 (2)字段:数据表中的每⼀列被称为字段 (3)主键(PRIMARY KEY):作为数据表中唯⼀的表⽰,保证了每⼀天数记录的唯⼀性。
逐渐在关系数据库中约束实体完整性。
所谓实体完整性,是指对数据表⾏的约束。
(4)外键(FOREIGN KEY):外键⽤来定义表与表之间的关系。
SQL语句的基本语法
SQL语句的基本语法一.SELECT语句的完整语法为:SELECT[ALL|DISTINCT|DISTINCTROW|TOP]{*|talbe.*|[table.]field1[AS alias1][,[table.]field2[AS alias2][,…]]}FROM tableexpression[,…][IN externaldatabase][WHERE…][GROUP BY…][HAVING…][ORDER BY…][WITH OWNERACCESS OPTION]说明:用中括号([])括起来的部分表示是可选的,用大括号({})括起来的部分是表示必须从中选择其中的一个。
1 FROM子句FROM子句指定了SELECT语句中字段的来源。
FROM子句后面是包含一个或多个的表达式(由逗号分开),其中的表达式可为单一表名称、已保存的查询或由 INNER JOIN、LEFT JOIN 或 RIGHT JOIN 得到的复合结果。
如果表或查询存储在外部数据库,在IN 子句之后指明其完整路径。
例:下列SQL语句返回所有有定单的客户:SELECT OrderID,Customer.customerIDFROM Orders CustomersWHERE Orders.CustomerID=Customers.CustomeersID2 ALL、DISTINCT、DISTINCTROW、TOP谓词(1) ALL 返回满足SQL语句条件的所有记录。
如果没有指明这个谓词,默认为ALL。
例:SELECT ALL FirstName,LastNameFROM Employees(2) DISTINCT 如果有多个记录的选择字段的数据相同,只返回一个。
(3) DISTINCTROW 如果有重复的记录,只返回一个(4) TOP显示查询头尾若干记录。
也可返回记录的百分比,这是要用 TOP N PERCENT子句(其中N 表示百分比)例:返回5%定货额最大的定单SELECT TOP 5 PERCENT*FROM [ Order Details]ORDER BY UnitPrice*Quantity*(1-Discount) DESC3 用 AS 子句为字段取别名如果想为返回的列取一个新的标题,或者,经过对字段的计算或总结之后,产生了一个新的值,希望把它放到一个新的列里显示,则用AS保留。
sql语法规则
sql语法规则
SQL语法规则是用来指导书写SQL语句的一系列规则和约定。
以下是一些常见的SQL语法规则:
1. 关键字和函数名不区分大小写,但是一般习惯使用大写字母表示关键字,小写字母表示表名和列名。
2. SQL语句以分号(;)结尾。
在一些数据库管理系统中可以
省略分号,但是建议在每个语句后面加上分号以增加可读性和可维护性。
3. 一个SQL语句可以跨越多行,并使用缩进或换行来增加可
读性。
4. 在表名和列名中可以使用字母、数字和下划线,但是不能以数字开头。
5. 字符串可以用单引号(')或双引号(")括起来。
在使用引
号时要注意匹配使用。
6. 注释可以用两个减号(--)或者斜杠星号(/* */)表示,可以
用于注释单行或多行代码。
7. SQL语句可以使用通配符来模糊匹配数据,常用的通配符
有百分号(%)和下划线(_)。
8. SQL语句的关键字一般包括SELECT、FROM、WHERE、GROUP BY、ORDER BY等等,这些关键字的顺序对于SQL
语句的执行有重要的影响。
9. SQL语句可以使用逻辑运算符(AND、OR、NOT)和比较
运算符(=、<、>、<=、>=、<>)来组合和过滤数据。
10. SQL语句可以使用函数来对数据进行计算、转换或聚合。
以上只是SQL语法规则的一部分,不同的数据库管理系统可
能会有些许差异,具体的规则还需要根据所使用的数据库来确定。
sqlserver中文参考手册
SQL Server中文参考手册一、介绍SQL Server是微软公司开发的一款关系型数据库管理系统,常用于企业级应用程序的开发和数据管理。
它具有强大的数据处理和管理能力,能够支撑大型的数据量和复杂的业务逻辑。
本文将针对SQL Server的中文参考手册进行详细介绍,帮助读者理解和使用SQL Server的各项功能。
二、安装与配置1. 下载与安装在微软全球信息站上可以找到SQL Server的安装程序,根据自己的需求选择相应的版本进行下载。
安装过程中,可以根据向导逐步进行配置,包括选择安装目录、设置数据库引擎配置、配置实例等。
2. 服务设置安装完成后,需要对SQL Server的各项服务进行设置,包括SQL Server数据库引擎服务、SQL Server代理服务等。
可以通过“SQL Server配置管理器”进行相关设置。
三、数据库设计与管理1. 数据库设计SQL Server支持基于数据库模型进行设计,包括创建表、定义字段、设置键与索引等。
可以使用SQL Server Management Studio (SSMS)进行数据库设计。
2. 数据库管理SQL Server提供了丰富的数据库管理功能,包括备份与还原、数据库迁移、容灾与恢复等。
通过SSMS可以轻松进行数据库的管理操作。
四、数据查询与处理1. SQL语法SQL Server支持标准的SQL语法,包括SELECT、INSERT、UPDATE、DELETE等操作。
还支持存储过程、触发器、函数等高级特性。
2. 查询优化SQL Server提供了查询优化器,可以对查询语句进行优化,提高查询效率。
通过执行计划或查询分析工具,可以对查询进行性能分析。
五、安全与权限管理1. 登入与用户SQL Server允许创建多个登入账号,并且可以为不同的数据库设置不同的用户权限。
通过SQL Server安全性功能可以进行相关设置。
2. 数据加密SQL Server支持数据加密功能,可以对敏感数据进行加密保护。
postgresql中文手册
postgresql中文手册PostgreSQL中文手册概述PostgreSQL是一个功能强大的开源关系型数据库管理系统,它提供了多种高级特性,可以满足各种规模的应用需求。
本文档将为您介绍PostgreSQL的基本概念、使用方法以及高级特性。
第一章:入门指南1.1 安装PostgreSQL本节将指导您如何下载、安装和配置PostgreSQL。
您可以根据不同的操作系统选择适合的安装方法,并了解基本的配置选项。
1.2 数据库连接学习如何连接到PostgreSQL数据库,并使用命令行工具或者图形化界面进行操作。
您将了解如何创建、删除和管理数据库。
1.3 SQL语法PostgreSQL支持标准的SQL语法,并且还提供了许多扩展功能。
本节将介绍常用的SQL语句,包括表的创建、数据的插入、更新和删除,以及查询语句的使用。
第二章:高级特性2.1 事务管理了解PostgreSQL的事务管理功能,包括事务的启动、提交和回滚,并学习如何处理并发访问和锁定。
2.2 索引和性能优化学习如何创建索引以提高查询性能,并了解如何使用EXPLAIN命令来分析查询执行计划。
2.3 触发器和事件管理本节将介绍如何使用触发器来自动化处理某些数据库事件,并学习如何对触发器进行管理和监控。
2.4 备份和恢复学习如何创建数据库的备份,并了解如何恢复数据库的数据。
第三章:高级应用3.1 数据复制本节介绍PostgreSQL的数据复制功能,包括主从复制和逻辑复制。
您将学习如何配置复制服务器,并设置故障转移和负载均衡。
3.2 分区表了解如何使用分区表来提高查询性能和管理大型数据集。
3.3 全文搜索学习如何使用PostgreSQL的全文搜索功能,包括设置搜索引擎和执行高级搜索查询。
3.4 GIS支持了解如何使用PostGIS扩展来处理地理信息系统数据,并学习如何执行GIS查询和空间分析。
结论本文档提供了关于PostgreSQL的全面介绍,包括基本概念、使用方法和高级特性。
SQL(手册)
SQL(⼿册)欢迎访问⼦⽈个⼈博客()1、select1select * from 表名;2或者3select 字段1,字段2 from 表名;2、distinct1select distinct 字段名 from 表名;3、insert into1insert into 表名(字段1,字段2) values(字段值1,字段值2)4、update1update 表名 set 字段1=字段值1,字段2=字段值2 where 查询条件5、delete1、删除指定数据⾏1delete from 表名 where 查询条件2、删除全部数据1delete from 表名;2或3delete * from 表名;6、select into1mysql 数据库不⽀持 select ... into 语句,但⽀持 [insert into ... select]2#select into 语句从⼀个表复制数据,然后把数据插⼊到另⼀个新表中。
1、复制新表1select * into 新表名 from 表名2、复制指定列到新表1select 字段名 into 新表名 from 表名3、只复制中国的⽹站插⼊到新表中:1select * into 新表名 from 表名 where ‘web’ = ‘中国’4、复制多个表中的数据插⼊到新表中1select 表1.字段名,表2.字段名 into 新表名2from 表1 left join 表2 on 表1.id = 表2.id5、复制⼀个空表1select * into 新表名 from 表名 where 1=0;7、insert into select1#select into from 和 insert into select 都是⽤来复制表。
2#两者的主要区别为:3#select into from 要求⽬标表不存在,因为在插⼊时会⾃动创建;4#insert into select from 要求⽬标表存在。
GBase-8s数据库平台PLSQL语法手册-D
1.2.8.初始化为空值的变量................................................................................-10-
1.2.3.常量和变量的初始化..................................................................................-7-
1.2.4.使用NOTNULL............................................................................................-8-
1.7.5.比较运算符................................................................................................-32-
1.7.6.布尔表达式................................................................................................-35-
1.6.2.用SELECTINTO语句给变量赋值.............................................................-21-
1.6.3.INOUT子程序参数给变量赋值...............................................................-21-
