sql语句设置默认值与外键约束

设置默认值
1:创建表时设置默认值
<字段名> <数据类型> DEFAULT <默认值>;
2:修改表时设置默认值
ALTER TABLE <数据表名>
MODIFY <字段名> <数据类型> DEFAULT <默认值>;
修改列的默认值:
ALTER TABLE <表名>  (删除则用DROP)
ALTER COLUMN <列名> SET DEFAULT<默认值>
设置外键约束
1:在创建从表时设置外键约束
CONATRAINT<外键名>FOREIGN KEY (外键字段名) REFETENCES <主表名>(主表字段名)
2:修改表时设置外键约束
ALTER TABLE<从表名>
ADD CONATRAINT<外键名>FOREIGN KEY (外键字段名) REFETENCES <主表名>(主表字段名)
删除外键约束
ALTER TABLE<表名>DROP FOREIGN KRY 外建名

1:创建学生信息表(T_student_info),并设置性别sex默认值为男;

sql语法语句为“字段名 数据类型 DEFAULT 默认值”

CREAT TABLE T_student_info(
student_no CHAR(6) PRIMARY KEY ,
student_name char(20),
birth DATE,
enter_date int,
address VARCHAR(50)
sex char(2) DEFAULT '男'
);

2:修改表时设置默认约束

sql语法语句为“

ALTER TABLE <数据表名>MODIFY <字段名> <数据类型> DEFAULT <默认值>

例:设置t_sudent_info的生日birth设置默认值为0

ALTER TABLE t_student_info MODIFY birth DATE DEFAULT 0;

1:创建表时设置外键约束

例:创建学生信息表(T_student_info),设置学号的外键约束 

CREATE TABLE T_student_scores(
course_no int(8) PRIMARY KEY,
student_no char(8) ,
ordinary_scores FLOAT,
end_scores FLOAT,
total_scores float,
CONSTRAINT fk1 FOREIGN KEY(student_no)REFERENCES t_student_info(student_no)
);

2:修改表时创建外键约束

例:

ALTER TABLE t_student_scores ADD CONSTRAINT fk1 FOREIGN KEY (student_no)
REFERENCES t_student_info (student_no);

  • 19
    点赞
  • 98
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
sql添加表列字段描述添加默认值删除字段 //删除表 if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[JHCRM_Report_ss]') and OBJECTPROPERTY(id, N'IsUserTable') = 1) drop table [JHCRM_Report_ss] //添加表 if not exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[Table1]') and OBJECTPROPERTY(id, N'IsUserTable') = 1) create table [Table1] ([col1] int,[col2] int) //添加字段 if not exists( select * from syscolumns where syscolumns.[name]='FNewObjectEnd' and syscolumns.[id]=(select id from dbo.sysobjects where id=object_id(N'[dbo].[jsc_financial]') and OBJECTPROPERTY(id, N'IsUserTable') = 1) ) ALTER TABLE jsc_financial ADD FNewObjectEnd int--NULL --添加先用项目结项数 go EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'先用项目结项数' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'jsc_financial', @level2type=N'COLUMN',@level2name=N'FNewObjectEnd' if not exists( select * from syscolumns where syscolumns.[name]='Record_Money' and syscolumns.[id]=(select id from dbo.sysobjects where id=object_id(N'[dbo].[JHCRM_Resource_Record_Main]') and OBJECTPROPERTY(id, N'IsUserTable') = 1) ) ALTER TABLE JHCRM_Resource_Record_Main ADD Record_Money numeric(12, 2)--NULL --资源费用 go EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'资源费用' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'JHCRM_Resource_Record_Main', @level2type=N'COLUMN',@level2name=N'Record_Money' //删除字段 if not exists( select * from syscolumns where syscolumns.[name]=table_Name and syscolumns.[id]=(select id from dbo.sysobjects where id=object_id(N'[dbo].[tableName]')" and OBJECTPROPERTY(id, N'IsUserTable') = 1) ) ALTER TABLE table_Name DROP COLUMN tableName
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值