比如“成绩”,可能要用来运算,设置成数值型。
比如“学号”,不用来计算,有时可能还要以0来打头,设置成字符型,
“出生日期”,当然是日期型,或日期时间型。
“团员”字段,逻辑型,因为就两种选择,是或否
“简历”字段,要写的内容可能比较多,设置成备注型。
多看几个表的结构,就会设置了。int 整型 int 数据类型可以存储从- 231(-2147483648)到231 (2147483 647)之间的整数。存储到数据库的几乎所有数值型的数据都可以用这种数据类型。这种数据类型在数据库里占用4个字节
tinyint 整型 tinyint 数据类型能存储从0到255 之间的整数。它在你只打算存储有限数目的数值时很有用。 这种数据类型在数据库中占用1 个字节
float 近似数值型 float 数据类型是一种近似数值类型,供浮点数使用。说浮点数是近似的,是因为在其范围内不是所有的数都能精确表示。浮点数可以是从-179E+308到179E+308 之间的任意数
bit 整型 bit 数据类型是整型,其值只能是0、1或空值。这种数据类型用于存储只有两种可能值的数据,如Yes 或No、True 或Fa lse 、On 或Off
char 字符型 char数据类型用来存储指定长度的定长非统一编码型的数据。当定义一列为此类型时,你必须指定列长。当你总能知道要存储的数据的长度时,此数据类型很有用。例如,当你按邮政编码加4个字符格式来存储数据时,你知道总要用到10个字符。此数据类型的列宽最大为8000 个字符
varchar 字符型 varchar数据类型,同char类型一样,用来存储非统一编码型字符数据。与char 型不一样,此数据类型为变长。当定义一列为该数据类型时,你要指定该列的最大长度。 它与char数据类型最大的区别是,存储的长度不是列长,而是数据的长度
nchar 统一编码字符型 nchar 数据类型用来存储定长统一编码字符型数据。统一编码用双字节结构来存储每个字符,而不是用单字节(普通文本中的情况)。它允许大量的扩展字符。此数据类型能存储4000种字符,使用的字节空间上增加了一倍
nvarchar 统一编码字符型 nvarchar 数据类型用作变长的统一编码字符型数据。此数据类型能存储4000种字符,使用的字节空间增加了一倍
text 字符型 text 数据类型用来存储大量的非统一编码型字符数据。这种数据类型最多可以有231-1或20亿个字符
datetime 日期时间型 datetime数据类型用来表示日期和时间。这种数据类型存储从1753年1月1日到9999年12月3 1日间所有的日期和时间数据, 精确到三百分之一秒或333毫秒
Smalldatetime 日期时间型 smalldatetime 数据类型用来表示从1900年1月1日到2079年6月6日间的日期和时间,精确到一分钟
image 二进制数据类型 image 数据类型用来存储变长的二进制数据,最大可达231-1或大约20亿字节
基本查询
select column1,columns2,
from table_name
说明:把table_name 的特定栏位资料全部列出来
select
from table_name
where column1 =
[and column2 > yyy] [or column3 <> zzz]
说明:
1''表示全部的栏位都列出来。
2where 之后是接条件式,把符合条件的资料列出来。
select column1,column2
from table_name
order by column2 [desc]
说明:order by 是指定以某个栏位做排序,[desc]是指从大到小排列,若没有指明,则是从小到大
排列
组合查询
组合查询是指所查询得资料来源并不只有单一的表格,而是联合一个以上的
表格才能够得到结果的。
select
from table1,table2
where table1colum1=table2column1
说明:
1查询两个表格中其中 column1 值相同的资料。
2当然两个表格相互比较的栏位,其资料形态必须相同。
3一个复杂的查询其动用到的表格可能会很多个。
整合性的查询:
select count ()
from table_name
where column_name =
说明:
查询符合条件的资料共有几笔。
select sum(column1)
from table_name
说明:
1计算出总和,所选的栏位必须是可数的数字形态。
2除此以外还有 avg() 是计算平均、max()、min()计算最大最小值的整合性查询。
select column1,avg(column2)
from table_name
group by column1
having avg(column2) >
说明:
1group by: 以column1 为一组计算 column2 的平均值必须和 avg、sum等整合性查询的关键字
一起使用。
2having : 必须和 group by 一起使用作为整合性的限制。
复合性的查询
select
from table_name1
where exists (
select <BR>from table_name2
where conditions )
说明:
1where 的 conditions 可以是另外一个的 query。
2exists 在此是指存在与否。
select
from table_name1
where column1 in (
select column1
from table_name2
where conditions )
说明:
1 in 后面接的是一个集合,表示column1 存在集合里面。
2 select 出来的资料形态必须符合 column1。
其他查询
select
from table_name1
where column1 like 'x%'
说明:like 必须和后面的'x%' 相呼应表示以 x为开头的字串。
select
from table_name1
where column1 in ('','yyy',)
说明:in 后面接的是一个集合,表示column1 存在集合里面。
select
from table_name1
where column1 between xx and yy
说明:between 表示 column1 的值介於 xx 和 yy 之间。
3、更改资料:
update table_name
set column1=''
where conditoins
说明:
1更改某个栏位设定其值为''。
2conditions 是所要符合的条件、若没有 where 则整个 table 的那个栏位都会全部被更改。
4、删除资料:
delete from table_name
where 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';
query1sqladd('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')
4、增加资料:
insert into table_name (column1,column2,)
values ( value1,value2, )
说明:
1若没有指定column 系统则会按表格内的栏位顺序填入资料。
2栏位的资料形态和所填入的资料必须吻合。
3table_name 也可以是景观 view_name。
insert into table_name (column1,column2,)
select columnx,columny, from another_table
说明:也可以经过一个子查询(subquery)把别的表格的资料填入。返回类型int 备注当输入表达式的计算结果为有效的 numeric 数据类型时,ISNUMERIC 返回 1;否则返回 0。有效的 numeric 数据类型包括以下类型:intnumericbigintmoneysmallintsmallmoneytinyintfloatdecimalreal返回值 1 指示可以将表达式转换为至少一种 numeric 类型。注意:对于不是数字的字符(如加号 (+)、减号 (-))和有效货币符号(如美元符号 ($))字符,ISNUMERIC 将返回 1。有关货币符号的完整列表,请参阅使用货币数据。示例以下示例使用 ISNUMERIC 返回所有非数值的邮政编码。复制代码select column_name,data_type from information_schemacolumns where table_name = 'table_1' and column_name='A'如果把 and column_name='A' 去掉,则会显示表的所有字段的数据类型
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)