创建数据表
create table emp(
emp_no  char(4) not null,
e_name varchar(30) not null,
e_gender int,
e_age int,
e_sal money,
e_hit datetime,
e_email varchar(50)
)

create table emp2(
emp_no  char(4) not null,
e_name varchar(30) not null,
e_gender bit,
e_age int,
e_sal float,
e_hit date,
e_email varchar(50)
)

create table emp4(
emp_no  char(4) not null,
e_name varchar(30) not null,
e_gender bit,
e_age int,
e_sal decimal(6,2),  --numeric
e_hit date,
e_email varchar(50)
)


为表添加约束
     1)在创建表时添加约束
       create table tbname(
        colname data_type constraint
       ) --在创建列的时候添加约束

       create table tbname(
        colname data_type,
        colanme  ...,
        constraint....,
        constraint.... 
       )    -- 列创建完之后添加约束
       
     2)表已经存在  如何添加约束

删除约束
   alert table tb_name
   drop constraint constraint_name

修改表时添加约束 
  II.表结构的修改
  alert  table tb_name---

  1)添加列(相当于定义了一个新列  colname data_type constraint)
   add colname data_type 约束(外键除外)

  2)删除列
   drop column colaname

  3)修改列(修改数据类型)
   alter column colanme data_type [not null]

  4)修改列(添加约束)
  add [constraint constraint_name] 约束

删除约束
alter table emp4 drop  constraint PK__emp4__129850FA1ED998B2

表结构的修改
删除列
--先删除列上的约束
alter table emp4 drop constraint DF__emp4__e_address__25869641
--删除列
alter table emp4 drop column e_address
/*
mysql:alter table emp4 drop [column]  e_address
*/

添加新列
alter table emp4 add e_address varchar(100) not null
/*mysql: alter table tb_name
  add  colanme data_type [constaint][first|after colname]
*/

修改列 
alter table emp4 alter column e_sal float
/*
mysql:    alter table tb_name modify [column]colname data_type
*/

修改列(添加约束)
  alter table emp4
  add  primary key(emp_no)



SQL Server创建数据库表添加约束的两种形式:
create table emp2(
emp_no int primary key,
e_name varchar(30) not null,
e_gender int check(e_gender=1 or e_gender=0),
e_age int check(e_age>=0 and e_age<=100),
e_sal money  not null,
e_hit  date not null,
e_email varchar(50) unique,
e_address varchar(100) default '住址不详'
)

MySQL、SQL Server通用的形式:
create table emp3(
emp_no int ,
e_name varchar(30) not null,
e_gender int check(e_gender=1 or e_gender=0),
e_age int check(e_age>=0 and e_age<=100),
e_sal money  not null,
e_hit  date not null,
e_email varchar(50) ,
e_address varchar(100) default '住址不详',
constraint pk_emp1  primary key(emp_no),
constraint uq_emp_email  unique(e_email)
)