创建表和添加表约束

Posted Tiger Expensive

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了创建表和添加表约束相关的知识,希望对你有一定的参考价值。

 一、标准的建表语法
   
    CREATE TABLE 表名
    (列名 数据类型 [默认 表达式],...
    );
  
    
说明:
    1.在创建新表时,指定的表名必须不存在,否则会出错
    2.使用值: 当插入行时如果不给出值,dbms将自动采用默认值   dbms:数据库管理系统 null 0 0.0
    3.在使用create语句创建基本表时,最初只是一个空的框架,用户可以使用insert命令把数据库插入表中
    
    
    数据库表字段的数据类型
     字符数据类型 
          CHAR:存储固定长度的字符串     
          VARCHAR2 :存储可变长度的字符串   
          
    数值数据类型
       NUMBER:存储整数和浮点数,格式为NUMBER(p, s)
          列名  NUMBER             
          列名  NUMBER (p)              {整数}   number (10)   zhengshu 
          列名  NUMBER (p, s)            {浮点数}    number (5,3)   11.111
          
          
          
    日期时间数据类型
        DATE:存储日期和时间数据 
        TIMESTAMP:比DATE更精确  
        
    LOB数据类型
        BLOB:存储二进制对象,如图像、音频和视频文件
        CLOB:存储字符格式的大型对象 


  
  --创建表
  CREATE TABLE STUDENT(
        SNO NUMBER(6),  
        SNAME VARCHAR2(20),
        SEX VARCHAR2 (2),
        AGE NUMBER(3),
        ENTERDATE DATE,
        CLAZZ VARCHAR2 (10)
  );
  
   --EMAIL VARCHAR2(20)
  SELECT * FROM STUDENT;
  
  --插入数据
  INSERT INTO STUDENT VALUES(1001,羽毛,,-10,sysdate,01级02班);
    INSERT INTO STUDENT(sno,sex,age) VALUES(1001,,-100);
  
  --像已有表中添加一个列()
  ALTER TABLE STUDENT ADD ADDRESS VARCHAR2 (20);
  
  --以下代码要求表中没有数据,因为如果表中存在数据,那么已存在的数据列email讲使用null填充
  ALTER TABLE STUDENT ADD EMAIL VARCHAR2(20) NOT NULL;
  
  --插入数据sno,sname,email
  INSERT INTO student(sno,sname) VALUES (110,缺一个); 
  
  --将已有表中的列删除  column--列  table -表
  ALTER TABLE STUDENT
  DROP COLUMN EMAIL;
  
  --将已有表中的列进行修改,默认只对新添加的数据起作用   modify
  ALTER TABLE STUDENT 
  MODIFY (SEX VARCHAR2(4) DEFAULT );
  
  --对已有表中的列名重命名
  ALTER TABLE STUDENT
  RENAME COLUMN SNAME TO STU_NAME;
  
  --给表重命名
  RENAME STUDENT TO STU ;
  
  SELECT * FROM STU;
  
DROP TABLE STUDENT;
DROP TABLE STU;

--小结:
     --insert--> 向已有表中插入数据  -->操作数据
     --add  -->向表中添加列  -->操作的表结构
     
     --update -->对已有表中的数据进行修改
     --modify -->修改表中的列
     
     --delete -->删除表中的数据
     --drop -->删除表

  二、表约束

  数据完整性约束

    1.表的数据有一定的取值范围和联系,多表之间的数据有时也有一定的参照关系。
    2.在创建表和修改表时,可通过定义约束条件来保证数据的完整性和一致性。
    3.约束条件是一些规则,在对数据进行插入、删除和修改时要对这些规则进行验证,从而起到约束作用。

  完整性约束分类
    域完整性约束(非空not null,检查check)字段约束
    实体完整性约束(唯一unique,主键primary key) 行和行之间的约束
    参照(引用)完整性约束(外键foreign key) 表和表之间的约束

  主键约束 (primary key) PK_表名_字段名
    要求主键类数据唯一,并且不允许为空,主键可以包含表的一列或多列,多列组成的主键称之为-复合主键
  唯一约束(unique) UK_表名_字段名
    要求该列值唯一,允许为空,而且null可以是多个
  检查约束 (check) CK_表名_字段名
    某列取值范围显示,格式限制等,如年龄拘束,邮件限制 email like ‘%@%‘ --length (pwd) =6
  非空约束(not null) NN_表名_字段名
    某列内容(值)不为空
  外键约束(foreign key) FK_表名_字段名
    用于两个表之间建立关系,需要制定引用主表的那列,外键同创是用来约束两个表之间的数据关系
    定义外键的那张表称之为子表,另一张表称之为主表,在表的创建过程中,应该先创建主表,后创建子表

 

以上是关于创建表和添加表约束的主要内容,如果未能解决你的问题,请参考以下文章

sql server如何添加外键

09 多表操作

09 多表操作

MySQL进阶-(约束多表设计视图备份与还原)

sql怎么设置外键

mysql进阶