经典SQL语句语法大全文档格式.docx
《经典SQL语句语法大全文档格式.docx》由会员分享,可在线阅读,更多相关《经典SQL语句语法大全文档格式.docx(27页珍藏版)》请在冰豆网上搜索。
s=0
。
float
32位元的实数。
double
64位元的实数。
char(n)
n
长度的字串,n不能超过
254。
varchar(n)
长度不固定且其最大长度为
的字串,n不能超过
4000。
graphic(n)
和
一样,不过其单位是两个字元
double-bytes,
n不能超过127。
这个形态是为
了支援两个字元长度的字体,例如中文字。
vargraphic(n)
可变长度且其最大长度为
的双字元字串,n不能超过
2000。
date
包含了
年份、月份、日期。
time
小时、分钟、秒。
timestamp
年、月、日、时、分、秒、千分之一秒。
三、资料操作
DML
(Data
Manipulation
资料定义好之後接下来的就是资料的操作。
资料的操作不外乎增加资料(insert)、查询资料(query)、更改资料(update)
、删除资料(delete)四种模式,以下分
别介绍他们的语法:
1、增加资料:
Insert
INTO
(column1,column2,...)
valueS
(
value1,value2,
1.若没有指定column
系统则会按表格内的栏位顺序填入资料。
2.栏位的资料形态和所填入的资料必须吻合。
3.table_name
也可以是景观
view_name。
Select
columnx,columny,...
FROM
another_table
也可以经过一个子查询(subquery)把别的表格的资料填入。
2、查询资料:
基本查询
column1,columns2,...
把table_name
的特定栏位资料全部列出来
*
Where
=
xxx
[AND
〉
yyy]
[OR
column3
〈〉
zzz]
1.’*’表示全部的栏位都列出来。
2.Where
之後是接条件式,把符合条件的资料列出来。
column1,column2
orDER
BY
[DESC]
ORDER
是指定以某个栏位做排序,[DESC]是指从大到小排列,若没有指明,则是从小到大
排列
组合查询
组合查询是指所查询得资料来源并不只有单一的表格,而是联合一个以上的
表格才能够得到结果的。
table1,table2
table1.colum1=table2.column1
1.查询两个表格中其中
值相同的资料。
2.当然两个表格相互比较的栏位,其资料形态必须相同。
3.一个复杂的查询其动用到的表格可能会很多个。
整合性的查询:
COUNT
(*)
查询符合条件的资料共有几笔。
SUM(column1)
1.计算出总和,所选的栏位必须是可数的数字形态。
2.除此以外还有
AVG()
是计算平均、MAX()、MIN()计算最大最小值的整合性查询。
column1,AVG(column2)
GROUP
HAVING
AVG(column2)
1.GROUP
BY:
以column1
为一组计算
的平均值必须和
AVG、SUM等整合性查询的关键字
一起使用。
2.HAVING
:
必须和
一起使用作为整合性的限制。
复合性的查询
table_name1
EXISTS
table_name2
conditions
)
1.Where
的
可以是另外一个的
query。
2.EXISTS
在此是指存在与否。
IN
1.
後面接的是一个集合,表示column1
存在集合里面。
2.
出来的资料形态必须符合
column1。
其他查询
LIKE
’x%’
必须和後面的’x%’
相呼应表示以
x为开头的字串。
(’xxx’,’yyy’,..)
BETWEEN
xx
AND
yy
表示
的值介於
之间。
3、更改资料:
Update
SET
column1=’xxx’
conditoins
1.更改某个栏位设定其值为’xxx’。
2.conditions
是所要符合的条件、若没有
则整个
table
的那个栏位都会全部被更改。
4、删除资料:
Delete
删除符合条件的资料。
关于Where条件后面如果包含有日期的比较,不同数据库有不同的表达式。
具体如下:
(1)如果是ACCESS数据库,则为:
mydate〉#2000-01-01#
(2)如果是ORACLE数据库,则为:
mydate〉cast(’2000-01-01’
as
date)
或:
mydate〉to_date(’2000-01-01’,’yyyy-mm-dd’)
在Delphi中写成:
thedate=’2000-01-01’;
query1.SQL.add(’select
from
abc
where
mydate〉cast(’+’’’’+thedate+’’’’+’
date)’);
如果比较日期时间型,则为:
mydatetime〉to_date(’2000-01-01
10:
00:
01’,’yyyy-mm-dd
hh24:
mi:
ss’)
Recordset对象一些有用的属性"
/〉
引用来自
增加一个
:
Recordset对象一些有用的属性
rs.CursorType=
rs.CursorLocation=
rs.LockType
rs.CacheSize=
rs.Pagesize=
rs.Pagecount=
rs.RecordCount=
’’----
CursorType
Values
----
Const
adOpenForwardOnly
0
仅向前
adOpenKeyset
1
键集游标
adOpenDynamic
2
动态游标
adOpenStatic
3
静态游标
LockType
adLockReadOnly
默认值,只读
adLockPessimistic
保守式记录锁定
adLockOptimistic
开放式记录锁定,只在调用Update方法时锁定记录
adLockBatchOptimistic
4
开放式批更新
CursorLocation
adUseServer
2
adUseClient
Set
rs=Server.CreateObject("
ADODB.Rrecordset"
rs.Open.sqlst,conn,1,1
’读取
rs.Open
sqlst,conn,1,2
’新增,修改,或删除)
下一页
《SQL
SERVER的数据类型》
〉〉〉---------我想分页!
--这么长的文章,在这里来个分页多好啊!
哈哈----------〈〈〈
1.SQL
SERVER的数据类型
数据类弄是数据的一种属性,表示数据所表示信息的类型。
任何一种计算机语言都定义了自己的数据类型。
当然,不同的程序语言都具有不同的特点,所定义的数据类型的各类和名称都或多或少有些不同。
SQLServer
提供了
25
种数据类型:
·
Binary
[(n)]
Varbinary
Char
Varchar[(n)]
Nchar[(n)]
Nvarchar[(n)]
Datetime
Smalldatetime
Decimal[(p[,s])]
Numeric[(p[,s])]
Float[(n)]
Real
Int
Smallint
Tinyint
Money
Smallmoney
Bit
Cursor
Sysname
Timestamp
Uniqueidentifier
Text
Image
Ntext
(1)二进制数据类型
二进制数据包括
Binary、Varbinary
Binary
数据类型既可以是固定长度的(Binary),也可以是变长度的。
Binary[(n)]
是
位固定的二进制数据。
其中,n
的取值范围是从
到
8000。
其存储窨的大小是
+
个字节。
Varbinary[(n)]
位变长度的二进制数据。
4个字节,不是n
在
Image
数据类型中存储的数据是以位字符串存储的,不是由
SQL
Server
解释的,必须由应用程序来解释。
例如,应用程序可以使用BMP、TIEF、GIF
JPEG
格式把数据存储在
数据类型中。
(2)字符数据类型
字符数据的类型包括
Char,Varchar
字符数据是由任何字母、符号和数字任意组合而成的数据。
Varchar
是变长字符数据,其长度不超过
8KB。
是定长字符数据,其长度最多为
超过
8KB
的ASCII
数据可以使用Text数据类型存储。
例如,因为
Html
文档全部都是
ASCII
字符,并且在一般情况下长度超过
8KB,所以这些文档可以
Text
数据类型存储在SQL
中。
(3)Unicode
数据类型
Unicode
数据类型包括
Nchar,Nvarchar
和Ntext
Microsoft
中,传统的非
Unicode
数据类型允许使用由特定字符集定义的字符。
在
Server安装过程中,允许选择一种字符集。
使用
数据类型,列中可以存储任何由Unicode
标准定义的字符。
标准中,包括了以各种字符集定义的全部字符。
使用Unicode数据类型,所战胜的窨是使用非
数据类型所占用的窨大小的两倍。
中,Unicode
数据以
Nchar、Nvarchar
数据类型存储。
使用这种字符类型存储的列可以存储多个字符集中的字符。
当列的长度变化时,应该使用Nvarchar
字符类型,这时最多可以存储
4000
个字符。
当列的长度固定不变时,应该使用
Nchar
字符类型,同样,这时最多可以存储4000
当使用
数据类型时,该列可以存储多于
(4)日期和时间数据类型
日期和时间数据类型包括
Datetime
Smalldatetime两种类型
日期和时间数据类型由有效的日期和时间组成。
例如,有效的日期和时间数据包括“4/01/98
12:
15:
00
PM”和“1:
28:
29:
01AM
8/17/98”。
前一个数据类型是日期在前,时间在后一个数据类型是霎时间在前,日期在后。
Server中,日期和时间数据类型包括Datetime
Smalldatetime
两种类型时,所存储的日期范围是从
1753
年
月
日开始,到9999
年12
31
日结束(每一个值要求
8
个存储字节)。
数据类型时,所存储的日期范围是
1900年
1日
开始,到
2079
12
日期的格式可以设定。
设置日期格式的命令如下:
Set
DateFormat
{format
|
@format
_var|
其中,format
@format_var
是日期的顺序。
有效的参数包括
MDY、DMY、YMD、YDM、MYD
DYM。
在默认情况下,日期格式为MDY。
例如,当执行
YMD
之后,日期的格式为年
日
形式;
当执行
DMY
之后,日期的格式为日
月有年
形式
(5)数字数据类型
数字数据只包含数字。
数字数据类型包括正数和负数、小数(浮点数)和整数
整数由正整数和负整数组成,例如
39、25、0-2
33967。
Micrsoft
中,整数存储的数据类型是
Int,Smallint和
Tinyint。
Int
数据类型存储数据的范围大于
Smallint
数据类型存储数据的范围,而
据类型存储数据的范围大于Tinyint
数据类型存储数据的范围。
数据狗昔存储数据的范围是从
-2
147
483
648
647(每一个值要求4个字节存储空间)。
数据类型时,存储数据的范围从
-32
768
767(每一个值要求2个字节存储空间)。
使用Tinyint
数据类型时,存储数据的范围是从0
到255(每一个值要求1个字节存储空间)。
精确小娄数据在
中的数据类型是
Decimal
Numeric。
这种数据所占的存储空间根据该数据的位数后的位数来确定。
在SQL
中,近似小数数据的数据类型是
Float
Real。
例如,三分之一这个分数记作。
3333333,当使用近似数据类型时能准确表示。
因此,从系统中检索到的数据可能与存储在该列中数据不完全一样。
(6)货币数据表示正的或者负的货币数量
中,货币数据的数据类型是Money
Smallmoney
Money数据类型要求
个存储字节,Smallmoney
数据类型要求
个存储字节。
(7)特殊数据类型
特殊数据类型包括前面没有提过的数据类型。
特殊的数据类型有3种,即
Timestamp、Bit
Uniqueidentifier。
Timestamp
用于表示SQL
活动的先后顺序,以二进投影的格式表示。
Timestamp
数据与插入数据或者日期和时间没有关系。
Bit
由
或者
组成。
当表示真或者假、ON
OFF
时,使用
Bit
数据类型。
例如,询问是否是每一次访问的客户机请求可以存储在这种数据类型的列中。
Uniqueidentifier
字节的十六进制数字组成,表示一个全局唯一的。
当表的记录行要求唯一时,GUID是非常有用。
例如,在客户标识号列使用这种数据类型可以区别不同的客户。
2.用户定义的数据类型
用户定义的数据类型基于在
中提供的数据类型。
当几个表中必须存储同一种数据类型时,并且为保证这些列有相同的数据类型、长度和可空性时,可以使用用户定义的数据类型。
例如,可定义一种称为
postal_code
的数据类型,它基于
当创建用户定义的数据类型时,必须提供三个数:
数据类型的名称、所基于的系统数据类型和数据类型的可空性。
(1)创建用户定义的数据类型
创建用户定义的数据类型可以使用
Transact-SQL
语句。
系统存储过程
sp_addtype
可以来创建用户定义的数据类型。
其语法形式如下:
sp_addtype
{type},[,system_data_bype][,’null_type’]
其中,type
是用户定义的数据类型的名称。
system_data_type
是系统提供的数据类型,例如
Decimal、Int、Char
等等。
null_type
表示该数据类型是如何处理空值的,必须使用单引号引起来,例如’NULL’、’NOT
NULL’或者’NONULL’。
例子:
Use
cust
Exec
ssn,’Varchar(11)’,"
Not
Null’
创建一个用户定义的数据类型
ssn,其基于的系统数据类型是变长为11
的字符,不允许空。
birthday,datetime,’Null’
birthday,其基于的系统数据类型是
DateTime,允许空。
master
telephone,’varchar(24),’Not
Eexc
fax,’varchar(24)’,’Null’
创建两个数据类型,即
telephone
fax
(2)删除用户定义的数据类型
当用户定义的数据类型不需要时,可删除。
删除用户定义的数据类型的命令是
sp_droptype
{’type’}。
’ssn’
注意:
当表中的列还正在使用用户定义的数据类型时,或者在其上面还绑定有默认或者规则时,这种用户定义的数据类型不能删除。
以下为SQL
SERVER7.0以上版本的字段类型说明。
SERVER6.5的字段类型说明请参考SQL
SERVER提供的说明。
字段类型
描述
bit
0或1的整型数字
int
从-2^31(-2,147,483,648)到2^31(2,147,483,647)的整型数字
从-2^15(-32,768)到2^15(32,767)的整型数字
tinyint
从0到255的整型数字
decimal
从-10^38到10^38-1的定精度与有效位数的数字
numeric
decimal的同义词
money
从-2^63(-922,337,203,685,477.5808)到2^63-1(922,337,203,685,477.5807)的货币数据,最小货币单位千分之十
smallmoney
从-214,74