数据库的创建+约束

一个数据表的字段:
1.列名:最长为128个字符,包含了中文、英文、下划线、#、货币符号、@符号;
2.数据类型:
3.字段的长度和精度、小数位数。
4.允许为空:√就是一个允许为空;
5.默认值:

一.利用SQL创建数据表

CREATE TABLE <表名>

<列定义>[,<列定义> | <表约束>]

<表名> 最多128个字节,如S, SC, C等,不允许重名;
<列定义> 定义是 <列名> <数据类型> [DEFAULT] [{<列约束>}]

注:DEFAULT是默认值;

例子:
1.创建一个学生表S:
CREATE TABLE S
(
SNO CHAR(6), //创建了学号,大小为6
SN VARCHAR(8), // 创建一个学生的姓名,8个字符
Sex CHAR(2) DEFAULT ‘男’,//创建一个性别,是char类型的,并且默认是男;
Age INT, //年龄是一个int类型的
Dept VARCHAR(20) // 系别;是一个字符型的,大小是20
)

二、对列进行约束

格式:[CONSTRAINT <约束名>] <约束类型> :
<约束名> :约束名是系统给定的名称;
<约束类型>:
1.NULL/NOT NULL
[CONSTRAINT <约束名>] [NULL/NOT NULL]
例子:
CREATE TABLE S
(
SNO CHAR(6) CONTRAINT S_CONS NOT NULL 或者 NOT NULL ,
SN VARCHAR(8),
Sex CHAR(2) DEFAULT ‘男’,
Age INT,
Dept VARCHAR(20)
)
2.UNIQUE(唯一约束)

  例子://姓名不能重复
   CREATE    TABLE  S
   (
       SNO CHAR(6)   NOT NULL,                    
       SN    VARCHAR(8)    UNIQUE,                   
       Sex    CHAR(2)  DEFAULT '男',
       Age INT,                            
       Dept  VARCHAR(20)            
  )

 例子://姓名和性别不能重复,也就是同一性别的人没有重名
   CREATE    TABLE  S
   (
       SNO CHAR(6),                        
       SN    VARCHAR(8)   UNIQUE,                   
       Sex    CHAR(2)  DEFAULT '男',
       Age INT,                            
       Dept  VARCHAR(20)   ,
       CONTRAINT  S_UNIQ  UNIQUE (SN,Sex)        
  )
 3,PRIMARY KEY约束(主键唯一约束)
    是一个对于主键的约束,唯一标识,不能为空,也不能重复;

  CREATE    TABLE  S
   (
       SNO CHAR(6)     CONTRAINT  S_Prim  PRIMARY  KEY,                     
       SN    VARCHAR(8),                   
       Sex    CHAR(2)  DEFAULT '男',
       Age INT,                            
       Dept  VARCHAR(20)            
  )

你可能感兴趣的:(数据库)