数据库和数据表
数据表的基本表是数据块,同储数据和操作数据的组成的。
表的列名在同一个表中具有惟一性,同一列的数据属于同一类型。
定NULL NOT NULL IDENTITY 数据表被分临时数据表两临时表又分临时表和全局.
:结构
类型包括种,分字符串数据Unicode 类型和二类型。别进行介1)Unicode 3 类型:,和 :
关于在何char ncharSQL 则。
项的大小一致,char● 如果列数据则使用 。
项大小相差很大,而且大小可能超字请使用 。
、字符串包括种具体数据Nchar,Nvarchar char(nchar)较:
1 储开销。
varchar 额外的两个字储的数据的每个可的列,需要一些字图)来反为空性。
无长度是多少,按照定长度分配存间,长型。
varchar 变长字符数据实际存长度来分配数据存间。
2 NULL 空。
char NULL 储空列的值不占用存间。
插入同NULL varchar 显高出列。
:字符型数据较:
--长及可类型表,并写入条数据,分析储情况
create table (char100Tb ()
go 'tb' 系带,储情况
/*
name rows reserved data index_size unused
tb 500 72 KB 64 KB 8 KB 0 KB
*/
DBCC ()显示指定的表的数据和索引的碎片信息
create table (varchar100tb1 ()
go 'tb1'
/*
name rows reserved data index_size unused
tb1 500 24 KB 16 KB 8 KB 0 KB
*/
和nvarchar 的区varchar(n):
长度个字变长度且非 的字符数据。必18,000 间的数储大小节的n 节(如当字段时,数据间为3 节,而不是个字许存个字节)。
包含 个字符的可Unicode n 值必1 4,000 间。字储大小是所两字段分值:“我和coffee”。那字段占2×2+6=10 个字储空nvarchar 节的存间。如字段选择varchar值存在节(中文、时用。
)二类型
Image 类型中存储的,不是由 解须由释。例如,BMPTIEFGIF JPEG 储在 数据在使用和时应遵循下列● 如果列数据则使用。
项的大小差异相当大,varbinary● 当列数据条目超出字请使用。
在 的未来版本中将ntexttext image 类型。开发工作中使用类型,并考这些数据应用程序。nvarchar(max)varchar(max) varbinary(max)Demo:t32co1类型,写入一个进制,进制
create table (varbinary128t32 ()
select from CONVERT intcol--t32
类型:
存数据的数据xml 变量中存实
Timestamp: SQL Server 动的先后进制投影的格式表示。数据与插入数据或者日期和关系。类型的字段是一个基于系创建或修改SQL Server 动填充的Uniqueidentifier: 16 节的十六组成,表示一个全局唯一的。当表的时,是非常有用。例如,在客这种数据别不同的客后Microsoft SQL Server 删除应避免在新的该功能,并着手修改当前该功能的DEMO--使用table实体表
declare table coll ())
insert into values 'abcd'* @tb1
义数据CREATE TYPE type_name
FROM base_type
[ NULL | NOT NULL ]
使用创建:
库 → 可类型 → 用义数据户自定类型
类型(参考许’’、默规则.[demo_db]
GO
CREATE TYPE .FROM () NULL
GO
1创建一个用义的数据ssn统数据变长为11 许空。义的数据.
Exec ssn'Varchar(11)''Not Null'
-- 使用存创建用义数据tb2 co1 ssntb2 convertnvarchar128NEWID8500
select from 或者:
use [dbo][emp_id] [char]10create type 户自定类型
create table ()
go
insert into values convertnvarchar128NEWID8500
select from 例子: 户定类型 ,其基于的系类型是,允demo_db
exec daytime 'datetime''null'
3创建两个数据telephone fax
Use sp_addtype ,,sp_addtype ,,B户定类型不需要删除。户定类型的命令是例子:
EXEC 'daytime'
go
还正在使用用义的数据时,或者在其上面认或者这种用义的数据删除。
创建及管理数据
创建数据:
database_name
[ < > [ ,...n ] ]
filegroup ]
filespec [ COLLATE collation_name ]
其中:
[ PRIMARY ]
logical_file_name FILENAME = ''
size [ , MAXSIZE = { | UNLIMITED } ]
growth_increment < filegroup > ::=
filespec
分两语句:
1 SQL Server model 库的库及其元数据。
2 SQL Server 页填充数据记录数据间使用情况以外的内部数据DEMO1: 务日志文件的数据下面的示例为Sales 库。因关键字 ,第一个文件成为Sales_dat SIZE MB KB认为MB节为单位Sales_log 节为单位为SIZE显式声明了 后Sales
ON
( = ,
FILENAME 'C:\\Program Files\\Microsoft SQL
Server\\MSSQL10.MSSQLSERVER\\MSSQL\\DATA\\saledat.mdf'= ,
MAXSIZE 50= )
LOG NAME 'Sales_log'= ,
SIZE 5,
MAXSIZE 25,
FILEGROWTH 5)
GO
指定多个数据文件和事创建数据100的数据文件和两个 的事创建了名的数据PRIMARY 显式指定。事LOG ON FILENAME 扩展名:主要数据文件使用 ,次要数据文件使用 ,事.ldfArchive
ON
PRIMARY NAME Arch1= ,
SIZE 100,
MAXSIZE 200= ),
( = ,
FILENAME 'C:\\Program Files\\Microsoft SQL
Server\\MSSQL10.MSSQLSERVER\\MSSQL\\DATA\\archdat2.ndf'= MB= ,
FILEGROWTH 20NAME Arch3= ,
SIZE 100,
MAXSIZE 200= )
LOG NAME Archlog1= ,
SIZE 100,
MAXSIZE 200= ),
( = ,
FILENAME 'C:\\Program Files\\Microsoft SQL
Server\\MSSQL10.MSSQLSERVER\\MSSQL\\DATA\\archlog2.ldf'= MB= ,
FILEGROWTH 20DEMO3: 简单的数据本例为Products 库,并指定为主文件,并会自1 MB 务日志文件。因SIZE MB KB节为单位为没有务日志文件指定 ,所以事MAXSIZE长到填盘空Products
ON
( = ,
FILENAME 'C:\\Program Files\\Microsoft SQL
Server\\MSSQL10.MSSQLSERVER\\MSSQL\\DATA\\prods.mdf'= ,
MAXSIZE 10= )
GO
不指定文件库
创建名的数据创建相务日志文件。因库文件的大小数据务日志文件的大小数据务日志文件的大小。因MAXSIZE长到填盘空mytest
不指定 SIZE 库
创建名的数据prods2_dat 为主文件,大小等于数据务日志文件会自为主文件大小的 或中的值。因MAXSIZE长到填盘空Products2
ON
( = ,
FILENAME 'C:\\Program Files\\Microsoft SQL
Server\\MSSQL10.MSSQLSERVER\\MSSQL\\DATA\\prods2.mdf' DEMO6: 组创建数据下面的示例使用三个文件为sales1 库:
组包含文件 和 。指定FILEGROWTH 为15%名的文件SGrp1Fi1 SGrp1Fi2名的文件SGrp2Fi1 SGrp2Fi2Sales1
ON PRIMARY
( = ,
FILENAME 'C:\\Program Files\\Microsoft SQL
Server\\MSSQL10.MSSQLSERVER\\MSSQL\\DATA\\SPri1dat.mdf'= ,
MAXSIZE 50= % ),
( = ,
FILENAME 'C:\\Program Files\\Microsoft SQL
Server\\MSSQL10.MSSQLSERVER\\MSSQL\\DATA\\SPri2dt.ndf'= ,
MAXSIZE 50= % ),
FILEGROUP SalesGroup1
( = ,
FILENAME 'C:\\Program Files\\Microsoft SQL
Server\\MSSQL10.MSSQLSERVER\\MSSQL\\DATA\\SG1Fi1dt.ndf'= ,
MAXSIZE 50= ),
( = ,
FILENAME 'C:\\Program Files\\Microsoft SQL
Server\\MSSQL10.MSSQLSERVER\\MSSQL\\DATA\\SG1Fi2dt.ndf'= ,
MAXSIZE 50= ),
FILEGROUP SalesGroup2
( = ,
FILENAME 'C:\\Program Files\\Microsoft SQL
Server\\MSSQL10.MSSQLSERVER\\MSSQL\\DATA\\SG2Fi1dt.ndf'= ,
MAXSIZE 50= ),
( = ,
FILENAME 'C:\\Program Files\\Microsoft SQL
Server\\MSSQL10.MSSQLSERVER\\MSSQL\\DATA\\SG2Fi2dt.ndf'= ,
MAXSIZE 50= )
LOG NAME 'Sales_log'= ,
SIZE 5,
MAXSIZE 25,
FILEGROWTH 5)
GO
<SPAN style=""FONT-FAMILY: " new="" times="">