创建表及创建索引

  1. 创建表的基本语法:

    CREATE TABLE 表名

        Id INT IDENTITY(100000,1) PRIMARY KEY, // IDENTITY(100000,1) 设置ID为自增属性,并且初始值为100000,增量为1。PRIMARY KEY 设置Id为主键。

        其他字段

    -->>需要注意的是:字段的类型。如果要求字段的长度为固定字段,则使用char()、或者nchar()类型。varchar()、和nvarchar()类型是跟随用户输入的字段长度而定。

    例如:

        写出创建Customer表的sql语句:

图 1-1 Customer类

        sql语句如下:

CREATE TABLE Customer

(

    Id INT IDENTITY(100000,1) PRIMARY KEY ,

    Name NCHAR(11) NOT NULL, //这里设置的Name字段的大小为22个字符。因为前面有个N

    [Password] CHAR(8) NOT NULL,

    HeadImgUrl VARCHAR(50) NOT NULL,

    Area VARCHAR(400) NOT NULL,

    Sex INT NOT NULL,

    CreateTime DATETIME NOT NULL

)

  1. 创建索引:
    1. 什么是索引:

      数据库中的索引是某个表中一列或者多列值的集合和相对应的指向表中物理标识这些值得数据页的逻辑指针清单。

    2. 语法:

      CREATE [索引类型] INDEX 索引名称

      ON 表名

      WITH FILLFACTOR=填充因子值【值的范围为:0~100】

    3. 分类:
      1. 唯一索引(UNIQUE):不允许两行具有相同的索引值(创建了唯一约束,系统将自动创建唯一索引。)
      2. 主键索引:主键索引要求主键中的每个值是唯一的。(创建主键时,自动创建主键索引。)
      3. 聚集索引(CLUSTERED):表中各行的物理顺序与键值的逻辑(索引)顺序相同,表中只能包含一个聚集索引,主键列默认为聚集索引。
      4. 非聚集索引(NONCLUSTERED):表中各行的物理顺序与键值的逻辑(索引)顺序不匹配,表中可以有249个聚集索引。
    4. 创建索引的标准:用于频繁搜索的列;用于对数据进行排序的列。

    ->>注意:如果表中仅有几行,或列中包含几个不同的值,不推荐创建索引,因为SQL Server 在小型表中用索引搜索数据所花的时间比逐行搜索更长。

    例如:为表Customer即【图1-1 Customer类】,建立索引:

  1. 对Customer表中的Name字段建立索引:

    CREATE UNIQUE INDEX INDEX_ID

    ON Customer(Name)

  2. 对Customer表中的Password和Name字段建立联合索引:

    CREATE INDEX INDEX_NAME_PASS

    ON Customer(Name,[Password])

    

原文地址:https://www.cnblogs.com/taidou/p/5153761.html