w1w 发表于 2018-10-23 08:33:40

32. SQL -- 管理数据库和数据库表(1)

  数据库和数据表
  数据表的基本表是数据块,同储数据和操作数据的组成的。
  表的列名在同一个表中具有惟一性,同一列的数据属于同一类型。

  定NULL NOT NULL>  :结构
  类型包括种,分字符串数据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 ]
  使用创建:
  库 → 可类型 → 用义数据户自定类型
  类型(参考许’’、默规则.
  GO
  CREATE TYPE .FROM () NULL
  GO
  1创建一个用义的数据ssn统数据变长为11 许空。义的数据.
  Exec ssn'Varchar(11)''Not Null'
  -- 使用存创建用义数据tb2 co1 ssntb2 convertnvarchar128NEWID8500
  select from 或者:
  use 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>  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
  
页: [1]
查看完整版本: 32. SQL -- 管理数据库和数据库表(1)