使用Transact-sql语句创建数据库表一个数据库,创建表

> T-SQL查询语句大全一、1)建立数据库:例:createdatabasestudentonpri
T-SQL查询语句大全一、1)建立数据库:例:createdatabasestudentonpri
yanxxjccyy & &
发布时间: & &
浏览:1 & &
回复:0 & &
悬赏:0.0希赛币
T-SQL查询语句大全
1)建立数据库:例:create& database& studenton& primary(
name=student_data,
filename=”c:\student_data.mdf”,
filegrowth=1mb,
maxsize=20mb
name=student_log,
filename=”c:\student_log.ldf”,
filegrowth=10%,
maxsize=15mb)注:create:创建 && database:数据库
student:学生(自己起的数据库名称)&
primary:主要的& name:姓名
filename:文件路径
size:文件大小
filegrowth:文件增长
maxsize:文件最大存储容量
log:日志 2)修改已建好的数据库:修改数据库建立时文件(主数据文件或日志文件)的大小,要更改文件最大值和文件增长速度,只需将size改为maxsize或filegrowth即可。alter database student modify file( name='student_log', size=4mb)注:alter:修改&&&&&&&& modify:扩充修改数据库,要增加数据库次要数据文件。alter database student add file( name='student_data2', filename="e:\student_data2.ndf", size=1mb, maxsize=10mb, filegrowth=1mb)二、 配置数据库(1) 为student数据库设置为“只读”属性 exec&& sp_dboption& ‘student’,’read only’,’true’(2) 为student数据库设置为“单用户”属性 exec& sp_dboption& ‘student’,’single& user’,’true’(3) 为student数据库设置为“自动收缩”属性 exec& sp_dboption&& ‘student’,’autoshrink’,’true’注:如对设置属性进行删除,则将’true’改为’false’(4) 手动式压缩数据库& dbcc&& shrinkdatabase& (student,10)注:exec:执行配置
sp_dboption:存储single& user:单用户
read& only:只读autoshrink:自动压缩
dbcc:收缩数据库命令shrinkdatabase:压缩数据库
student:数据库名10:允许数据库有10%的未用空间三、 删除数据库drop&& database&& student注:drop:删除四、 创建用户定义数据类型exec&&& sp_addtype&&&& ci,’nvarchar(20)’,null注:sp_addtype:新数据类型
&&&&&&& ci:新数据类型名称
五、 创建数据库表use& studentcreate& table& student_inf(
student_id&&&& int&&& not&& null,
student_name&&&& nvarchar(15)&&& not&& null,
student_sex&&&& nvarchar(1)&&&& not&&& null,
student_age&&& int&&& not&& null&& )& 注:use:使用(如果没有选择在哪个数据库里建表,则必须使用此语句)
student_inf:数据表名
student_id:学号(列名1)
int:数据类型1
not& null:非空
student_name:学员姓名(列名2)
nvarchar(15):数据类型2
student_sex:学员性别(列名3)
student_age:学员年龄(列名4)六、 修改已建好的数据表(1) 修改列的数据类型&& alter&&& table&& student_inf&& alter&& column&&& student_name&& nvarchar(10)& null注:alter:修改
student_inf:表名
student_name:列名
nvarchar(10):数据类型
null:允许为空(2) 删除一列内容:&& alter&& table&& student_inf&&& drop&& column&& student_sex注:drop:删除
student_sex:所要删除的列名(3) 增加一列内容:&& alter&& table&& student_inf&& add&& student_sex& nvarchar(1)&&&&& null 注:student_sex:列名
null:增加列名允许为空七、 为了保证数据的完整性,需要添加的约束(1) 实体完整性:1) 主键:primary& key在创建时加主键约束:create& table& student_mark(
student_id&&&& int&&& not&& null&& primary& key,
computer_mark&&&& nvarchar(15)&&& not&& null,
math_mark&&&& nvarchar(1)&&&& not&&& null,
Chinese_mark&&& int&&& not&& null&& ) 注:student_mark:表名 &&&&&& computer_mark:计算机成绩 math_mark:数学成绩
&&&& Chinese_mark:语文成绩在修改表时添加主键约束:alter&& table&&& student_inf&& add&&& constraint&& pk&& primary&& key& (student_id)& 注:add:加
constraint:约束&&&& pk:自己起的约束名称,方便于对约束进行删除在修改表时删除主键约束:alter&& table&&& student_inf&& drop&& constraint&& pk 2) 唯一约束:unique在创建时加唯一约束:create& table& student_mark(
student_id&&&& int&&& not&& null&& unique,
computer_mark&&&& nvarchar(15)&&& not&& null,
math_mark&&&& nvarchar(1)&&&& not&&& null,
Chinese_mark&&& int&&& not&& null&& ) 在修改表时添加唯一约束:alter&& table&&& student_inf&& add&&& constraint&& un&& unique& (student_id)
在修改表时删除唯一约束:alter&& table&&& student_inf&& drop&& constraint&& un 3) 标识列:identity(标识种子,标识增量)—从标识种子开始,每加一条记录就自增1,需在创建时加入,并可直接将此列定义为主键列。create& table& student_mark(
student_id&&&& int&&& identity(1,1)& primary& key,
computer_mark&&&& nvarchar(15)&&& not&& null,
math_mark&&&& nvarchar(1)&&&& not&&& null,
Chinese_mark&&& int&&& not&& null&& ) (2) 引用完整性外键:foreign&& key 在创建时加入外键:create& table& student_mark(
student_id&&&& int&&& not&& null&& foreign& key&&& references&&& student_inf(student_id),
computer_mark&&&& nvarchar(15)&&& not&& null,
math_mark&&&& nvarchar(1)&&&& not&&& null,
Chinese_mark&&& int&&& not&& null&& ) 注:references:关系
student_inf:主键表
student_id:主键& 列在修改表时加入外键:alter&& table&&& student_mark&& add&&& constraint&& fk&& foreign& key& (student_id)& references&&& student_inf(student_id) 在修改表时删除外键约束:alter&& table&&& student_mark&& drop&& constraint&& fk(3) 域完整性1) default约束:当列值为空时,用default约束后面的值来代替空值在建表时同时创建:create& table& student_mark(
student_id&&&& int&&& not&& null,&&
computer_mark&&&& nvarchar(15)&&& null&&&&& default&&&& ‘unknow’,
math_mark&&&& nvarchar(1)&&&& not&&& null,
Chinese_mark&&& int&&& not&& null&& ) 注:unknow:不知道在修改表时加入default约束:alter&& table&&& student_mark&& add&&& constraint&& de&& default&&& ‘unknow’&&& for&&& computer_mark&&&&
在修改表时删除default约束:alter&& table&&& student_mark&& drop&& constraint&& de2) check约束:用条件来约束本列数据在建表时同时创建:create& table& student_inf(
student_id&&&& int&&& not&& null,
student_age&&& int&&& not&& null&&&&&& check(student_age&15& and& student_age &100& ) ,& student_name&&&& nvarchar(15)&&& not&& null,student_sex&&&& nvarchar(1)&&&& not&&& null)& 在修改表时加入check约束:alter&& table&&& student_inf&& add&&& constraint&& ch&& check(student_age&15& and& student_age &100& )注:连接两个条用:and:并且&&&& or:或 在修改表时删除default约束:alter&& table&&& student_mark&& drop&& constraint&& ch八、 删除数据库表drop&&& table&&& student_inf九、 SQL里的条件表达式和逻辑运算符:运算符 含义& 大于& 小于&= 大于等于&= 小于等于= 等于! 非$<$ 不等于not 逻辑非:否定条件and 逻辑与:连接两个条件且仅当两个条件都为真时返回 TRUEor 逻辑或:连接两个条件,但只要其中任一个为真就返回 TRUE使用方法:一般放于where子句里进行条件限制的筛选例:a) select&& *&&& from&&& student_inf&& where&& student_id=1b) select&&& student_name,student_sex,student_age&&& from&& student_inf&&& where&&& student_age&15& and& student_age&20注:select:查询显示
十、 通配符图示:本博客不支持哦!十一、向表中插入数据:1)直接将值进行插入:insert&&& into&& student_mark (computer_mark,math_mark)values& (89,86)2)用其他表中的数值直接插入到另一张表里:insert&&& into&& student_mark (computer_mark,math_mark)select& q,w&&& from&&& qwe注:q:是表qwe的一列
w: 是表qwe的一列 &&&&&&&& qwe:是表名十二、更新数据行:update& student_mark& set&& computer_mark=computer_mark+2&&& where&&& student_id=3十三、联接:是为了联接显示最终结果,并非为两张表设置主外键(1) 内联接:inner join …& on …筛选出两张表里的公共内容select& *&& from&& student_inf&&& inner&& join& student_mark&& on&&& student_inf.student_id=student_mark.student_id注:在查询结果窗口中显示两张表中的所有内容于一张联合表中。(2) 外联接:1) 左外联接:left&& outer&& join&& …&&& on& …以左表为主,显示与其相连的右表内容,若右表中此记录不存在则用null来代替:select& *&& from&& student_inf&& left&& outer&& join& student_mark&& on&&& student_inf.student_id=student_mark.student_id2) 右外联接:right&& outer&& join&& …&&& on& …以右表为主,显示与其相连的左表内容,若左表中此记录不存在则用null来代替:select& *&& from&& student_inf&& right&& outer&& join& student_mark&& on&&& student_inf.student_id=student_mark.student_id十四、删除数据1) 删除某一行数据:delete& from& student_mark& where& student_id=12) 删除表里的所有数据:delete& from& student_mark3) 删除表里的所有数据:truncate&& table&& student_mark附加:以下内容为附加内容,有精力的同学可以加以参考,不做要求3) 完全外部联接:full& outer& join& …& on& …将两张表中所有行显示出来,如果没有匹配的内容则用null来补充。select& *&& from&& student_inf&& full&& outer&& join& student_mark&& on&&& student_inf.student_id=student_mark.student_id(3) 自联接:本表与自身相连&&&&&&& 假设要显示在一张表里,学员math_mark成绩相等的的两个学员的学号和语文成绩。那么就讲这张表与自身相连所联接的列是math_mark,为了保证显示数据的不冗余,因此加了个条件student_mark.student_id& student_mark1.student_id代码:select&&& student_mark.student_id, student_mark.chinese_mark, student_mark1.student_id, student_mark1.chinese_mark&& from student_mark&& inner&& join&&& student_mark&&& as& student_mark1&&&& on&&&& student_mark.math_mark= student_mark1.math_mark&& and student_mark.student_id& student_mark1.student_id(4) 交叉联接& :CROSS JOIN在这类联接的结果集内,两个表中每两个可能成对的行占一行。例如,在pubs数据库表中,通过作者 CROSS JOIN 出版商输出的结果集内,每个可能的作者/出版商组合占一行。所得到的 SQL 可能象下面这样:
SELECT * FROM& authors&& CROSS&& JOIN&& publishers 附加内容结束十五、查询语句:select1) 查询全部行和列:select& *& from&& student_inf2) 查询一张表里的某些列:select&& student_id,student_name,student_age&& from&& student_inf3) 查询一张表里的某一行:select&& student_id,student_name&& from&& student_infwhere& student_id=3十六、排序子句:order&& by&& …&&& desc&&&&&&& 降序
&&&&&& order&& by&& …
&&&&& 升序 SELECT student_id,computer_mark, math_mark&&& FROM student_mark&& ORDER&& BY&& math_mark, student_id DESC十七、在查询中使用常量和运算符SELECT student_name +':'+ student_name+ '-$>$ + student_nameFROM student_inf注:select后的列与加入符号的数据类型必须匹配。十八、as子句:为查询显示列起个列名SELECT student_name +':'+ student_name+ '-$>$ + student_name&&& as&&& name123FROM student_inf十九、top子句:返回数据行: top 1)限制返回数据行SELECT&& Top&&& 3& student_id,student_name&&&& From student_inf2)限制返回行百分比SELECT&& Top&& 80&&& Percent&& student_id,student_name&&&& From student_inf二十、聚合函数 1) SUM:求和函数SELECT& SUM(math_mark)&& As&& TotalFrom&& student_mark2)AVG:平均值函数SELECT& AVG (math_mark)&& As& avgFrom&& student_mark3)COUNT:统计个数SELECT& COUNT (math_mark)&& As& avgFrom&& student_mark4)max:最大值SELECT& max (math_mark)&& As& avgFrom&& student_mark5)min:&& 最小值SELECT& min (math_mark)&& As& avgFrom&& student_mark二十一、分组子句:group&& by&& …SELECT& count(math_mark)&& as&& [123]&& FROM&& student_mark&&& GROUP BY&& math_mark二十二、having子句:用于设置group&& by子句的条件SELECT& AVG(math_mark)&& as&& [123]&& FROM&& student_mark&&& where&& student_id&3&& GROUP BY&& math_mark&& having& AVG(math_mark)&70二十三、其他模糊查询1) Like运算符(之前已讲过)2) In运算符:in()只返回和in后()内的值相匹配的项SELECT&& student_name,student_age&& FROM student_infWHERE&& student_id&& IN ('2', '4')3)BETWEEN运算符:between& …&&& and&&& …返回在between& …&&& and&&& …之间的数值项SELECT&& student_name,student_age&& FROM student_infWHERE&& student_id& between&&& 1&& and&& 44)IS NULL运算符:IS& NULL返回为空值的内容项SELECT&& student_name,student_age&& FROM student_infWHERE&& student_name&& is& null
本问题标题:
本问题地址:
温馨提示:本问题已经关闭,不能解答。
暂无合适的专家
&&&&&&&&&&&&&&&
希赛网 版权所有 & &&织梦模板建站、织梦仿站,推荐选跟版网(专业织梦模板定制下载站),您可以把织梦模板网:
亲,跟版网是专业的DEDECMS模板下载和定制开发服务商!您可以选择或者
使用一条INSERT语句完成多表插入
& &以下内容您可能感兴趣: &
这是一条颠覆常规的插入方法,一条INSERT语句可以完成向多张表的插入任务。小小地展示一下这种插入方法。1.创建表T并初始化测试数据,此表作为数据源。
sec@ora10g& create table t (x number(10), y varchar2(10)); sec@ora10g& insert into t values (1,'a'); sec@ora10g& insert into t values (2,'b'); sec@ora10g& insert into t values (3,'c'); sec@ora10g& insert into t values (4,'d'); sec@ora10g& insert into t values (5,'e'); sec@ora10g& insert into t values (6,'f'); sec@ora10g&
2.查看表T的数据
sec@ora10g& select * X Y ---------- ---------- 1 a 2 b 3 c 4 d 5 e 6 f 6 rows selected.
3.创建表T1和T2,作为我们要插入的目标表。
sec@ora10g& create table t1 as select * from t where 0=1; Table created. sec@ora10g& create table t2 as select * from t where 0=1; Table created.
#p#副标题#e#4.第一种多表插入方法INSERT ALL1)完成INSERT ALL插入
sec@ora10g& insert all into t1 into t2 select * 12 rows created.
这里之所以显示插入了12条数据,实际上表示在T1表中插入了6条,T2表插入了6条,一共是12条数据。2)验证T1表中被插入的数据。
sec@ora10g& select * from t1; X Y ---------- ---------- 1 a 2 b 3 c 4 d 5 e 6 f 6 rows selected.
3)验证T2表中被插入的数据。
sec@ora10g& select * from t2; X Y ---------- ---------- 1 a 2 b 3 c 4 d 5 e 6 f 6 rows selected.
OK,完成INSERT ALL命令的使命。#p#副标题#e#5.第二种多表插入方法INSERT FIRST1)清空表T1和T2
sec@ora10g& delete from t1; sec@ora10g& delete from t2; sec@ora10g&
2)完成INSERT FIRST插入
sec@ora10g& insert first when x&=5 then into t1 when x&=2 then into t2 select * 5 rows created.
处理逻辑是这样的,首先检索T表查找X列值大于等于5的数据(这里是&5,e&和&6,f&)插入到T1表,然后将前一个查询中出现的数据排除后再查找T表,找到X列值大于等于2的数据再插入到T2表(这里是&2,b&、&3,c&和&4,d&)。注意INSERT FIRST的真正目的是将同样的数据只插入一次。3)验证T1表中被插入的数据。
sec@ora10g& select * from t1; X Y ---------- ---------- 5 e 6 f
4)验证T2表中被插入的数据。
sec@ora10g& select * from t2; X Y ---------- ---------- 2 b 3 c 4 d
#p#副标题#e#5)为真实的反映&数据只插入一次&的目的,我们把条件颠倒后再插入一次。
sec@ora10g& delete from t1; sec@ora10g& delete from t2; sec@ora10g& insert first when x&=2 then into t1 when x&=5 then into t2 select * 5 rows created. sec@ora10g& select * from t1; X Y ---------- ---------- 2 b 3 c 4 d 5 e 6 f sec@ora10g& select * from t2; no rows selected
OK,目的达到,可见满足第二个条件的数据已经包含在第一个条件里,所以不会有数据插入到第二张表。同样的插入条件,我们把&INSERT FIRST&换成&INSERT ALL&,对比一下结果。
sec@ora10g& delete from t1; 5 rows deleted. sec@ora10g& delete from t2; 0 rows deleted. sec@ora10g& insert all when x&=2 then into t1 when x&=5 then into t2 select * 7 rows created. sec@ora10g& select * from t1; X Y ---------- ---------- 2 b 3 c 4 d 5 e 6 f sec@ora10g& select * from t2; X Y ---------- ---------- 5 e 6 f
是不是在豁然开朗的基础上又有一种锦上添花的感觉。That's it.6.Oralce官方文档参考链接/docs/cd/B19306_01/server.102/b14200/statements_9014.htm#SQLRF016047.小结这些小小小的高级SQL技巧在实际的应用中有很大用处。慢慢体会吧。
Good luck. secooler 10.01.06 -- The End --
跟版网-专业织梦模板下载平台,转载请注明出处:
& &精心为您推荐: &
& &邀您关注: &
扫描左侧二维码即可在手机端访问此页面
扫描左侧二维码即可关注跟版网官方微信公众号,获取金币模板,还可以免费仿站哦!
扫描左侧二维码即可加入跟版网官方群,免费获取金币资源并可以与其他织梦高手共同交流学习
跟版网率先实现织梦的三网合一网站,从即日起()日,跟版网会陆续免费分享一批金币资源给需要的朋友,关注本站认证官方微信公众账号并回复相应的提取码,系统会自动将下载地址发送给您,同时这些金币资源也会分享在官方的QQ群中,欢迎各位朋友踊跃加入。另外本站后期会每周选择大家比较喜欢的网站仿制,并免费分享给大家,还有免费送金币活动哦!
评论列表(网友评论仅供网友表达个人看法,并不表明本站同意其观点或证实其描述)
- dede源码分享
售价:0金币
- dede源码分享
售价:10金币
- dede源码分享
售价:40金币
- dede源码分享
售价:80金币
- dede源码分享
售价:16金币
& & & 跟版网竭力打造中国最大的织梦源码和织梦模板商城,我们有一批经验丰富的设计师和程序员,发展五年,跟版网拥有丰富的织梦模板,欢迎您的咨询,我们将竭诚为您提供最优质的服务。
& & & 跟版网织梦源码商城坚持“创意+品质+服务”的高端理念,运用创意设计的理念为您塑造高品质的网络品牌形象。凭借五年的探索和实践,跟版网织梦源码商城拥有一支经验丰富、技术精湛、尽职尽责的网络服务团队。精品网站建设,从跟版网织梦源码商城建站开始。
& & & 跟版网织梦源码和模板可分为两种形式获得,一种是官方源码,另外一种是会员共享源码。两种源码都分为免费和收费两种形式。
& & & 跟版网官方收费源码可通过支付费用获得,具体操作流程可查看网址:。会员共享源码可通过共享模板获取金币下载。如觉得麻烦,可以联系客服QQ:进行金币充值,充值后可随意下载。SQL Server创建和使用临时表(转)
SQL Server创建和使用临时表(转)
15:27:00来源:
创建临时表 方法一: create table #临时表名(字段1 约束条件, 字段2 约束条件, .....) create table ##临时表名(字段1 约束条件, 字段2 约束条件, .....) 方法二: select * into #临时表名 from 你的表; select * into ##临时表名 from 你的表;注:以上的#代表局部临时表,##代表全局临时表查询临时表 select * from #临时表名; select * from ##临时表名;删除临时表 drop table #临时表名; drop table ##临时表名;???SQL SERVER临时表的使用/shineqiujuan/archive//1332657.htmldrop table #Tmp --删除临时表#Tmpcreate table #Tmp --创建临时表#Tmp( ID int IDENTITY (1,1) not null, --创建列ID,并且每次新增一条记录就会加1 WokNo varchar(50),
primary key (ID) --定义ID为临时表#Tmp的主键
);Select * from #Tmp --查询临时表的数据truncate table #Tmp --清空临时表的所有数据和约束相关例子:Declare @Wokno Varchar(500) --用来记录职工号Declare @Str NVarchar(4000) --用来存放查询语句Declare @Count int --求出总记录数
Declare @i intSet @i = 0 Select @Count = Count(Distinct(Wokno)) from #TmpWhile @i & @Count Begin Set @Str = 'Select top 1 @Wokno = WokNo from #Tmp Where id not in (Select top ' + Str(@i) + 'id from #Tmp)' Exec Sp_ExecuteSql @Str,N'@WokNo Varchar(500) OutPut',@WokNo Output Select @WokNo,@i --一行一行把职工号显示出来 Set @i = @i + 1 End临时表可以创建本地和全局临时表。本地临时表仅在当前会话中可见;全局临时表在所有会话中都可见。本地临时表的名称前面有一个编号符 (#table_name),而全局临时表的名称前面有两个编号符 (##table_name)。SQL 语句使用 CREATE TABLE 语句中为 table_name 指定的名称引用临时表:CREATE TABLE #MyTempTable (cola INT PRIMARY KEY)INSERT INTO #MyTempTable VALUES (1)如果本地临时表由存储过程创建或由多个用户同时执行的应用程序创建,则 SQL Server 必须能够区分由不同用户创建的表。为此,SQL Server 在内部为每个本地临时表的表名追加一个数字后缀。存储在 tempdb 数据库的 sysobjects 表中的临时表,其全名由 CREATE TABLE 语句中指定的表名和系统生成的数字后缀组成。为了允许追加后缀,为本地临时表指定的表名 table_name 不能超过 116 个字符。除非使用 DROP TABLE 语句显式除去临时表,否则临时表将在退出其作用域时由系统自动除去:当存储过程完成时,将自动除去在存储过程中创建的本地临时表。由创建表的存储过程执行的所有嵌套存储过程都可以引用此表。但调用创建此表的存储过程的进程无法引用此表。所有其它本地临时表在当前会话结束时自动除去。全局临时表在创建此表的会话结束且其它任务停止对其引用时自动除去。任务与表之间的关联只在单个 Transact-SQL 语句的生存周期内保持。换言之,当创建全局临时表的会话结束时,最后一条引用此表的 Transact-SQL 语句完成后,将自动除去此表。 在存储过程或触发器中创建的本地临时表与在调用存储过程或触发器之前创建的同名临时表不同。如果查询引用临时表,而同时有两个同名的临时表,则不定义针对哪个表解析该查询。嵌套存储过程同样可以创建与调用它的存储过程所创建的临时表同名的临时表。嵌套存储过程中对表名的所有引用都被解释为是针对该嵌套过程所创建的表,例如:CREATE PROCEDURE Test2ASCREATE TABLE #t(x INT PRIMARY KEY)INSERT INTO #t VALUES (2)SELECT Test2Col = x FROM #tGOCREATE PROCEDURE Test1ASCREATE TABLE #t(x INT PRIMARY KEY)INSERT INTO #t VALUES (1)SELECT Test1Col = x FROM #tEXEC Test2GOCREATE TABLE #t(x INT PRIMARY KEY)INSERT INTO #t VALUES (99)GOEXEC Test1GO下面是结果集:(1 row(s) affected)Test1Col
----------- 1 (1 row(s) affected)Test2Col
----------- 2 当创建本地或全局临时表时,CREATE TABLE 语法支持除 FOREIGN KEY 约束以外的其它所有约束定义。如果在临时表中指定 FOREIGN KEY 约束,该语句将返回警告信息,指出此约束已被忽略,表仍会创建,但不具有 FOREIGN KEY 约束。在 FOREIGN KEY 约束中不能引用临时表。考虑使用表变量而不使用临时表。当需要在临时表上显式地创建索引时,或多个存储过程或函数需要使用表值时,临时表很有用。通常,表变量提供更有效的查询处理。
高级SQL学习笔记(一选出有重复记录名字的日志用户的最后一次登录时间)SQL CREATE TABLE 语句
SQL CREATE TABLE 语句
CREATE TABLE 语句
CREATE TABLE 语句用于创建数据库中的表。
SQL CREATE TABLE 语法
CREATE TABLE 表名称
列名称1 数据类型,
列名称2 数据类型,
列名称3 数据类型,
数据类型(data_type)规定了列可容纳何种数据类型。下面的表格包含了SQL中最常用的数据类型:
integer(size)
smallint(size)
tinyint(size)
仅容纳整数。在括号内规定数字的最大位数。
decimal(size,d)
numeric(size,d)
容纳带有小数的数字。
&size& 规定数字的最大位数。&d& 规定小数点右侧的最大位数。
char(size)
容纳固定长度的字符串(可容纳字母、数字以及特殊字符)。
在括号中规定字符串的长度。
varchar(size)
容纳可变长度的字符串(可容纳字母、数字以及特殊的字符)。
在括号中规定字符串的最大长度。
date(yyyymmdd)
容纳日期。
SQL CREATE TABLE 实例
本例演示如何创建名为 &Person& 的表。
该表包含 5 个列,列名分别是:&Id_P&、&LastName&、&FirstName&、&Address& 以及 &City&:
CREATE TABLE Persons
LastName varchar(255),
FirstName varchar(255),
Address varchar(255),
City varchar(255)
Id_P 列的数据类型是 int,包含整数。其余 4 列的数据类型是 varchar,最大长度为 255 个字符。
空的 &Persons& 表类似这样:
可使用 INSERT INTO 语句向空表写入数据。

我要回帖

更多关于 transact sql语句 的文章

 

随机推荐