zoukankan      html  css  js  c++  java
  • 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


  • 相关阅读:
    w10更新
    java.lang.Integer cannot be cast to java.math.BigDecimal
    加法add 乘法multiply
    iterator,hasNext,next
    购物车全部数据,带商品信息
    ERRORinit datasource error, url: jdbc:mysql://localhost:3306/xxxxxx?useUnicode=true&characterEncoding=gbk&serverTimezone=GMT&useSSL=false
    Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:3.7.0:
    创建一个场景
    window系统已发布,等待更新
    [转]向量(矩阵)范式理解(0范式,1范式,2范式,无穷范式)
  • 原文地址:https://www.cnblogs.com/z1r0s/p/14284188.html
Copyright © 2011-2022 走看看