1、从 0 到 255 的整型数据。位bit整型数据 1、0 或 NULL。Microsoft SQL Server 优化用于 bit 列的存储。如果一个表中有不多于 8 个的 bit 列,这些列将作为一个字节存储。如果表中有 9 到 16 个 bit 列,这些列将作为两个字节存储。更多列的情况依此类推。数值decimal(p,s )带定点精度和小数位数的 numeric 数据类型。P(精度):指定小数点左边和右边可以存储的十进制数字的最大个数。精度必须是从 1 到最大精度之间的值。最大精度为 38。S(小数位数):指定小数点右边可以存储的十进制数字的最大个数。小数位数必须是从 0 到 p 之间的
2、值。默认小数位数是 0,因而 0 = s = p。最大存储大小基于精度而变化。Numeric(p,s) 货 币 型money货币数据值介于 263 (-922,337,203,685,477.5808) 与 263 1 (+922,337,203,685,477.5807) 之间,精确到货币单位的千分之十。Smallmoney货币数据值存储大小为 4 个字节。介于 214,748.3648 与 +214.748,3647 之间,精确到货币单位的千分之十。近似数字型float用于表示浮点数字数据的近似数字数据类型。浮点数据为近似值;并非数据类型范围内的所有数据都能精确地表示。Real 字 符 串
3、char长度为 n 个字节的固定长度且非 Unicode 的字符数据。n 必须是一个介于 1 和 8,000 之间的数值。存储大小为 n 个字节。varchar长度为 n 个字节的可变长度且非 Unicode 的字符数据。存储大小为输入数据的字节的实际长度,而不是 n 个字节。所输入的数据字符长度可以为零。text存储大量的可变长度的非Unicode文本数据。其最大长度为231-1 (2,147,483,647)个字符。Unicode nchar(n)存储包含 n 个字符的固定长度 Unicode 字符数据。n 的值必须介于 1 与 4,000 之间。存储大小为 n 字节的两倍。nvarcha
4、r(n)存储 n 个字符的可变长度 Unicode 字符数据。字节的存储大小是所输入字符个数的两倍。ntext存储大量的可变长度的Unicode文本数据。可变长度 Unicode 数据的最大长度为230 - 1 (1,073,741,823)个字符。存储大小是所输入字符个数的两倍(以字节为单位)。 二 进 制Binary(n)存储固定长度的 n 个字节二进制数据。n 必须从 1 到 8,000。存储空间大小为 n+4 字节。 varbinary(n)存储n 个字节变长二进制数据。存储空间大小为实际输入数据长度 +4 个字节,而不是 n 个字节。输入的数据长度可能为 0 字节。image用来存储
5、大量的二进制数据,通常用来存储图形。可变长度二进制数据介于 0 与 231-1 (2,147,483,647) 字节之间。 其 它 类timestamp这种数据类型表现自动生成的二进制数,确保这些数在数据库中是唯一的。timestamp 一般用作给表行加版本戳的机制。存储大小为 8 字节。uniqueidentifier全局唯一标识符 (GUID)。4对数据表的操作 创建数据表之后,可进行下面操作: 修改表结构 删除数据表 查询数据表中的数据 更新(插入、修改、删除)数据表中的数据5创建数据表的T-SQL语句CREATE TABLE database_name. owner .| owner.
6、 table_name( | column_name AS computed_column_expression| := CONSTRAINT constraint_name | PRIMARY KEY | UNIQUE ,.n ON filegroup | DEFAULT = column_name data_type COLLATE DEFAULT constant_expression | IDENTITY ( seed , increment ) NOT FOR REPLICATION ROWGUIDCOL .n = CONSTRAINT constraint_name NULL |
7、NOT NULL | PRIMARY KEY | UNIQUE CLUSTERED | NONCLUSTERED WITH FILLFACTOR = fillfactor ON filegroup | DEFAULT | FOREIGN KEY REFERENCES ref_table ( ref_column ) ON DELETE CASCADE | NO ACTION ON UPDATE CASCADE | NO ACTION NOT FOR REPLICATION | CHECK NOT FOR REPLICATION ( logical_expression ) PRIMARY KE
8、Y | UNIQUE ( column ASC | DESC ,.n ) ON filegroup | DEFAULT | FOREIGN KEY ( column ,.n ) REFERENCES ref_table ( ref_column ,.n ) | CHECK NOT FOR REPLICATION ( search_conditions ) 6修改数据表结构的T-SQL语句ALTER TABLE table ALTER COLUMN column_name new_data_type ( precision , scale ) NULL | NOT NULL | ADD | DR
9、OP ROWGUIDCOL | ADD | column_name AS computed_column_expression ,.n | WITH CHECK | WITH NOCHECK ADD ,.n | DROP CONSTRAINT constraint_name | COLUMN column | CHECK | NOCHECK CONSTRAINT ALL | constraint_name ,.n | ENABLE | DISABLE TRIGGER ALL | trigger_name ,.n 7删除数据表的T-SQL语句 DROP TABLE table_name【实验目的
10、】 掌握数据表的创建; 掌握数据表结构的修改; 掌握数据表的删除。实验21 创建数据库表 掌握使用企业管理器创建数据库表; 掌握使用SQL命令创建数据库表; 掌握向数据库表中录入数据。【实验内容】1创建数据库表。表名分别如下: 教师表:T,学生表:S,课程表:C,选课表:SC,授课表:TC表1 教师表T字段名数据类型长度(字节数)是否可NULL中文描述TNO2NOT NULL教师号TN8教师姓名SEXNULL性别AGE1年龄PROF10职称SAL工资COMM岗位津贴DEPT系名表2 学生表SSNO学生号SN学生姓名表3 课程表CCNO课程号CN课程名CT课时数表4 选课表SC学号SCORE成绩
11、表5 授课表TC【实验步骤】 1.用企业管理器创建数据表T2. 用企业管理器创建数据表S3. 用SQL语句创建数据表C 在查询窗口中输入下列SQL语句,创建数据表C:CREATE TABLE C( CNO CHAR(2), CN CHAR(10), CT TINYINT )查询分析器中对象浏览器中的表C4用SQL 语句创建数据表SC SQL语句为:CREATE TABLE SC(SNO CHAR(2), CNO NCHAR(2)5用SQL 语句创建数据表TCCREATE TABLE TC(TNO CHAR(2), CNO CHAR(2)实验22 修改数据库表结构 掌握用企业管理器修改已有数据表
12、的结构; 掌握用SQL修改已有数据表的结构。1.向已有数据表S中追加学籍列追加的列定义如下: 列名: NATIVE 数据类型:CHAR 长度:40 允许空否: NOT NULL2.修改已有表S中的列定义 把表S中的NATIVE列定义修改成下列定义:16 NULL3.删除表S中的NATIVE列【实验步骤】 1.用企业管理器向数据表S中添加列NATIVE在表设计器中追加列定义2.用企业管理器修改数据表S中的列NATIVE修改数据表3.用企业管理器删除数据表S中的列NATIVE 删除数据表中的列4.用SQL向数据表S中添加列NATIVE、修改列NATIVE 向S表中添加新列。新列定义为,列名:NAT
13、IVE,数据类型:NCHAR,长度:40, NULL。在查询窗口中输入下面SQL语句: ALTER TABLE S ADD NATIVE NCHAR(40) NULL修改表S中的列名为NATIVE的定义。新定义为,列名:CHAR,长度:16,NULL。在新的查询窗口中,输入下面SQL语句: ALTER COLUMN NATIVE CHAR(16) NULL实验2.3 删除数据库表 掌握在企业管理器中删除数据表; 掌握用SQL删除数据表。 在企业管理器中删除数据表test1; 用SQL删除数据表test2。 1.在企业管理器中删除数据表test1。2.用SQL删除数据表test2在查询窗口输入下
14、面SQL语句:USE jxskDROP TABLE test2GO【实验题】 实验内容与要求1.创建数据库jiaoxuedb。2.在数据库jiaoxuedb中创建表Student、Teacher、Course、SC、TC,它们 的表数据如图2-12图2-16所示。学生表student教师表Teacher课程表Course选课表SC教师任课表TC3.给学生表Student增加两个字段,一个是长度为2000个字符的字段简历 Resume,另一个是长度为20个字符的籍贯Native。4.把学生表中的籍贯列改为40个字符。5.删除学生表中的简历字段。6.删除表TC。【思考题】1.一个数据库中的数据表可
15、以有相同的表名吗?同一个数据表中,列名称可以相同吗?2.用ALTER TABLE语句可以修改已有的列名或或删除已有的列吗?3.解释语句USE jxsk的含义?给出与此语句功能相同的操作?4.有下列定义:create table test( item1 char(10), item2 nchar(10), item3 nchar(20), item4 nvarchar(20)(1) item1与item2所占磁盘空间各是多少字节,是否相同?(2)Item3与item4所占磁盘空间各是多少字节,是否相同?(3)如果在item1对应的数据项中,输入字符串“12345678901”,可以吗? 为什么?
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1