• T-SQL之数据表操作


    1、数据表的创建(CREATE TABLE语句)

    创建数据库的语法:

    CREATE TABLE 表名称
    (
     <列名称1> <数据类型> [列级完整性约束定义]
     [,<列名称2> <数据类型> [列级完整性约束定义]]
     [,<列名称3> <数据类型> [列级完整性约束定义]...]
     [,表级完整性约束定义]
    )

    数据类型

    约束

    约束的分类:(以约束定义的位置为分类的依据,可以将约束分为列级约束和表级约束)
    列级约束:NOT NULL约束、DEFAULT约束;
    表级约束:UNIQUE月俗话、CHECK约束、PRIMARY KET约束、FOREIGN KEY约束。
    注:列级约束只能在列定义处进行定义


    约束语法:
    CONSTRAINT 约束名称 约束类型及其条件
    简介约束语法:
    NOT NULL约束:(列级)
    CONSTRAINT NN_XXX NOT NULL;

    DEFAULT约束:(列级)
    CONSTRAINT DF_XXX DEFAULT 默认值 FOR 列名称;
    UNIQUE约束:
    CONSTRAINT UN_XXX UNIQUE 列名称;

    CHECK约束:
    CONSTRAINT CK_XXX CHECK(条件)

    PRIMARY KEY约束:
    CONSTRAINT PK_XXX PRIMARY KEY(列名)

    FOREIGN KEY约束:
    CONSTRAINT FK_XXX FOREIGN KEY(列名) REFERENCES 表名(列名)

    创建数据表实例

    USE DemoTest
    GO
    CREATE TABLE Class											--创建班级表
    (
    	C_id INT,												--班级编号
    	C_name NVARCHAR(16) NOT NULL,							--班级名称、非空
    	C_des NVARCHAR(64) NULL CONSTRAINT DF_C_des DEFAULT N'无',--班级描述(默认描述为无)
    	CONSTRAINT PK_C_id PRIMARY KEY(C_id),					--表级定义主键约束
    	CONSTRAINT UN_C_name UNIQUE(C_name),					--表级定义唯一约束
    	CONSTRAINT CK_C_id CHECK(C_id > 0)						--表级定义CHECK约束
    )
    CREATE TABLE Student											--创建学生表
    (
    	S_id INT CONSTRAINT PK_S_id PRIMARY KEY,					--学号、列级主键约束
    	S_name NVARCHAR(4) NOT NULL CONSTRAINT UN_S_name UNIQUE,	--学生姓名、非空且唯一
    	S_age TINYINT NOT NULL CONSTRAINT CK_S_age CHECK(S_age > 20),--年龄、非空且必须大于20
    	S_gender BIT CONSTRAINT DF_S_gender DEFAULT 0,				--性别,默认为0(女)
    	C_id INT NOT NULL CONSTRAINT FK_C_id_C_id FOREIGN KEY(C_id) REFERENCES Class(C_id)--学生所在班级(外键约束)
    )
    GO

    T-SQL之数据表修改

    修改数据表(ALTER TABLE语句)

    对于数据表的修改操作主要有:
    ->修改数据表的名称;
    ->修改数据表中列项的名称;
    ->向数据表中添加列项;
    ->删除数据表中的列项;
    ->删除数据表中的约束项;
    ->修改数据表中列的数据类型;
    示例代码:
    EXEC sp_rename 'Student','ss'								--修改表的名称
    EXEC sp_rename 'Student.S_gender','nn','column'			--修改数据表的列名
    GO
    --语法抽象:EXEC sp_rename 旧名称,新名称,类型(表类型默认为空,列类型为column)
    
    ALTER TABLE Student				--向数据表添加多个新列
     ADD SS INT,XX INT
    GO
    --语法抽象:ALTER TABLE 数据表名称 ADD 列名 数据类型
    
    ALTER TABLE Student				--删除数据表中的指定列
     DROP COLUMN SS,XX
    GO
    --语法抽象:ALTER TABLE 数据表名称 DROP COLUMN 列名
    
     ALTER TABLE Student			--删除数据表中定义的约束
      DROP CONSTRAINT [UN_S_name]
    GO
    --语法抽象: ALTER TABLE 数据表名称 DROP CONSTRAINT 约束名称
    
    ALTER TABLE Student				--修改数据表中的列定义
     ALTER COLUMN S_age INT
    GO
    --语法抽象: ALTER TABLE 数据表名称 ALTER COLUMN 列名称 数据类型
    

    T-SQL之数据库删除

    删除数据表主要使用(DROP TABLE语句)
    --数据表删除(DROP TABLE)
    DROP TABLE Student
    GO


  • 相关阅读:
    Rman-10038: Database Session For Channel D1 Terminated Unexpectedly
    MySQL从入门到项目实践 pdf下载
    Oracle_优化器使用(oracle11g)
    当sqlserver启用sa账户时,出现Microsoft SQL Server 错误代号: 15535 解决方法 (转)
    sqlserver 如何分析“死锁调度程序”转储?
    AtCoder Beginner Contest 213
    LOJ
    [学习笔记] 计算几何
    [COCI 2009-2010 #6] XOR
    BZOJ
  • 原文地址:https://www.cnblogs.com/z1r0s/p/14284188.html
Copyright © 2020-2023  润新知